# Managed Agentsのセルフホストサンドボックス実装

> Claude Managed AgentsのEnvironmentWorkerは、ツール実行を自社インフラに保ちながらメモリストアを既定15秒間隔（最短5秒）でローカルに同期する仕組みを持つ。

- Canonical: https://kuucorp.com/blog/managed-agents-self-hosted-sandbox-memory-sync-design/
- Date: 2026-09-07
- Last modified: 2026-09-07
- Publisher: Kuu株式会社 (https://kuucorp.com)

---
「エージェントに社内システムを触らせたいが、コードもファイルもAnthropicのクラウドには置けない」——[Managed Agents](/glossary/managed-agents/)を検討するプラットフォームエンジニアが必ず突き当たる壁がこれだ。モデル推論はAnthropic側に残しつつ、ツール実行だけを自社インフラに持ち込む「セルフホストサンドボックス」は、この壁への公式な回答として提供されている。本記事はEnvironmentWorkerの実行パターンと、状態を持つメモリストアの同期設計を一次情報から整理する。

## セルフホストサンドボックスは何を解決するのか

> セルフホストサンドボックスはツール実行のみを自社インフラに移し、モデル推論はAnthropic側に残す構成である。

エージェントが読み書きするファイルシステム、起動するプロセス、到達できるネットワークはすべて自社の管理下に置かれる一方、ツールの入出力はAnthropicの制御プレーンに送られてモデルが次の行動を判断する。これは、社外に出せないデータを扱う場合や、公開ルーティングされていない内部サービスに到達させたい場合、自社のコンプライアンス統制を適用したい場合に向く構成であり、[RDE](https://kuucorp.com/services/rde/)のような大規模導入で要件になりやすい。

## EnvironmentWorkerはどのようにセッションを処理するのか

> 自社インフラで動くEnvironmentWorkerがキューからセッションを取得し、ツール呼び出しを実行して結果を返す。

`self_hosted`環境はワークキューとして機能し、セッションが割り当てられると自社のワーカーがそれを取得してスキルをダウンロードし、ツールを実行して結果を投稿する。実装パターンは3種類ある。常時稼働してキューをポーリングし続ける「Always-On」、`session.status_run_started`イベントでのみ起動しアイドルポーリングを避ける「Webhook駆動」、セッションごとに隔離されたファイルシステムとリソース制限を持つ「サンドボックス・パー・セッション」だ。認証はClaude APIキーではなく、Consoleでのみ発行できる環境キー（`ANTHROPIC_ENVIRONMENT_KEY`）で行う。

## メモリストアはどうサンドボックス内で同期されるのか

> メモリストアは`/mnt/memory/`配下にローカルコピーとして展開され、既定15秒間隔（最短5秒）で同期される。

クラウドサンドボックスではメモリストアはライブマウントされるが、セルフホスト環境ではSDKのワーカーがツール実行前に各ストアを`mount_path`（例: `/mnt/memory/user-preferences/`）にダウンロードし、ローカルコピーとして管理する。同期間隔は`memory_sync_interval`で調整でき、最短5秒まで短縮できる。セッション終了時には最大30秒の最終同期が走る。エージェントがローカルで変更した内容が同期前にストア側でも変更されていた場合、ワーカーはストア側の内容を優先してローカルを上書きし警告を出す設計になっており、`read_only`アクセスで接続したストアには一切アップロードしない。

## 運用時にどこに注意すべきか

> 同一ストアを複数セッションで同時マウントできないため、セッションごとのファイルシステム隔離が必須になる。

ホスト上では、同じメモリストアを複数セッションが同時にマウントすることは許されず、サンドボックス・パー・セッション構成での隔離が事実上の前提になる。ワーカーの停止は`SIGKILL`ではなく`SIGTERM`/`SIGINT`で行う必要があり、強制終了すると未同期の変更が失われるため`/mnt/memory/`配下の残存ディレクトリを手動で片付けなければならない。また、AWS上のClaude Platformではセルフホスト環境にメモリストアを接続できないという制約があり、`file`や`github_repository`リソースも同様に非対応で、指定すると400エラーになる。一方でセルフホストサンドボックスはゼロデータ保持やHIPAA BAAの対象になり得るため、規制業種の導入判断材料になる。

## 参考

- [Self-hosted sandboxes - Claude Platform Docs](https://platform.claude.com/docs/en/managed-agents/self-hosted-sandboxes)
- [Using agent memory - Claude Platform Docs](https://platform.claude.com/docs/en/managed-agents/memory)
- [API and data retention - Claude Platform Docs](https://platform.claude.com/docs/en/manage-claude/api-and-data-retention)

## まとめ

セルフホストサンドボックスは、モデル推論をAnthropicに委ねつつツール実行とデータを自社境界内に留める設計であり、EnvironmentWorkerの実行パターン選択とメモリストアの同期間隔・競合解決の理解が実装の要になる。特にAWS上のClaude Platformでのメモリストア非対応や、強制終了時の後片付けは見落とすと本番障害につながる。自社基盤へのManaged Agents導入設計から運用まで一貫した支援が必要な場合は、[Kuuの RDE](https://kuucorp.com/services/rde/)にご相談ください。
