Claude Managed Agents: запускаем AI-агентов через API
Anthropic запустила Managed Agents. Готовый агентный harness в облаке: контейнеры, инструменты, стриминг. Разбираемся, что это и зачем.
TL;DR: Anthropic запустила Claude Managed Agents — API для автономных AI-агентов в управляемой облачной инфраструктуре. Вместо самостоятельной сборки agent loop, песочницы и оркестрации инструментов ты получаешь готовый контейнер с Python, Node.js и Go, набор встроенных инструментов и стриминг событий через SSE. Сейчас в бете, доступен всем с API-ключом.
Зачем Anthropic запустила Managed Agents
Anthropic берёт на себя инфраструктуру: контейнер с инструментами, стриминг событий, кеширование и компакцию контекста. Ты описываешь агента и запускаешь сессию. Дальше Claude работает сам.
По данным WIRED, годовой доход Anthropic перевалил за $30 млрд. Это втрое больше, чем в декабре 2025. Большая часть роста пришла именно с Claude Platform, где разработчики подключаются к моделям через API. Angela Jiang, руководитель продукта Claude Platform, говорит: между возможностями моделей и тем, как бизнес их использует, огромный разрыв. Managed Agents — попытка этот разрыв закрыть.
Если ты читал про agent harness, то Managed Agents — по сути, harness-as-a-service от Anthropic.
| Messages API | Managed Agents | |
|---|---|---|
| Что это | Прямой доступ к модели | Готовая агентная инфраструктура в облаке |
| Для чего | Кастомные agent loop, полный контроль | Долгие задачи, асинхронная работа |
| Инструменты | Пишешь сам | Встроенные (bash, файлы, веб) + кастомные |
| Песочница | Своя | Управляемый контейнер Anthropic |
Как устроен Managed Agents: 4 концепции
Весь API строится на четырёх сущностях.
Agent — конфигурация: модель, системный промпт, набор инструментов, MCP-серверы. Создаёшь один раз, используешь во всех сессиях. Агенты версионируются, можно зафиксировать конкретную версию для продакшена.
Environment — шаблон контейнера. Какие пакеты предустановить (Python, Node.js, Go, Rust, Ruby), какие правила сетевого доступа применить. Окружение переиспользуется между сессиями, но каждая получает свой изолированный экземпляр. Файлы не расшариваются.
Session связывает Agent и Environment. Это запущенный агент с историей диалога. Четыре статуса:
| Статус | Что происходит |
|---|---|
idle |
Ждёт ввода. Сессия стартует в этом состоянии |
running |
Агент работает |
rescheduling |
Временная ошибка, автоматический retry |
terminated |
Завершён из-за неустранимой ошибки |
Events — потоковые сообщения между твоим приложением и агентом через SSE. Пользовательские сообщения, вызовы инструментов, результаты, обновления статуса. Вся история сохраняется на стороне Anthropic.
Quickstart: запускаем агента за 4 шага
Все запросы к Managed Agents API требуют бета-заголовок managed-agents-2026-04-01. Python SDK ставит его автоматически.
1. Создаём агента
from anthropic import Anthropic
client = Anthropic()
agent = client.agents.create(
model="claude-sonnet-4-6",
system="You are a helpful coding assistant.",
tools=[{"type": "agent_toolset_20260401"}]
)
# agent.id — сохрани, будет нужен для каждой сессии
agent_toolset_20260401 включает все встроенные инструменты. Если нужно отключить отдельные, передаёшь configs с enabled: false для конкретных инструментов.
2. Создаём окружение
environment = client.environments.create(
name="my-dev-env",
packages={
"pip": ["pandas==2.2.0", "requests"],
"npm": ["express@4.18.0"],
"apt": ["ffmpeg"]
},
networking={"mode": "unrestricted"}
)
Пакеты устанавливаются соответствующими менеджерами и кешируются между сессиями.
3. Запускаем сессию
session = client.sessions.create(
agent=agent.id,
environment=environment.id
)
Сессия создана, но ещё ничего не делает. Работа начинается, когда отправишь событие.
4. Отправляем задачу и стримим ответ
stream = client.sessions.stream(session.id)
stream.send_event(
type="user",
content="Напиши Python-скрипт, который генерирует CSV с 100 рандомными записями"
)
for event in stream:
if event.type == "text":
print(event.text, end="")
elif event.type == "tool_use":
print(f"\n[Инструмент: {event.name}]")
elif event.type == "session.status_idle":
print("\nАгент завершил работу.")
break
Claude сам решает, какие инструменты использовать: пишет скрипт через write, выполняет через bash, проверяет результат через read. Ты видишь весь процесс в реальном времени через SSE. Можно отправить дополнительное сообщение, чтобы скорректировать агента на ходу, или прервать выполнение.
Какие инструменты доступны агенту
Встроенный набор повторяет инструменты Claude Code:
| Инструмент | Описание |
|---|---|
bash |
Выполнение shell-команд |
read |
Чтение файлов |
write |
Запись файлов |
edit |
Точечные замены строк в файлах |
glob |
Поиск файлов по паттерну |
grep |
Поиск текста по регулярным выражениям |
web_fetch |
Загрузка контента по URL |
web_search |
Поиск в интернете |
Кроме встроенных, поддерживаются кастомные инструменты. Ты определяешь схему (имя, описание, параметры), Claude решает, когда вызвать, а твой код выполняет операцию и возвращает результат. Всё как tool use в Messages API, только в рамках автономного агента.
Anthropic в документации настаивает: качество описаний инструментов влияет на результат больше всего остального. Минимум 3-4 предложения на каждый инструмент. И лучше объединять связанные операции в один инструмент с параметром action, чем делать отдельный на каждое действие.
Окружения: пакеты, сеть и изоляция
Контейнер поставляется с предустановленными рантаймами. Поверх можно доставить пакеты через шесть менеджеров:
| Менеджер | Пример |
|---|---|
apt |
ffmpeg, imagemagick |
pip |
pandas==2.2.0 |
npm |
express@4.18.0 |
cargo |
ripgrep@14.0.0 |
gem |
rails:7.1.0 |
go |
golang.org/x/tools/cmd/goimports@latest |
Сетевой доступ настраивается через поле networking. Два режима. unrestricted (по умолчанию): полный исходящий доступ кроме чёрного списка. limited: только указанные домены в allowed_hosts. Для продакшена Anthropic рекомендует limited с принципом минимальных привилегий.
В ограниченном режиме есть два дополнительных флага: allow_mcp_servers (разрешить доступ к MCP-серверам) и allow_package_managers (разрешить доступ к реестрам пакетов). Оба по умолчанию false.
Кому это нужно и чего ожидать
WIRED цитирует Katelyn Lesse, руководителя инженерии Claude Platform: раньше компании держали целые команды инженеров для запуска и масштабирования агентных систем. Теперь эти люди могут заняться продуктом.
Notion уже показал демо: клиентский онбординг через Managed Agents. Агент получает список задач в Notion и выполняет их одну за другой. На Claude Platform видно, как агент работает и какие инструменты использует.
Думаю, переход на Managed Agents имеет смысл, если задачи агента длятся больше нескольких минут и требуют выполнения кода в безопасной среде. Для коротких запросов Messages API проще. Для полного контроля над agent loop — тоже Messages API. А вот если хочется быстро получить рабочего агента без возни с инфраструктурой, Managed Agents выглядит как разумный выбор. Посмотрим, как API будет развиваться после беты.
Что ещё почитать
- Что такое agent harness — концепция обвязки агентов, которую Managed Agents реализует как сервис
- 8 уровней агентного инжиниринга — где Managed Agents находится в иерархии сложности
- Claude Code auto mode — автономность Claude на стороне CLI
- Claude Computer Use и Dispatch — другой подход к автономным Claude-агентам