環境は、エージェントが実行されるサンドボックスの構成を定義します。環境を一度作成すれば、セッションを開始するたびにそのIDを参照できます。複数のセッションが同じ環境を共有できますが、各セッションには独自の分離されたサンドボックス(新しいLinuxコンテナ)が割り当てられます。
このページでは type: cloud 環境について説明します。独自のインフラストラクチャでサンドボックスを実行する場合は、セルフホスト型サンドボックスを参照してください。
ant beta:environments create < python-dev.environment.yamlname: python-dev
config:
type: cloud
networking:
type: unrestricted環境を区別できるように、一意でわかりやすい name を使用してください。
セッションを作成する際に、環境IDを文字列として渡します。
packages フィールドは、エージェントが起動する前にサンドボックスにパッケージを事前インストールします。パッケージはそれぞれのパッケージマネージャーによってインストールされ、同じ環境を共有するセッション間でキャッシュされます。複数のパッケージマネージャーが指定されている場合、アルファベット順(apt、cargo、gem、go、npm、pip)で実行されます。オプションで特定のバージョンを固定できます。バージョンが固定されていないパッケージは最新バージョンがインストールされます。
サポートされているパッケージマネージャー:
| フィールド | パッケージマネージャー | 例 |
|---|---|---|
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]" |
networking フィールドは、サンドボックスのアウトバウンドネットワークアクセスを制御します。これは、Anthropicのサーバー上で実行される web_search ツールや web_fetch ツールには影響しません。これらのツールがアクセスできるサイトを制限するには、エージェントのツールセット内の該当ツールのエントリで allowed_domains または blocked_domains を設定してください。詳細はWeb検索とWebフェッチのドメインを制限するを参照してください。
| モード | 説明 |
|---|---|
unrestricted | 一般的な安全性ブロックリストを除き、完全なアウトバウンドネットワークアクセスが可能です。これがデフォルトです。 |
limited | サンドボックスのネットワークアクセスを allowed_hosts に指定されたホストに制限します。追加のアクセスを許可するには、allow_package_managers と allow_mcp_servers を true に設定します。 |
次の例では、limited ネットワークを使用した環境を作成します。
limited ネットワークを使用する場合:
allowed_hosts は、サンドボックスがアクセスできるドメインを指定します。ベアホスト名またはワイルドカードパターン(*.example.com など)を指定してください。URLスキーム、ポート、パスは含めないでください。allow_mcp_servers は、allowed_hosts 配列にリストされているもの以外に、エージェントに構成されたMCPサーバーエンドポイントへのアウトバウンドアクセスを許可します。デフォルトは false です。allow_package_managers は、allowed_hosts 配列にリストされているもの以外に、パブリックパッケージレジストリ(PyPIやnpmなど)へのアウトバウンドアクセスを許可します。デフォルトは false です。クラウドサンドボックスには、一般的なランタイムがあらかじめ含まれています。プリインストールされている言語、データベース、ユーティリティの完全なリストについては、クラウドサンドボックスリファレンスを参照してください。
クラウドサンドボックスで利用可能なプリインストール済みのパッケージ、データベース、ユーティリティ。
セッションを作成してエージェントを実行し、タスクの実行を開始します。
Was this page helpful?
ant beta:sessions create \
--agent "$AGENT_ID" \
--environment-id "$ENVIRONMENT_ID"ant beta:environments create < environment.yamlname: data-analysis
config:
type: cloud
packages:
pip:
- pandas
- numpy
- scikit-learn
npm:
- express
networking:
type: unrestrictedpip | Python(pip) | "pandas==2.2.0" |
ant beta:environments create < environment.yamlname: api-access
config:
type: cloud
networking:
type: limited
allowed_hosts:
- api.example.com
allow_mcp_servers: true
allow_package_managers: true# 環境を一覧表示
ant beta:environments list
# 特定の環境を取得
ant beta:environments retrieve --environment-id "$ENVIRONMENT_ID"
# 環境をアーカイブ(読み取り専用、既存セッションは継続)
ant beta:environments archive --environment-id "$ENVIRONMENT_ID"
# 環境を削除(参照するセッションがない場合のみ)
ant beta:environments delete --environment-id "$ENVIRONMENT_ID"