プランモードとタスク追跡
Triggerfishは構造化された作業のための2つの補完的なツールを提供します:複雑な実装計画のための プランモードと、セッションをまたぐタスク管理のためのtodoトラッキング。
プランモード
プランモードはエージェントを変更を行う前に読み取り専用の探索と構造化計画に制限します。これにより エージェントが問題を理解する前に実装に飛び込むことを防ぎます。
ツール
plan_enter
プランモードに入ります。プランが承認されるまで書き込み操作(write_file、cron_create、 cron_delete)をブロックします。
| パラメーター | タイプ | 必須 | 説明 |
|---|---|---|---|
goal | string | はい | エージェントが構築/変更を計画していること |
scope | string | いいえ | 探索を特定のディレクトリまたはモジュールに制限 |
plan_exit
プランモードを終了し、ユーザー承認のために実装計画を提示します。自動的に実行を開始しません。
| パラメーター | タイプ | 必須 | 説明 |
|---|---|---|---|
plan | object | はい | 実装計画(summary、approach、steps、risks、files、tests) |
計画オブジェクトに含まれるもの:
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トラッキング
エージェントはセッションをまたいでマルチステップの作業を追跡するための永続的なtodoリストを持ちます。
ツール
todo_read
現在のtodoリストを読み取ります。すべてのアイテムをID、コンテンツ、ステータス、優先度、タイムスタンプと共に返します。
todo_write
todoリスト全体を置き換えます。これは部分的な更新ではなく完全な置き換えです。
| パラメーター | タイプ | 必須 | 説明 |
|---|---|---|---|
todos | array | はい | Todoアイテムの完全なリスト |
各Todoアイテムは以下を持ちます:
| フィールド | タイプ | 値 |
|---|---|---|
id | string | 一意の識別子 |
content | string | タスクの説明 |
status | string | pending、in_progress、completed |
priority | string | high、medium、low |
created_at | string | ISOタイムスタンプ |
updated_at | string | ISOタイムスタンプ |
動作
- Todoはセッションごとではなくエージェントごとにスコープされます — セッション、トリガーの起動、 再起動をまたいで永続します
- エージェントは本当に複雑なタスク(3つ以上の異なるステップ)のみにtodoを使用します
- 一度に1つのタスクが
in_progressです;完了したアイテムは即座にマークされます - エージェントが以前に保存されたアイテムを省略した新しいリストを書くと、それらのアイテムは自動的に
completedとして保持されます - すべてのアイテムが
completedになると、古いアイテムは保持されません(クリーンスレート)
表示
TodoはCLIとTidepoolの両方でレンダリングされます:
- CLI — ステータスアイコン付きのスタイル付きANSIボックス:
✓(完了、取り消し線)、▶(進行中、太字)、○(保留) - Tidepool — 各ステータスのCSSクラス付きHTMLリスト
