TAKT에 대해 TAKT에게 묻기: 상황 확인부터 재실행까지
요약
TAKT의 TUI에 어시스턴트 상담 기능을 추가하여, 사용자가 복잡한 AI 태스크 실행 과정에서 발생하는 불안감을 해소했습니다. 이 어시스턴트는 TAKT 자체 태스크 로그, 공정별 리포트를 조사하여 현재 진행 상황을 분석하고, 남은 지적 사항이나 실패 원인에 대해 상세히 답변합니다. 또한 `/retry` 명령으로 지시서를 개정하고 재개하거나, `/requeue`로 단순 재실행할 수 있는 기능을 제공합니다.
핵심 포인트
- 어시스턴트가 TAKT 로그와 리포트를 분석하여 실시간 진행 상황을 파악 가능
- 남은 지적 사항의 질이나 실패 원인을 상세히 상담받고 해결책 도출
- `/retry` 명령으로 요건 변경에 맞춰 태스크를 재개하고 워크플로우 완료
- 요건 변경 없이 단순 재실행 시 `/requeue` 사용 가능하여 효율성 증대
TAKT의 태스크는 장시간 실행될 수 있습니다.
구현하고, 리뷰를 받고, 지적 사항을 수정하고, 다시 리뷰하는 과정이 반복됩니다.
맡겨두고 있다 보면 점점 궁금해지기 시작합니다.
'아직 돌아가고 있지만, 정말로 수렴하고 있는 걸까?'
같은 부분을 여러 번 왕복하고 있는 건 아닌가. 고칠 때마다 다른 지적이 늘어나고 있는 건 아닌가.
이대로 기다려도 괜찮은지, 무언가를 전달해야 하는지.
그래서 그 불안감을 해소하기 위해 TAKT의 TUI에서 실시간으로 어시스턴트와 상담할 수 있도록 했습니다!
TAKT 자체 태스크나 실행 로그, 각 공정별 리포트를 어시스턴트가 조사하여 답변합니다.
이번에는 TAKT 어시스턴트와의 실제 대화 예시를 통해 이 기능을 소개하겠습니다.
리뷰가 지연되는 이유 묻기
태스크를 실행하는 프로젝트에서 takt을 실행하면, 어시스턴트와 대화할 수 있습니다.
다른 터미널에서 takt run이나 takt watch를 구동하고 있는 중에도 여기서 상황을 물어볼 수 있습니다.
takt
우선 상황을 물어봅니다.
지금 돌아가고 있는 run의 상황은 어떤가요?
이 질문에 대해 어시스턴트는 병렬로 진행되던 두 개의 태스크 로그를 조사했습니다.
하나는 리뷰에서 지적된 문제 수정 중이고, 다른 하나는 수정 후 리뷰 중입니다.
현재 공정에 더해, 거기까지 어떤 과정을 반복했는지도 알려주었습니다.
하지만 수정과 리뷰를 반복하고 있다는 것만 알 뿐, 끝이 보이는지는 알 수 없습니다.
그래서 남은 지적 사항의 내용을 묻습니다.
남은 건의 질을 봐줘
어시스턴트는 각 공정별 리포트를 읽고 코드와 대조했습니다.
한쪽에서는 이미 조작 확인 결과가 구현 보고서에 기록되어 있었습니다.
그럼에도 실제 설정에서 같은 확인을 다시 요구하며 왕복하고 있다는 답변이었습니다.
다른 하나의 run에는 요건과 직결되는 회귀 테스트(regression test) 부족이 있었고, 이 부분은 필요한 수정이라고 판단했습니다.
/retry로 지시서를 고치기
실패 이유를 상담하고, 태스크가 실패했을 때는 멈춘 이유와 향후 방침을 상담합니다.
하나 실패했는데 상황 좀 봐줘
어시스턴트는 대상 태스크를 특정하고, 지시서(instruction)와 실행 기록을 조사해줍니다.
그 결과 밝혀진 것은 OpenCode의 Skill을 TAKT에서 제어하는 기능 구현 과정에서 멈췄다는 것입니다.
Skill 실행을 무효화하는 처리는 되어 있었지만, 한 번 유효하게 만든 세션에 남아있는 설명문까지 안전하게 제거하기는 어려워 요건의 일부를 충족하지 못하고 멈춰 있었습니다.
그래서 설명문이 남는 것은 이미 알려진 제약 사항으로 문서에 기재하고, Skill 실행을 무효화하는 요건은 유지하여 진행하기로 대화로 결정했습니다.
변경할 요건과 재개 위치를 정리하자, 어시스턴트로부터 다음 안내가 나옵니다.
지시서를 바꾸지 않고 되돌리기
/requeue도 있지만, 이번에는 요건이 바뀌므로 /retry가 적절합니다.
같은 대화에서 /retry를 입력합니다.
/retry
이 명령으로 AI 에이전트는 지시서를 개정하고, 재개 위치까지 TAKT에 전달됩니다.
태스크는 실행 대기 상태가 되므로, takt run을 실행하면 계속 진행합니다.
참고로 이 예시에서는 구현 및 검증 결과를 인계받아 계획을 재검토하는 공정부터 재개했습니다.
또한 지시서가 개정되었으므로 막힘없이 워크플로우가 완료되었습니다.
한편, 일시적인 오류였거나 지시서를 바꾸지 않고 재실행하면 되는 경우에는 /requeue를 사용할 수 있습니다.
/requeue
이것은 지시서를 변경하지 않고 대상과 시작 위치를 확인하여 큐로 되돌립니다.
일반적인 어시스턴트 대화에서는 워크플로우의 단계 수 제한으로 멈춘 태스크도 대상입니다. 그 경우에는 저장된 정지 위치를 인계받습니다.
/tell로 전달하기
실행 중인 태스크에는 실행 중인 태스크에게 보충 설명을 전달하기 위해 /tell도 준비되어 있습니다.
대상은 TAKT의 작업용 클론에서 돌아가고 있는 태스크입니다.
TUI 대화에서 전달할 내용을 상담하고, /tell로 전송지와 내용을 확인합니다.
추가 지시는 실행 중인 태스크가 다음 공정으로 진행될 때 전달됩니다.
/tell
이 추가적인 전달 사항은 단계가 바뀐 타이밍 등 요점에서 읽힙니다.
물론 추가 지시를 보낸 후의 상황도 대화에서 확인할 수 있습니다.
실제 예시로 살펴보겠습니다.
Requeue 해버렸으니 다시 tell 해야겠다
일단 상황 확인해 줘
이것은 tell을 실행한 직후 requeue해 버렸기 때문에, 실행 후에 다시 tell한 예시입니다.
이러한 모호한 요청이라도 AI 에이전트는 적절하게 상황을 판단하여 처리해 줍니다.
구체적으로는 어시스턴트가 배포 기록이나 리포트를 조사하여, 두 번째 지시는 이미 도착했고 심사 보고서에도 반영되어 있음을 알아냈습니다.
즉, 재송신은 필요하지 않으며, 다음 수정 결과를 기다리라고 권유합니다.
/tell
은 실행 중인 태스크에 대한 추가 지시이며, 지시서를 덮어쓰는 작업이 아닙니다.
상황을 지켜보면서 수렴 상황이 좋지 않거나 방향성이 달라졌을 때 사용해 보세요.
궁금할 때 그대로 물어보기
오랫동안 실행 중인 태스크의 상황이 궁금하다면, 다른 터미널에서 takt
을 열고 '지금 어떻게 돼가?'라고 물어보세요.
각 명령어의 자세한 사용법은 CLI 레퍼런스와 태스크 관리에 기재되어 있습니다.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기