一行要約
harness はモデルが良くなるほど陳腐化する前提が埋め込まれているので、エージェントを「brain(Claude と harness)/ hands(サンドボックスとツール)/ session(イベントログ)」に分離し、それぞれが独立に落ちたり差し替えられたりできるようにする。
要点
動機
Harnesses encode assumptions that go stale as models improve. harness は、モデルの改善とともに陳腐化していく前提を焼き込んでしまう。
harness にはモデルの当時の限界を前提とした仮定が埋め込まれる。モデルが良くなるとその仮定が足枷になる。解は、構成要素を安定したインターフェースへ仮想化し、実装が変わってもインターフェースは残るようにすること。
原典は “Don’t adopt a pet”(ペットを飼うな)という節でこれを表現している — 個体として愛着を持って世話をする対象ではなく、差し替え可能な部品として扱え、という含意。
3層への分離
| 層 | 中身 |
|---|---|
| brain | Claude とその harness |
| hands | サンドボックスとツール |
| session | イベントログ |
それぞれが独立に失敗し、独立に置き換えられる。
具体的な帰結:
- harness はコンテナの中に住まなくなった。 コンテナは
execute(name, input) → stringというインターフェース越しに呼ぶ - セッションは harness の障害を生き延びる —
wake(sessionId)とgetSession(id)で復帰する - イベントは
emitEvent(id, event)で永続的に記録される
「セッションは Claude の context window ではない」
これがタイトルにもなっている節の主張。
セッションは Claude の context window の外にある context オブジェクトであり、getEvents() を通じてアクセスされる。context window はセッションの一部を映す窓に過ぎない。
この分離があるからこそ、context window が溢れても、harness が落ちても、セッションという事実の記録は失われない。
セキュリティ
Claude が生成したコードが走るサンドボックスには、セキュリティトークンを一切露出させない。
性能
不要なコンテナのプロビジョニングを排除した結果:
| 指標 | 改善 |
|---|---|
| TTFT(time-to-first-token)p50 | 約 60% 短縮 |
| TTFT p95 | 90% 以上短縮 |
p95 の改善幅が p50 より遥かに大きいのは、コンテナ起動待ちが裾を重くしていたことを示している。
そのまま使える具体例
分離のインターフェース(自前の harness を設計するときの雛形):
execute(name, input) → string hands の呼び出し。harness はコンテナの中に住まない
wake(sessionId) harness が落ちてもセッションから復帰する
getSession(id) セッションを取得する
emitEvent(id, event) イベントを永続的に記録する
getEvents() context window の外にある context を読む設計チェックリスト:
□ harness とサンドボックスが同じプロセス/コンテナに同居していないか
→ 同居していると片方の障害がもう片方を巻き込む
□ セッションの記録が context window の中にしかないか
→ 溢れた時点で失われる。外部のイベントログにする
□ サンドボックスに認証情報が入っていないか
→ Claude の生成コードが走る場所にトークンを置かない
□ harness にモデルの現在の限界を前提とした仮定が埋まっていないか
→ モデルが良くなると足枷になる原典で言及されている関連文書
- effective-harnesses-for-long-running-agents — セッションを跨ぐ状態管理の具体的な成果物
- building-effective-agents — 「最も単純な解から始めよ」との接続
- effective-context-engineering-for-ai-agents — context window の外に状態を置く設計
- compaction — context window 側の管理手段
- https://platform.claude.com/docs/en/managed-agents/overview — Managed Agents のドキュメント
未取得の派生リンク
- https://arxiv.org/pdf/2512.24601 — context の保存に関する論文(原典が参照)