Part 10:Agent Loop エンジニアリング
Part 9 では Agent に Harness が必要な理由を扱いました。Part 10 では長いコンテキスト、大きなツール面、再起動、実行中の追加指示、Provider の停止、反復動作、並列呼び出しに耐える Runtime の仕組みを掘り下げます。
公開ソースのスナップショット:実装例は 2026-07-27 に確認した Kocoro 公開
origin/mainのコミット4ec6772に基づきます。学ぶべき対象は不変条件であり、定数は最新ソースで再確認してください。
章マップ
| 章 | トピック | 答える問い |
|---|---|---|
| 34 | DAG から Agent Loop へ | 決定的な DAG から適応型 Agent Loop へ切り替える条件と、常駐 Daemon が Turn ごとに再構築すべき状態を説明します。 |
| 35 | コンテキスト圧縮 | オーバーフロー前に動作し、要約を検証し、緊急復旧経路を残す段階的なコンテキスト圧縮を設計します。 |
| 36 | Tool Result の予算と退避 | 大きな Tool Result を Prompt 外へ退避し、有用なプレビューと永続ポインタを残す方法を説明します。 |
| 37 | 階層型圧縮 | 新しいツール証拠を保持し、古い結果を経過時間と価値に応じて段階的に圧縮する方法を説明します。 |
| 38 | Deferred Tool Loading と Tool Search | Token 予算、カテゴリ別遅延、Warm Set、Tool Search により MCP Tool Schema の肥大化を抑えます。 |
| 39 | Prompt Cache の安定性 | 安定した Prompt 接頭辞、byte-equal な fork request、実行時権限判定で Prompt Cache 再利用を高めます。 |
| 40 | 永続的な Agent Loop | フェーズ境界 Checkpoint、中断マーカー、有限の無人復旧、冪等な永続化で再開可能な Agent Turn を設計します。 |
| 41 | 実行中 Agent のステアリング | 実行中 Agent が追加指示を取り込み、宛先を保持し、Delivery Ack と再送を分け、安全に中断する方法を説明します。 |
| 42 | Agent のタイムアウトと Watchdog | Soft Idle 警告、Hard Cancel、Stream gap 検出、フェーズ認識ポリシーを分けて Agent のハングを扱います。 |
| 43 | スタックループ検出 | 相補的な進展シグナル、有限の Nudge、ForceStop、公開された zero-byte write 事例からスタックループ検出を構築します。 |
| 44 | ツールの並列実行 | 呼び出し単位の並列 Trait、順序付き結果対応、保守的な Bash 分類で安全な並列ツール実行を説明します。 |
| 45 | Computer Use のコンテキスト管理 | テキスト観測、browser screenshot、全体画像予算を分離し、GUI Loop の Prompt 増大を抑えます。 |
推奨読書順
- コンテキストとコスト:35 → 36 → 37 → 38 → 39
- 永続性と制御:40 → 41 → 42
- 信頼性、速度、GUI コンテキスト:43 → 44 → 45
- DAG ワークフローから:34 → 40 → 43 → 44
ソース境界
Kocoro 公開 origin/main で Git 管理されているファイルだけを使用します。ローカル限定の設計資料、未 push ブランチ、非公開 postmortem、ホストサービスのトポロジ、内部 Token、非公開リポジトリのパスは対象外です。
第 45 章は Observation Window と画像予算の実装が公開 origin/main に入ったため収録しました。