Claude Platform Docs
Managed Agentsエージェント環境の設定

クラウド環境のセットアップ

セッション用のクラウドサンドボックスをカスタマイズします。

環境(environment)は、エージェントが実行されるサンドボックスの構成を定義します。環境を一度作成すれば、セッションを開始するたびにそのIDを参照できます。複数のセッションで同じ環境を共有できますが、各セッションにはそれぞれ独立したサンドボックス(新しいLinuxコンテナ)が割り当てられます。

このページでは type: cloud の環境について説明します。独自のインフラストラクチャ上でサンドボックスを実行する場合は、セルフホスト型サンドボックスを参照してください。

環境を作成する

ant apply environment.yaml
environment.yaml
# yaml-language-server: $schema=https://platform.claude.com/schemas/ant/beta/environment.json
name: python-dev
config:
  type: cloud
  networking:
    type: limited
    allow_package_managers: true

ant apply は environment.yaml から環境を作成し、そのIDを出力して claude-lock.json に記録します。claude-lock.json をコミットしておくと、次回の ant apply で環境を再作成しようとするのではなく、この環境が更新されます。

環境を区別できるように、一意でわかりやすい name を使用してください。

セッションで環境を使用する

セッションを作成する際に、環境IDを文字列として渡します。

session = client.beta.sessions.create(
    agent=agent.id,
    environment_id=environment.id,
)

構成オプション

パッケージ

packages フィールドは、エージェントが起動する前にサンドボックスにパッケージを事前インストールします。パッケージはそれぞれのパッケージマネージャーによってインストールされ、同じ環境を共有するセッション間でキャッシュされます。複数のパッケージマネージャーを指定した場合、アルファベット順(apt、cargo、gem、go、npm、pip)に実行されます。必要に応じて特定のバージョンを固定できます。バージョンを固定していないパッケージは最新バージョンがインストールされます。環境が limited ネットワーキングを使用している場合は、networking.allow_package_managers も true に設定してください。設定しない場合、リクエストは400エラーで拒否されます。

ant apply environment.yaml
environment.yaml
# yaml-language-server: $schema=https://platform.claude.com/schemas/ant/beta/environment.json
name: data-analysis
config:
  type: cloud
  packages:
    pip:
      - pandas
      - numpy
      - scikit-learn
    npm:
      - express
  networking:
    type: unrestricted

サポートされているパッケージマネージャー:

フィールドパッケージマネージャー例
aptシステムパッケージ(apt-get)"graphviz"
cargoRust(cargo)"hyperfine@1.18.0"
gemRuby(gem)"rails:7.1.0"
goGoモジュール"golang.org/x/tools/cmd/goimports@latest"
npmNode.js(npm)"express@4.18.0"
pipPython(pip)"sqlalchemy==2.0.30"

ネットワーキング

networking フィールドは、サンドボックスのアウトバウンドネットワークアクセスを制御します。これは Anthropic のサーバー上で実行される web_search ツールや web_fetch ツールには影響しません。これらのツールがアクセスできるサイトを制限するには、エージェントのツールセット内の該当ツールのエントリに allowed_domains または blocked_domains を設定してください。Web検索とWebフェッチのドメインを制限するを参照してください。

モード説明
unrestricted一般的な安全性ブロックリストを除き、完全なアウトバウンドネットワークアクセスが可能です。これがデフォルトです。
limitedサンドボックスのネットワークアクセスを allowed_hosts 内のホストに制限します。追加のアクセスを許可するには、allow_package_managers と allow_mcp_servers を true に設定します。

次の例では、limited ネットワーキングを使用する環境を作成します。

ant apply environment.yaml
environment.yaml
# yaml-language-server: $schema=https://platform.claude.com/schemas/ant/beta/environment.json
name: api-access
config:
  type: cloud
  networking:
    type: limited
    allowed_hosts:
      - api.example.com
    allow_mcp_servers: true
    allow_package_managers: true

limited ネットワーキングを使用する場合:

  • allowed_hosts は、サンドボックスがアクセスできるドメインを指定します。ホスト名のみ、またはワイルドカードパターン(*.example.com など)を指定してください。URLスキーム、ポート、パスは含めないでください。
  • allow_mcp_servers は、allowed_hosts 配列に記載されたもの以外に、エージェントで構成されたMCPサーバーエンドポイントへのアウトバウンドアクセスを許可します。デフォルトは false です。
  • allow_package_managers は、allowed_hosts 配列に記載されたもの以外に、一連の公開パッケージレジストリおよびコードホストへのアウトバウンドアクセスを許可します。一覧についてはパッケージマネージャーのホストを参照してください。デフォルトは false です。環境で packages を指定する場合は、必ず true に設定してください。設定しない場合、レジストリのホストが allowed_hosts に記載されていても、リクエストは400エラーで拒否されます。

パッケージマネージャーのホスト

allow_package_managers が true の場合、サンドボックスは allowed_hosts 内のホストに加えて、次のホストにアクセスできます。このリストはAnthropicが管理しており、変更される可能性があります。

エコシステムホスト
コードホスティングgithub.com、api.github.com、codeload.github.com、raw.githubusercontent.com、objects.githubusercontent.com、release-assets.githubusercontent.com、gitlab.com、bitbucket.org
Node.jsregistry.npmjs.org、registry.yarnpkg.com、nodejs.org
Pythonpypi.org、files.pythonhosted.org
Rustcrates.io、index.crates.io、static.crates.io、static.rust-lang.org
Goproxy.golang.org、sum.golang.org
Javarepo1.maven.org、repo.maven.apache.org、services.gradle.org、plugins.gradle.org、plugins-artifacts.gradle.org
Rubyrubygems.org、index.rubygems.org
PHPpackagist.org、repo.packagist.org
Ubuntu(apt)archive.ubuntu.com、security.ubuntu.com、ppa.launchpad.net
コンテナregistry-1.docker.io、auth.docker.io、production.cloudflare.docker.com、download.docker.com、ghcr.io

環境のライフサイクル

  • 環境は、明示的にアーカイブまたは削除されるまで保持されます。
  • 複数のセッションが同じ環境を参照している場合でも、各セッションにはそれぞれ独自のサンドボックスインスタンスが割り当てられます。セッション間でファイルシステムの状態は共有されません。
  • 環境はバージョン管理されません。環境を頻繁に更新する場合は、各セッションがどの構成を使用したかを把握できるように、変更内容を独自に記録しておいてください。

環境を管理する

# List environments
environments = client.beta.environments.list()

# Retrieve a specific environment
env = client.beta.environments.retrieve(environment.id)

# Archive an environment (read-only, existing sessions continue)
client.beta.environments.archive(environment.id)

# Delete an environment (only if no sessions reference it)
client.beta.environments.delete(environment.id)

プリインストールされたランタイム

クラウドサンドボックスには、一般的な言語ランタイム、データベース、コマンドラインツールが標準で含まれています。完全なリストについては、クラウドサンドボックスリファレンスを参照してください。

次のステップ

クラウドサンドボックスで利用可能なプリインストール済みのパッケージ、データベース、ユーティリティ。

セッションを作成してエージェントを実行し、タスクの実行を開始します。

Was this page helpful?