Anthropicのエンジニアリングブログに「Scaling Managed Agents: Decoupling the brain from the hands」という記事が公開されました。
AIエージェントを本格的にスケールさせるための設計思想が詰まった内容で、エージェント開発に携わる人にとって必読の記事です。
🎯 記事のテーマ
エージェントの構成要素を「脳(Claude + Harness)」「手(Sandbox + Tools)」「セッション(イベントログ)」の3つに分離し、それぞれを独立して交換・再起動できるようにする設計方針。
📊 Pet vs Cattle — ペットから家畜へ
初期設計では全てのコンポーネントを1つのコンテナに詰め込んでいました。しかしこれでは「ペット」(死ぬと困る個体)になってしまい、コンテナが落ちるとセッションも失われる。
分離設計にすることで、各コンポーネントは「家畜」(死んでも作り直せる)になります。コンテナが死んでも、Harnessがエラーを捕捉して新しいコンテナを立ち上げ、処理を継続できる。
🔑 3つの重要な学び
1. Harnessはコンテナの外に
Harnessはコンテナを execute(name, input) → string として呼ぶだけ。コンテナが死んでも「ツール呼び出しエラー」としてClaudeに返し、リトライ判定はClaudeに任せる。
2. セキュリティ境界の分離
認証情報をサンドボックスに置かない。Git トークンは初期化時だけ使い、MCP ツールはプロキシ経由でvaultから取得。Harness自体は認証情報を一切知らない。
3. セッション ≠ コンテキストウィンドウ
長時間タスクではコンテキストウィンドウを超える。compaction(要約保存)やmemory tool(ファイルへの書き出し)で対応するが、「どのトークンを残すか」の決定は不可逆的で難しい。Sessionはこの問題を「全てのイベントを追記ログとして保持する」で解決する。
💡 筆者の感想
この設計思想は、組織のAI導入にも通じると感じました。「全部1つのコンテナに詰め込む」=「各部署がバラバラにAIを導入する」と同じ問題を抱えている。
Anthropic自身が「密結合は破綻する。分離して疎結合にせよ」と結論づけたことは、エージェント開発に限らず、組織全体のシステム設計にも示唆に富んでいます。
「人が介在する部分がボトルネックになる」という課題に対して、「脳と手を分離し、つなぎ目をシステム化する」という回答。まさに今の時代が求めている設計思想だと思います。
🔗 参考
- Scaling Managed Agents: Decoupling the brain from the hands(Anthropic Engineering Blog)
- Managed Agents Docs(Claude Platform Docs)