2.9 KiB
2.9 KiB
MissionUpdate
タスクの Mission Brief(goal / done / open / clarifications)を更新するメタツール。allowed_tools に書かなくても常時利用可能(META_TOOL)。
Mission Brief は毎 movement のシステムプロンプト冒頭に常に描画され、会話が長くなった後やステップをまたいでも消えない「参照点」になる。ユーザーも Overview タブから直接編集できる。
いつ使うか
- 新規タスクの最初のツール呼び出しで
goalを必ず set する。 ユーザーが最初に依頼した本質的な要件を verbatim(言い換えず原文のまま)で固定する。後で会話が長くなっても、ここを見れば「本来何を頼まれたか」がぶれない。 - 作業の節目で
done(完了したマイルストーン)とopen(残作業・ブロッカー)を更新する。重複作業の防止と、次の一手の見通しに使う。 - ユーザーが途中で補足・制約を足してきたら
clarificationsに記録する(「これは壊さないで」「言語は英語で」など)。
引数
| 引数 | 説明 |
|---|---|
goal |
タスク全体のゴール。ユーザーの本質的な要件を原文で。Markdown 可 |
done |
これまでに完了した主要マイルストーン。箇条書き推奨 |
open |
残っている作業・未解決のブロッカー。箇条書き推奨 |
clarifications |
ユーザーから追加された補足・制約。Markdown 可 |
すべて任意だが、最低1つは指定する必要がある(全フィールド未指定はエラー)。
部分置換セマンティクス
指定したフィールドだけが上書きされ、未指定のフィールドは現状のまま残る。done だけ渡せば goal は変わらない。
// 冒頭: goal を固定
MissionUpdate({ goal: "売上 CSV を月次集計して棒グラフ付き PDF にする" })
// 進行中: 完了分と残りを更新(goal はそのまま)
MissionUpdate({ done: "- CSV パース\n- 月次集計", open: "- PDF レンダリング" })
制約・注意
- 各フィールドは 2000 文字で打ち切られる(超過分は
…[truncated]付きで切られる)。要点を簡潔に。 - 全フィールドを空文字で渡すと Mission Brief はクリアされる。
- サブタスクなど
local_taskに紐付かない実行コンテキストでは使えない。その場合は no-op としてエラーを返すので、サブタスク側では呼ばないこと。 - 保存単位はタスク(per-LocalTask)。ジョブや movement 単位ではないので、ASK ラウンドや follow-up メッセージをまたいでも保持される。
関連
ステップ間で得た教訓は transition / complete の lessons フィールドで記録する(Mission Brief とは別系統)。