Claude Platform Docs
Managed Agentsセルフホスト型サンドボックス

セルフホスト型サンドボックス

Claude Managed Agentsのセッションをセルフホスト型サンドボックスで実行し、ツールの実行、ファイル、ネットワークのエグレスを自社のインフラストラクチャ内に保持します。

セルフホスト型サンドボックスは、エージェントのツール実行をAnthropicが管理するクラウドサンドボックスから、お客様が管理するインフラストラクチャへと移します。エージェント自体の実行は引き続きAnthropicが担います。これが何を意味するのかを理解し、お使いのエージェントに適しているかどうかを判断するには、エージェント環境の選択を参照してください。

仕組み

self_hosted環境はワークキューとして機能します。お客様は、そのキューを処理する自社インフラストラクチャ上のプロセスである「environment worker」(環境ワーカー)を実行します。

  1. 環境を対象とするセッションを作成します。Anthropicはそのセッションをワークアイテムとしてキューに追加します。
  2. ワーカーがワークアイテムを取得し、エージェントのスキルとセッションのメモリストアをダウンロードします。
  3. ClaudeはAnthropic側で実行され、ツール呼び出しをリクエストします。ワーカーは各呼び出しをローカルで実行し、結果を送り返します。

ツールの入力と出力は引き続きAnthropicのコントロールプレーンに送られるため、モデルは結果を確認して次に何をすべきかを判断できます。スキルとメモリストアはAnthropicが保存します。サンドボックスはセッション用のコピーを保持します。データフローの境界の全体像については、セキュリティモデルを参照してください。

セルフホスト型サンドボックスは、Managed Agentsで利用可能なすべてのClaudeモデルをサポートしています。モデルは環境ではなくエージェントで設定します。

ant CLIと、Python、TypeScript、GoのSDKには、ビルド済みのワーカーが付属しています。Cloudflare、Daytona、Modalなどのサンドボックスプロバイダーも、独自のプラットフォームガイドを公開しています。

クイックスタート

このクイックスタートでは、ant CLIで常時稼働のワーカーを1つ実行し、そこにセッションを送信して、エージェントのツール呼び出しがお客様のホスト上で実行されたことを確認します。

前提条件

  • エージェント: まだお持ちでない場合は、先にClaude Managed Agentsを始めるを完了し、エージェントIDを控えておいてください。
  • Linuxホスト: ホストには、まさにそのパスに/bin/bashが必要です。ワーカーに必要なのはアウトバウンドのHTTPSのみです。
  • Claude APIキー: セッションの作成とキュー統計の読み取りのために、お客様自身のマシンから使用します。エージェントのツール呼び出しから読み取られる可能性があるため、ワーカーホストには置かないでください。
  • お客様自身のマシン上のant CLIまたはSDK: このクイックスタートの統計とセッションの手順は、ワーカーホストではなくそこで実行します。ワーカー用のインストール手順と同じ方法でCLIをインストールするか、SDKをインストールしてください。

最初のセッションを実行する

  1. セルフホスト型環境を作成する

    Claude ConsoleでEnvironmentsページ(platform.claude.com/environments)に移動し、Create environmentをクリックして、HostingでSelf-hostedを選択します。

    またはAPIを使用します:

    ant apply environment.yaml
    environment.yaml
    # yaml-language-server: $schema=https://platform.claude.com/schemas/ant/beta/environment.json
    name: self-hosted
    config:
      type: self_hosted
  2. 環境キーを生成する

    Consoleで環境を開き、Generate environment keyをクリックします。環境キーは、ワーカーをそのキューに対して認証します。APIで作成した環境であっても、環境キーはConsoleでのみ生成できます。

    ワーカーホストで環境IDとキーをエクスポートします:

    export ANTHROPIC_ENVIRONMENT_KEY="sk-ant-oat01-..."
    export ANTHROPIC_ENVIRONMENT_ID="env_..."
  3. ant CLIをインストールする

    これをワーカーホストで実行します。

    Linux環境では、リリースバイナリを直接ダウンロードします。

    VERSION=1.42.0
    OS=$(uname -s | tr '[:upper:]' '[:lower:]')
    case $(uname -m) in
      x86_64) ARCH=amd64 ;;
      aarch64) ARCH=arm64 ;;
    esac
    curl -fsSL "https://github.com/anthropics/anthropic-cli/releases/download/v${VERSION}/ant_${VERSION}_${OS}_${ARCH}.tar.gz" \
      | sudo tar -xz -C /usr/local/bin ant

    すべてのリリースはGitHubのリリースページで確認できます。

  4. ワーカーを起動する

    作業ディレクトリを作成してから、ワーカーを起動します。--workdirのデフォルトは現在のディレクトリなので、システムのデフォルトに合わせて/workspaceを渡してください。

    sudo mkdir -p /workspace && sudo chown "$USER" /workspace
    ant beta:worker poll --workdir /workspace

    ワーカーはエクスポートした2つの変数を読み取り、停止するまでポーリングを続けます。

  5. ワーカーが接続されていることを確認する

    お客様自身のマシンで、ANTHROPIC_API_KEYにClaude APIキー(環境キーではありません)を、environment_idに環境IDを設定します。workers_pollingが1以上であることを確認してください:

    client = anthropic.Anthropic()
    
    stats = client.beta.environments.work.stats(environment_id)
    print(f"workers_polling={stats.workers_polling}")

    workers_pollingが0のままの場合は、トラブルシューティングを参照してください。

  6. セッションを開始する

    agent_idにエージェントのIDを設定します。環境を対象とするセッションを作成し、タスクを送信します:

    session = client.beta.sessions.create(
        agent=agent_id,
        environment_id=environment_id,
    )
    
    client.beta.sessions.events.send(
        session.id,
        events=[
            {
                "type": "user.message",
                "content": [
                    {
                        "type": "text",
                        "text": 'Write the output of "uname -a" to hello.txt in your working directory.',
                    },
                ],
            },
        ],
    )

    セッションは、ワーカーが取得するまで環境のキューで待機します。ワーカーが接続されていない場合、セッションは失敗せずにキューに入ったままになります。

  7. ツールがホスト上で実行されたことを確認する

    ワーカーホストで、エージェントが書き込んだファイルを読み取ります:

    cat /workspace/hello.txt

    このファイルにはお客様自身のホストのカーネルが記述されているため、エージェントのツール呼び出しがそこで実行されたことがわかります。エージェントの作業をリアルタイムで追跡するには、セッションイベントストリームを参照してください。

セッションリソース

セルフホスト型サンドボックスはmemory_storeリソースのみをサポートします。fileまたはgithub_repositoryリソースを含むセルフホスト型環境上のセッションは、400エラーで拒否されます:

Environment env_... is a self-hosted environment. `resources` are not supported with self-hosted environments.

セルフホスト型環境を対象とするデプロイメントにも同じルールが適用されます。セッションに独自の入力ファイルを渡すには、セッション用にファイルをステージングするを参照してください。

セルフホスト型サンドボックスとMCPトンネル

セルフホスティングはエージェントのコードがどこで実行されるかを制御します。MCPトンネルはAnthropicがお客様のネットワーク内のMCPサーバーにどのように到達するかを制御します。この2つは独立しています:

  • Anthropicのクラウドサンドボックス内のセッションは、トンネルを介してプライベートなMCPサーバーに到達できます。たとえば、プライベートなMCPサーバーが、ファイアウォールの内側にあるデータベースや内部APIの前段に配置されている場合があります。
  • セルフホスト型のセッションは、トンネル経由のMCPサーバーとパブリックなMCPサーバーのどちらも使用できます。

実行とツールアクセスの両方を境界内にとどめたい場合は、両方を使用してください。トンネルを使わない場合は、ワーカーが提供するカスタムツールとしてMCPサーバーをラップします。

プラットフォームガイド

これらのページでは、任意のサンドボックスプラットフォーム上でワーカーを構築する方法を説明しています。プラットフォーム固有のガイドも利用できます:

次のステップ

SDKワーカーを実行する、Webhookからワーカーをトリガーする、または各セッションに専用のサンドボックスを割り当てます。

ホストを準備し、同期を設定し、読み取り専用ストアと競合を処理します。

ネットワーク内のMCPサーバーのツールを含め、独自のツールをワーカーから提供します。

キューの深さを読み取り、セッションとワーカーを正常に停止し、一般的な障害を修正します。

CLIフラグ、環境変数、ファイルシステムのパス、SDKヘルパーのオプション。

セルフホスト型サンドボックス環境の責任共有モデル。

Was this page helpful?