環境は、エージェントが実行されるコンテナ設定を定義します。環境を一度作成し、セッションを開始するたびにそのIDを参照します。複数のセッションが同じ環境を共有できますが、各セッションは独自の分離されたコンテナインスタンスを取得します。
すべてのManaged Agents APIリクエストには、managed-agents-2026-04-01ベータヘッダーが必要です。SDKはベータヘッダーを自動的に設定します。
environment=$(curl -fsS https://api.anthropic.com/v1/environments \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01" \
-H "content-type: application/json" \
--data @- <<'EOF'
{
"name": "python-dev",
"config": {
"type": "cloud",
"networking": {"type": "unrestricted"}
}
}
EOF
)
environment_id=$(jq -r '.id' <<< "$environment")
echo "Environment ID: $environment_id"nameは組織とワークスペース内で一意である必要があります。
セッションを作成する際に、環境IDを文字列として渡します。
session=$(curl -fsS https://api.anthropic.com/v1/sessions \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01" \
-H "content-type: application/json" \
--data @- <<EOF
{
"agent": "$agent_id",
"environment_id": "$environment_id"
}
EOF
)packagesフィールドは、エージェントが起動する前にコンテナにパッケージをプリインストールします。パッケージはそれぞれのパッケージマネージャーによってインストールされ、同じ環境を共有するセッション間でキャッシュされます。複数のパッケージマネージャーが指定された場合、アルファベット順(apt、cargo、gem、go、npm、pip)で実行されます。特定のバージョンをオプションで固定することができます。デフォルトは最新版です。
environment=$(curl -fsS https://api.anthropic.com/v1/environments \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01" \
-H "content-type: application/json" \
--data @- <<'EOF'
{
"name": "data-analysis",
"config": {
"type": "cloud",
"packages": {
"pip": ["pandas", "numpy", "scikit-learn"],
"npm": ["express"]
},
"networking": {"type": "unrestricted"}
}
}
EOF
)サポートされているパッケージマネージャー:
| フィールド | パッケージマネージャー | 例 |
|---|---|---|
apt | システムパッケージ (apt-get) | "ffmpeg" |
cargo | Rust (cargo) | "[email protected]" |
gem | Ruby (gem) | "rails:7.1.0" |
go | Goモジュール | "golang.org/x/tools/cmd/goimports@latest" |
npm | Node.js (npm) | "[email protected]" |
pip | Python (pip) | "pandas==2.2.0" |
networkingフィールドは、コンテナのアウトバウンドネットワークアクセスを制御します。web_searchまたはweb_fetchツールの許可ドメインには影響しません。
| モード | 説明 |
|---|---|
unrestricted | 一般的な安全ブロックリストを除く、完全なアウトバウンドネットワークアクセス。これがデフォルトです。 |
limited | コンテナのネットワークアクセスをallowed_hostsリストに制限します。allow_package_managersおよびallow_mcp_serversのboolを介してさらなるアクセスが有効になります。 |
config=$(cat <<'EOF'
{
"type": "cloud",
"networking": {
"type": "limited",
"allowed_hosts": ["api.example.com"],
"allow_mcp_servers": true,
"allow_package_managers": true
}
}
EOF
)本番環境のデプロイメントでは、明示的なallowed_hostsリストを使用したlimitedネットワーキングを使用してください。エージェントが必要とする最小限のネットワークアクセスのみを付与する最小権限の原則に従い、許可されたドメインを定期的に監査してください。
limitedネットワーキングを使用する場合:
allowed_hostsは、コンテナがアクセスできるドメインを指定します。これらはHTTPSプレフィックスが必要です。allow_mcp_serversは、allowed_hosts配列にリストされているものを超えて、エージェントに設定されたMCPサーバーエンドポイントへのアウトバウンドアクセスを許可します。デフォルトはfalseです。allow_package_managersは、allowed_hosts配列にリストされているものを超えて、公開パッケージレジストリ(PyPI、npmなど)へのアウトバウンドアクセスを許可します。デフォルトはfalseです。# List environments
environments=$(curl -fsS https://api.anthropic.com/v1/environments \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01")
# Retrieve a specific environment
env=$(curl -fsS "https://api.anthropic.com/v1/environments/$environment_id" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01")
# Archive an environment (read-only, existing sessions continue)
curl -fsS -X POST "https://api.anthropic.com/v1/environments/$environment_id/archive" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01"
# Delete an environment (only if no sessions reference it)
curl -fsS -X DELETE "https://api.anthropic.com/v1/environments/$environment_id" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01"クラウドコンテナには、一般的なランタイムがすぐに使える状態で含まれています。プリインストール済みの言語、データベース、ユーティリティの完全なリストについては、コンテナリファレンスを参照してください。
Was this page helpful?