플랜 모드 및 작업 추적
Triggerfish는 구조화된 작업을 위한 두 가지 보완적 도구를 제공합니다: 복잡한 구현 계획을 위한 플랜 모드와 세션 간 작업 관리를 위한 할 일 추적.
플랜 모드
플랜 모드는 변경을 수행하기 전에 에이전트를 읽기 전용 탐색과 구조화된 계획으로 제한합니다. 이는 에이전트가 문제를 이해하기 전에 구현에 뛰어드는 것을 방지합니다.
도구
plan_enter
플랜 모드에 진입합니다. 계획이 승인될 때까지 쓰기 작업(write_file, cron_create, cron_delete)을 차단합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
goal | string | 예 | 에이전트가 빌드/변경하려는 것 |
scope | string | 아니오 | 특정 디렉터리나 모듈로 탐색을 제한 |
plan_exit
플랜 모드를 종료하고 사용자 승인을 위해 구현 계획을 제시합니다. 자동으로 실행을 시작하지 않습니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
plan | object | 예 | 구현 계획 (요약, 접근 방식, 단계, 위험, 파일, 테스트) |
계획 객체에는 다음이 포함됩니다:
summary-- 계획이 달성하는 것approach-- 어떻게 수행될 것인지alternatives_considered-- 평가된 다른 접근 방식steps-- 각각 파일, 종속성, 검증을 가진 순서화된 구현 단계 목록risks-- 알려진 위험 및 완화 방안files_to_create,files_to_modify,tests_to_writeestimated_complexity
plan_status
현재 플랜 모드 상태를 반환합니다: 활성 모드, 목표, 계획 진행 상황.
plan_approve
대기 중인 계획을 승인하고 실행을 시작합니다. 사용자가 승인할 때 호출됩니다.
plan_reject
대기 중인 계획을 거부하고 일반 모드로 돌아갑니다.
plan_step_complete
실행 중 계획 단계를 완료로 표시합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
step_id | number | 예 | 완료로 표시할 단계 ID |
verification_result | string | 예 | 검증 명령의 출력 |
plan_complete
전체 계획을 완료로 표시합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
summary | string | 예 | 달성된 내용 |
deviations | array | 아니오 | 원래 계획에서의 변경 사항 |
plan_modify
승인된 계획 단계의 수정을 요청합니다. 사용자 승인이 필요합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
step_id | number | 예 | 변경이 필요한 단계 |
reason | string | 예 | 변경이 필요한 이유 |
new_description | string | 예 | 업데이트된 단계 설명 |
new_files | array | 아니오 | 업데이트된 파일 목록 |
new_verification | string | 아니오 | 업데이트된 검증 명령 |
워크플로우
1. 사용자가 복잡한 것을 요청합니다
2. 에이전트가 plan_enter({ goal: "..." })를 호출합니다
3. 에이전트가 코드베이스를 탐색합니다 (읽기 전용 도구만)
4. 에이전트가 plan_exit({ plan: { ... } })를 호출합니다
5. 사용자가 계획을 검토합니다
6. 사용자가 승인 → 에이전트가 plan_approve를 호출
(또는 거부 → 에이전트가 plan_reject를 호출)
7. 에이전트가 단계별로 실행하며 각 후 plan_step_complete를 호출
8. 에이전트가 완료되면 plan_complete를 호출플랜 모드 사용 시기
에이전트는 복잡한 작업에 대해 플랜 모드에 진입합니다: 기능 빌드, 시스템 리팩토링, 다중 파일 변경 구현. 간단한 작업(오타 수정, 변수 이름 변경)의 경우 플랜 모드를 건너뛰고 직접 행동합니다.
할 일 추적
에이전트는 세션 간 다단계 작업을 추적하기 위한 영구 할 일 목록을 가집니다.
도구
todo_read
현재 할 일 목록을 읽습니다. 모든 항목의 ID, 내용, 상태, 우선순위, 타임스탬프를 반환합니다.
todo_write
전체 할 일 목록을 교체합니다. 부분 업데이트가 아닌 완전한 교체입니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
todos | array | 예 | 할 일 항목의 전체 목록 |
각 할 일 항목에는 다음이 있습니다:
| 필드 | 유형 | 값 |
|---|---|---|
id | string | 고유 식별자 |
content | string | 작업 설명 |
status | string | pending, in_progress, completed |
priority | string | high, medium, low |
created_at | string | ISO 타임스탬프 |
updated_at | string | ISO 타임스탬프 |
동작
- 할 일은 에이전트별(세션별이 아님)로 범위가 지정됩니다 -- 세션, 트리거 기상, 재시작을 넘어 유지됩니다
- 에이전트는 진정으로 복잡한 작업(3개 이상의 구별되는 단계)에만 할 일을 사용합니다
- 한 번에 하나의 작업이
in_progress입니다; 완료된 항목은 즉시 표시됩니다 - 에이전트가 이전에 저장된 항목을 생략하는 새 목록을 쓰면 해당 항목은 자동으로
completed로 보존됩니다 - 모든 항목이
completed이면 이전 항목은 보존되지 않습니다 (깨끗한 상태)
표시
할 일은 CLI와 Tidepool 모두에서 렌더링됩니다:
- CLI -- 상태 아이콘이 있는 스타일된 ANSI 박스:
✓(완료, 취소선),▶(진행 중, 굵게),○(대기) - Tidepool -- 각 상태에 대한 CSS 클래스가 있는 HTML 목록
