Блог AST-SoftPro
Anthropic Agent SDK: обзор, история и сравнение с аналогами
Введение
Если вы строите ИИ-агентов и каждый раз вручную пишете цикл «модель → вызов инструмента → результат в контекст → снова модель», то Anthropic Agent SDK создан именно для вас. Это библиотека на Python и TypeScript, которая упаковывает тот самый агентный движок, что работает внутри Claude Code: встроенные инструменты (чтение и запись файлов, выполнение команд, поиск в вебе), управление контекстом, сессии, хуки жизненного цикла и поддержка MCP — протокола подключения внешних инструментов.
Статья ответит на вопросы: что именно даёт SDK, как он появился и как менялся, чем отличается от «голого» API Claude, и как он смотрится рядом с OpenAI Agents SDK, LangGraph и другими фреймворками. В конце — практические рекомендации по выбору стека для продакшн-проектов.
История: от Claude Code SDK к Agent SDK
История продукта короткая, но показательная для всей отрасли агентных разработок.
Май–июнь 2025. Anthropic выпускает Claude Code SDK — программный доступ к движку, на котором работает терминальный ассистент Claude Code. Python-пакет claude-code-sdk появляется на PyPI в июне 2025; акцент сделан на автоматизации кодинг-задач: ревью кода, исправление багов, работа с репозиториями. По сути, команда «вытащила» из интерактивного CLI то, что раньше было доступно только человеку за терминалом.
29 сентября 2025. Одновременно с анонсом модели Claude Sonnet 4.5 SDK переименовывают в Claude Agent SDK: Python-пакет становится claude-agent-sdk, TypeScript — @anthropic-ai/claude-agent-sdk. Официальная формулировка миграционного гайда: «Claude Code SDK изначально проектировался для кодинг-задач, но вырос во фреймворк для построения агентов любого профиля». Это не косметическое изменение: позиционирование смещается с «ассистент разработчика» на «универсальный агентный рантайм». Электронные помощники, исследовательские агенты, боты поддержки, аналитики финансов — всё это заявленные сценарии.
2026. Имя закрепляется в документации и релизах: старый Python-пакет claude-code-sdk (остановился на версии 0.0.25) официально помечен как deprecated, TypeScript-SDK внутри пакета @anthropic-ai/claude-code заморожен; вся новая функциональность — только в claude-agent-sdk.
Май–июнь 2026. Важное изменение модели монетизации. В мае 2026 Anthropic объявила, что с 15 июня программное использование (Agent SDK и headless-режим claude -p) перестанет «сгорать» из лимитов подписок Pro/Max/Team/Enterprise и перейдёт на отдельный ежемесячный кредит в долларах, тарифицируемый по стандартным API-ставкам. Кредиты: $20/мес для Pro, $100 для Max 5x, $200 для Max 20x; перенос неиспользованного остатка не предусмотрен. На фоне обратной реакции разработчиков компания в день вступления изменений в силу объявила о приостановке части планов — ситуация к моменту написания статьи остаётся подвижной, поэтому перед запуском продакшн-нагрузки стоит проверить актуальные условия на платформе Anthropic.
⚠️ Практический вывод: если ваш агент работает по подписке разработчика (OAuth claude.ai), учтите: для сторонних продуктов Anthropic не разрешает использовать логин claude.ai и его лимиты — требуется API-ключ с pay-as-you-go тарификацией.
Что такое Claude Agent SDK: возможности
Ключевая идея SDK — вы не пишете агентный цикл сами. Вы задаёте системный промпт, права доступа и набор инструментов, а библиотека ведёт диалог модели с инструментами до завершения задачи. Разберём основные возможности по блокам.
Встроенные инструменты
Из коробки доступны те же инструменты, что в Claude Code: чтение файлов (Read), запись (Write), точечное редактирование (Edit), выполнение команд (Bash), поиск по файлам и содержимому (Glob, Grep), веб-поиск и веб-запросы. Для типовых задач «агент должен разобраться в кодовой базе» это означает ноль работы с glue-кодом: модель сама решает, какой инструмент вызвать и когда остановиться.
Хуки жизненного цикла
Хуки — механизм запуска вашего кода в ключевых точках агентного цикла: PreToolUse, PostToolUse, Stop, SessionStart, SessionEnd, UserPromptSubmit. Это основной рычаг контроля: логирование аудита, блокировка опасных команд, валидация аргументов инструментов до их выполнения. В продакшн-системах хуки часто важнее самой модели — именно они заставляют агента работать в рамках политик безопасности.
Субагенты
Субагенты позволяют выделенным «специалистам» с собственными промптами и инструментами выполнять подзадачи параллельно или последовательно, возвращая результат главному агенту. Это решает проблему раздувания контекста: вместо того чтобы держать всю историю исследования в одном окне, исследовательский субагент работает отдельно и передаёт обратно только выжимку.
MCP — Model Context Protocol
Поддержка MCP — одно из главных конкурентных преимуществ SDK. Вы подключаете внешние источники данных и инструментов (базы данных, GitHub, Slack, браузерные инструменты) через стандартный протокол без написания адаптеров под каждый сервис. Экосистема MCP-серверов к 2026 году достаточно зрелая: для большинства популярных систем уже есть готовые серверы.
Сессии и память
SDK поддерживает сессии с сохранением контекста между обращениями, возможностью возобновления (resume) и ветвления (fork). Навыки (skills), команды и память подхватываются из каталогов .claude/ проекта и ~/.claude/ пользователя — так же, как в Claude Code. Это значит, что знания, накопленные командой в виде markdown-файлов памяти, автоматически доступны агенту.
Права доступа
Механизм permissions позволяет задать, какие инструменты выполняются автоматически, а какие требуют подтверждения человека. Для продакшн-агентов это базовая защита: чтение файлов — свободно, запись и команды — только после подтверждения человека.
Ограничения
Честно оговорим границы. SDK доступен только на Python и TypeScript; для других языков официальный путь — запуск CLI как subprocess с флагом -p и JSON-выводом. SDK работает исключительно с моделями Anthropic (Claude) — это не модель-агностичный фреймворк. И, что важно для планирования бюджета: стоимость использования — это стоимость токенов API плюс инфраструктура вашего процесса; «бесплатного» режима нет.
Как устроен агентный цикл
Понимание внутреннего устройства помогает правильно проектировать агента и не удивляться поведению. Цикл выглядит так:
-
Ваше приложение передаёт SDK промпт, системные инструкции и конфигурацию (модель, инструменты, хуки, MCP-серверы).
-
Модель планирует действия и формирует вызовы инструментов.
-
SDK исполняет вызовы в вашем процессе — с применением правил permissions и хуков
PreToolUse/PostToolUse. -
Результаты возвращаются модели; цикл повторяется, пока модель не решит, что задача завершена (срабатывает хук
Stop). -
Итоговый ответ и состояние сессии доступны вашему приложению.
💡 Совет по внедрению: проектируйте агента как «узкую функцию» — одна сессия = одна чётко ограниченная задача («найти баг в модуле X», «составить отчёт по репозиторию Y»). Длинные многоцелевые диалоги деградируют: модель теряет фокус, а контекст раздувается. Для сложных пайплайнов используйте субагентов.
Сравнение с аналогами
Рассмотрим три основных альтернативы: OpenAI Agents SDK, LangGraph и «голый» API (Messages API) с ручным циклом инструментов.
OpenAI Agents SDK
Вышел в марте 2025 как развитие экспериментального проекта Swarm. Философия — минимализм: несколько примитивов (агенты, инструменты, handoffs, guardrails) и встроенный трейсинг. Handoffs — передача управления между агентами-специалистами; guardrails — проверки входа/выхода с возможностью прервать выполнение.
Ключевое отличие от Claude Agent SDK: OpenAI Agents SDK не даёт «тела» агенту в виде встроенных инструментов файловой системы и shell'а. Вы сами пишете инструменты под свои сервисы. Зато фреймворк тесно интегрирован с модельным рядом OpenAI (включая realtime/voice) и работает на любой модели, доступной через их API.
LangGraph
Путь оркестрации: вы строите граф состояний — узлы (вызовы моделей, инструменты, логика) и рёбра (условные переходы). Это максимальный контроль над маршрутизацией, параллельными ветками и длительными пайплайнами с сохранением состояния. Цена — крутая кривая обучения: вы проектируете агентную логику явно, а не «делегировали» её рантайму.
LangGraph модель-агностичен (OpenAI, Anthropic, локальные модели) и лучше всего подходит там, где процесс агента — это детерминированный workflow с ветвлениями, а не свободное планирование модели.
Messages API с ручным циклом
Самый низкоуровневый вариант: вы сами пишете цикл «запрос → tool_use → выполнение → tool_result → запрос». Полный контроль и минимальные абстракции, но весь glue-код — ваш: обработка прерванных вызовов, лимиты контекста, повторные попытки. Разумно только для специфических случаев или при глубокой кастомизации цикла.
Сводная таблица
| Критерий | Claude Agent SDK | OpenAI Agents SDK | LangGraph |
|---|---|---|---|
| Языки | Python, TypeScript | Python, TypeScript | Python, JavaScript/TypeScript |
| Встроенные инструменты (FS, shell, веб) | Да, из коробки | Нет — свои | Нет — свои |
| MCP-поддержка | Глубокая, in-process серверы | Через адаптеры | Через адаптеры |
| Хуки жизненного цикла | Да (6+ точек) | Guardrails (вход/выход) | Явная логика в узлах графа |
| Субагенты / handoffs | Субагенты с изолированным контекстом | Handoffs между агентами | Узлы-подграфы |
| Сессии, resume/fork | Встроенные | Встроенные (sessions) | Чекпоинты состояния графа |
| Модельная привязка | Только Claude | Ориентир на OpenAI, но не только | Любая поддерживаемая модель |
| Контроль над маршрутизацией | Через промпт и хуки | Handoffs + guardrails | Полный (граф состояний) |
| Порог входа | Низкий — цикл уже написан за вас | Средний — свой glue-код инструментов | Высокий — проектируете граф |
| Типичный сценарий | Код-агенты, research, инфраструктура | Мультиагентные диалоги, voice | Долгие workflow с ветвлениями и состоянием |
⚠️ Типичная ошибка выбора: брать LangGraph «на всякий случай» для задачи, где агенту достаточно свободно планировать действия. Граф состояния — это инструмент для детерминированных пайплайнов; для свободных агентов он добавляет сложность без пользы. И наоборот: пытаться в Claude Agent SDK выстроить строгий workflow с ветвлениями — хуки и субагенты позволяют, но это борьба с архитектурой рантайма.
Практика: минимальный агент на Python
Покажем скелет агента, который разбирается в кодовой базе и пишет отчёт о найденных проблемах. Это не учебник по API — только ключевые точки конфигурации; полный референс есть в официальной документации.
import anyio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions
async def main():
options = ClaudeAgentOptions(
system_prompt="Ты — инженер по качеству кода. "
"Используй инструменты для анализа и не выдумывай файлы.",
allowed_tools=["Read", "Glob", "Grep"], # только чтение: безопасно
)
async with ClaudeSDKClient(options) as client:
await client.query(
"Найди в каталоге src/ потенциальные SQL-инъекции и "
"напиши отчёт findings.md с перечнем мест и рекомендаций."
)
# SDK сам ведёт цикл: модель читает файлы, ищет паттерны, пишет отчёт
anyio.run(main)
Что здесь важно для продакшна:
-
allowed_tools— явное ограничение инструментов. Агент не сможет выполнить команду или записать файл вне разрешённого списка. Это первый рубеж безопасности; второй — хукиPreToolUse, где можно валидировать аргументы каждого вызова. -
Системный промпт задаёт роль и ограничения, но не заменяет контроль: модель может ошибаться, поэтому критичные действия (запись в БД, отправка сообщений) выносите за пределы инструментов агента — пусть агент только формирует данные для внешнего слоя.
-
Сессия через
ClaudeSDKClientсохраняет контекст; при необходимости её можно возобновить или разветвить, не теряя накопленный анализ.
💡 Безопасность: даже с ограниченным набором инструментов агент имеет доступ к файловой системе процесса. Запускайте агентов в изолированной среде (контейнер, sandbox) — особенно если они работают с пользовательским вводом. Поверхностное копирование примеров из интернета без проверки на соответствие OWASP Top 10 может привести к скрытым уязвимостям: инъекции через имена файлов, обход ограничений через shell-интерпретацию и т.п. Для продакшн-решений рекомендуется привлечение специалистов с опытом — это снижает риски ошибок безопасности и архитектурных просчётов, которые обнаружатся только под нагрузкой.
Рекомендации по выбору
| Ситуация | Разумный выбор | Почему |
|---|---|---|
| Агент работает с кодом/репозиториями, нужен быстрый старт | Claude Agent SDK | Встроенные FS/shell-инструменты и MCP экономят недели glue-кода |
| Мультиагентный диалог с передачей ролей, voice | OpenAI Agents SDK | Handoffs и guardrails — ядро фреймворка; интеграция с realtime |
| Долгий workflow: ветвления, параллельные ветки, чекпоинты, несколько моделей | LangGraph | Явный граф состояний даёт контроль над маршрутизацией и восстановлением |
| Максимальный контроль цикла, нестандартная логика | Messages API + свой цикл | Ноль абстракций — но весь glue-код на вас |
| Бюджет ограничен, нужна модель-агностичность | LangGraph или OpenAI SDK (с локальными моделями) | Claude Agent SDK привязан к тарифам Anthropic |
Ещё несколько практических выводов:
-
Не выбирайте фреймворк «на вырост». Начните с самого простого решения под текущую задачу; миграция между стеками — дорогая операция, и её легче избежать, если архитектура не разрослась раньше времени.
-
Хуки и права доступа проектируйте до первого запуска, а не после инцидента. Агент с широкими правами доступа — готовый вектор атаки, особенно при работе с внешним вводом.
-
Считайте токены. Агентные циклы многократны: одна задача может стоить в десятки раз дороже одного запроса-ответа. Профилируйте стоимость на типичных задачах до масштабирования — это экономит бюджет раньше, чем любой оптимизатор производительности.
-
Экспертиза решает. Выбор SDK — лишь половина задачи; вторая половина — корректная реализация с учётом edge-кейсов, безопасности и масштабируемости. Команды, которые доверяют критичные агентные системы опытным разработчикам, экономят время на исправлении ошибок, которые могли быть предотвращены на этапе проектирования.
Заключение
Claude Agent SDK — это «тело» для Claude: готовый агентный рантайм с инструментами, хуками, субагентами и MCP, доступный в двух языках. Его сильные стороны — скорость старта для задач, связанных с файловой системой и командной строкой, и глубина интеграции с экосистемой MCP. Слабые стороны — привязка к моделям Anthropic и ограниченная языковая поддержка.
OpenAI Agents SDK выигрывает в мультиагентных диалогах и voice-сценариях, LangGraph — там, где нужен детерминированный workflow с полным контролем маршрутизации. Ни один из фреймворков не является универсальным: правильный выбор определяется формой задачи (свободное планирование против жёсткого пайплайна), модельной стратегией и требованиями к контролю.
Перед внедрением в продакшен проверьте три вещи: актуальные условия тарификации Anthropic (они менялись в мае–июне 2026), модель изоляции для агента с доступом к файлам, и бюджет токенов на типовые задачи. Инструмент мощный — но, как и любой мощный инструмент, он требует системного подхода: без опыта проектирования агентных систем высок риск уязвимостей безопасности и архитектурных просчётов, которые проявятся только после выхода на реальных пользователей.