Среды определяют конфигурацию контейнера, в котором работает ваш агент. Вы создаёте среду один раз, а затем ссылаетесь на её ID каждый раз, когда начинаете сеанс. Несколько сеансов могут использовать одну и ту же среду, но каждый сеанс получает свой собственный изолированный экземпляр контейнера.
Все запросы Managed Agents API требуют заголовка бета-версии managed-agents-2026-04-01. SDK автоматически устанавливает заголовок бета-версии.
ant beta:environments create \
--name "python-dev" \
--config '{type: cloud, networking: {type: unrestricted}}'Параметр name должен быть уникальным в пределах вашей организации и рабочей области.
Передайте ID среды в виде строки при создании сеанса.
session = client.beta.sessions.create(
agent=agent.id,
environment_id=environment.id,
)Поле packages предварительно устанавливает пакеты в контейнер перед запуском агента. Пакеты устанавливаются их соответствующими менеджерами пакетов и кэшируются в сеансах, которые используют одну и ту же среду. Когда указаны несколько менеджеров пакетов, они запускаются в алфавитном порядке (apt, cargo, gem, go, npm, pip). Вы можете опционально закрепить конкретные версии; по умолчанию используется последняя версия.
ant beta:environments create <<'YAML'
name: data-analysis
config:
type: cloud
packages:
pip:
- pandas
- numpy
- scikit-learn
npm:
- express
networking:
type: unrestricted
YAMLПоддерживаемые менеджеры пакетов:
| Поле | Менеджер пакетов | Пример |
|---|---|---|
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 = {
"type": "cloud",
"networking": {
"type": "limited",
"allowed_hosts": ["api.example.com"],
"allow_mcp_servers": True,
"allow_package_managers": True,
},
}Для развёртываний в производстве используйте limited сетевое взаимодействие с явным списком allowed_hosts. Следуйте принципу наименьших привилегий, предоставляя только минимальный сетевой доступ, необходимый вашему агенту, и регулярно проверяйте разрешённые домены.
При использовании limited сетевого взаимодействия:
allowed_hosts указывает домены, к которым может получить доступ контейнер. Они должны быть с префиксом HTTPS.allow_mcp_servers разрешает исходящий доступ к конечным точкам MCP-сервера, настроенным на агенте, помимо тех, которые указаны в массиве allowed_hosts. По умолчанию false.allow_package_managers разрешает исходящий доступ к общедоступным реестрам пакетов (PyPI, npm и т. д.) помимо тех, которые указаны в массиве allowed_hosts. По умолчанию false.# List environments
ant beta:environments list
# Retrieve a specific environment
ant beta:environments retrieve --environment-id "$ENVIRONMENT_ID"
# Archive an environment (read-only, existing sessions continue)
ant beta:environments archive --environment-id "$ENVIRONMENT_ID"
# Delete an environment (only if no sessions reference it)
ant beta:environments delete --environment-id "$ENVIRONMENT_ID"Облачные контейнеры включают общие среды выполнения из коробки. Полный список предустановленных языков, баз данных и утилит см. в разделе Справочник контейнера.
Was this page helpful?