Environment とは
Environment は Session のインフラレイヤーです。- コンテナタイプ — 現在は
cloud(クラウドホスト型コンテナ) のみサポート - ネットワークポリシー — コンテナのアウトバウンドネットワークアクセスを制御
- 依存パッケージ — システムパッケージ、Python パッケージ、Node.js パッケージをプリインストール
フィールド説明
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
id | string | — | システム生成、env_ プレフィックス |
type | string | — | 常に "environment" |
name | string | はい | Environment 名 |
description | string | いいえ | 自由記述の説明、デフォルト "" |
config | object | はい | Environment 構成 (タイプ、ネットワーク、パッケージ) |
config.type | string | はい | コンテナタイプ。現在は "cloud" 固定 |
config.networking | object | いいえ | ネットワークポリシー。オブジェクト形式必須。許可される値: {"type": "unrestricted" | "limited" | "allowed_hosts"} |
config.packages | object | いいえ | プリインストール依存パッケージ構成 |
status | string | — | Environment の状態: ready |
archived | boolean | — | アーカイブ済みかどうか、デフォルト false |
archived_at | string|null | — | アーカイブ時刻(ISO 8601)、未アーカイブの場合は null |
created_at | string | — | 作成時刻 |
updated_at | string | — | 最終更新時刻 |
ネットワークポリシー
config.networking は 3 つのモードをサポートします。いずれもオブジェクト形式の指定が必須です("unrestricted" のような文字列の省略形は受け付けられず、400 が返ります)。
| モード | 値 | 説明 |
|---|---|---|
| 完全開放 | {"type": "unrestricted"} | コンテナは任意の外部アドレスにアクセス可能 |
| 制限付き | {"type": "limited", "allow_package_managers": true} | 既知の安全なパブリックサービスとパッケージマネージャーへのアクセスのみ許可 |
| 許可リスト | {"type": "allowed_hosts", "allowed_hosts": [...]} | 指定ホスト名のみアクセス許可 |
networking オブジェクトのフィールド
| フィールド | 型 | 説明 |
|---|---|---|
networking.type | string | ポリシー種別: unrestricted / limited / allowed_hosts |
networking.allow_package_managers | boolean | limited モードで、パッケージマネージャー(pip / npm / apt など)のアクセスを許可するか |
networking.allowed_hosts | array | allowed_hosts モードでアクセスを許可するホスト名のリスト |
- 完全開放
- 制限モード
- 許可リストモード
プリインストール依存関係
config.packages を通じて、コンテナ起動時にプリインストールする依存関係を指定します。
| パッケージ管理 | フィールド | 説明 |
|---|---|---|
| apt | packages.apt | Debian/Ubuntu システムパッケージ |
| pip | packages.pip | Python パッケージ |
| npm | packages.npm | Node.js パッケージ (グローバルインストール) |
プリインストールパッケージは Environment 初期化時間を増やします。本当に必要なパッケージのみを追加し、その他は Session 実行時に都度インストールしてください。
Environment を作成する
セキュアな制限環境を作成する
Environment を取得する
Environment を更新する
Environment の更新は実行中の Session に影響しません。新しい構成は以降に作成される Session にのみ反映されます。
Environment 選定の指針
| シナリオ | 推奨構成 |
|---|---|
| 汎用開発 | default 環境、追加構成不要 |
| データ分析 | pandas/numpy をプリインストール、ネットワーク開放 |
| セキュリティ監査 | 許可リストネットワーク、最小依存 |
| フロントエンド開発 | Node.js エコシステムをプリインストール、npm registry を開放 |
| CI/CD 統合 | git/docker CLI をプリインストール、許可リストモード |
よくある質問
Q: Environment 作成後、利用可能になるまでどのくらい待つ必要がありますか? A: Environment は作成直後に状態がready となり、すぐに Session 作成に利用できます。実際のコンテナ初期化 (依存インストールを含む) は Session 起動時に実施されます。
Q: プリインストールパッケージのバージョンは指定できますか?
A: pip と npm パッケージはバージョン指定をサポートします (例: "pandas==2.1.0" や "typescript@5.0.0")。apt パッケージはシステムリポジトリのデフォルトバージョンを使用します。
Q: networking の設定ミスで Agent 実行が失敗したら?
A: 新しい Environment を作成 (または既存を更新) し、ネットワークポリシーを修正してから Session を再起動してください。
Q: 1 アカウントで作成できる Environment の上限は?
A: ハードリミットはありませんが、実需に応じて作成し、管理が煩雑にならないようにしてください。命名規則による分類管理を推奨します。
次のステップ
Session の開始
Agent と Environment を組み合わせてタスクを実行する。
Agent の定義
Agent 構成のおさらい。
コンテナリファレンス
コンテナタイプ、ネットワークポリシー、プリインストール パッケージのリファレンス。
Vaults
シークレットを安全に保存し、Session に注入する。