환경은 에이전트가 실행되는 컨테이너 구성을 정의합니다. 환경을 한 번 생성한 후 세션을 시작할 때마다 해당 ID를 참조합니다. 여러 세션이 동일한 환경을 공유할 수 있지만 각 세션은 자체 격리된 컨테이너 인스턴스를 가집니다.
모든 Managed Agents API 요청에는 managed-agents-2026-04-01 베타 헤더가 필요합니다. SDK는 베타 헤더를 자동으로 설정합니다.
Was this page helpful?
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 부울을 통해 활성화됩니다. |
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"클라우드 컨테이너에는 기본적으로 일반적인 런타임이 포함되어 있습니다. 사전 설치된 언어, 데이터베이스 및 유틸리티의 전체 목록은 컨테이너 참조를 참조하세요.