OpenAI Assistants API против Claude Agent SDK: что выбрать
OpenAI сворачивает Assistants API в пользу Responses API, а Anthropic переименовала Claude Code SDK в Agent SDK. Разбираем, чем отличаются два подхода к агентам и что это значит для вашего кода.

Летом 2025 года OpenAI объявила, что Assistants API получит статус deprecated: компания рекомендует переходить на Responses API, а первоначальный горизонт отключения — первая половина 2026 года (точную дату сверяйте в актуальной документации OpenAI). В том же году Anthropic переименовала Claude Code SDK в Claude Agent SDK, дав понять, что инструментарий агента больше не про один только терминал. Если вы строите агента прямо сейчас, вы выбираете не между двумя вечными API, а между двумя движущимися целями — и цена ошибки измеряется в переписанном коде.
Что вообще сравниваем
Оба продукта решают одну задачу: дать разработчику модель, которая умеет не просто отвечать текстом, а вызывать инструменты, работать с файлами и держать контекст многошагового диалога. Но подходят к ней с разных сторон.
OpenAI: от Assistants к Responses
Assistants API был первой попыткой OpenAI дать «управляемого» агента с состоянием на стороне сервера: сущности assistant, thread, run и встроенные инструменты вроде интерпретатора кода и файлового поиска. Проблема в том, что абстракция получилась тяжёлой — тредами и раннами приходилось управлять вручную, а поллинг статуса рана раздражал.
Responses API — ответ на эту критику. Он объединяет простоту chat.completions с состоянием и встроенными инструментами. Хранение истории опционально: можно передавать previous_response_id и не тащить весь диалог в каждом запросе.
Anthropic: Agent SDK как каркас цикла
Claude Agent SDK — это не REST-эндпоинт, а библиотека (Python и TypeScript), которая оборачивает цикл «модель думает — вызывает инструмент — читает результат — думает дальше». Она выросла из инструмента Claude Code, поэтому по умолчанию хорошо умеет то, что нужно кодовому агенту: читать и править файлы, запускать команды, работать с репозиторием. Логика оркестрации живёт в вашем процессе, а не на сервере Anthropic.
Ключевая развилка простая: OpenAI хочет держать состояние агента у себя, Anthropic отдаёт цикл управления вам. Первое — меньше кода, второе — больше контроля и предсказуемости.
Сравнение по существу
| Критерий | OpenAI Responses API | Claude Agent SDK |
|---|---|---|
| Форма | REST API + официальные SDK | Библиотека (Python, TypeScript) |
| Где живёт состояние | На сервере (опционально) | В вашем процессе |
| Встроенные инструменты | Web search, file search, code interpreter | Работа с файлами, bash, инструменты через MCP |
| Кастомные инструменты | Function calling | Function calling + MCP-серверы |
| Управление циклом агента | Частично на стороне API | Полностью на вашей стороне |
| Стриминг | Да | Да |
Обратите внимание: конкретные названия и набор встроенных инструментов у обоих вендоров меняются от релиза к релизу. Перед проектированием сверяйтесь с официальной документацией, а не с этой таблицей.
MCP как общий знаменатель
Отдельно стоит MCP. Anthropic сделала протокол открытым, и его поддержку постепенно подхватывают другие игроки, включая OpenAI. Практический смысл: инструмент, написанный как MCP-сервер, теоретически переносим между агентами разных вендоров. Это тот редкий случай, когда вы можете снизить привязку к одному API, не переписывая всю обвязку.
Как выглядит код
Минимальный запрос к Responses API с использованием официального Python-SDK:
from openai import OpenAI
client = OpenAI()
resp = client.responses.create(
model="gpt-4.1",
input="Найди последний коммит и опиши, что он меняет",
tools=[{"type": "web_search"}],
)
print(resp.output_text)
# продолжение диалога без пересылки всей истории
follow_up = client.responses.create(
model="gpt-4.1",
previous_response_id=resp.id,
input="А теперь предложи текст changelog",
)
print(follow_up.output_text)
Агент на Claude Agent SDK строится вокруг явного цикла запросов. Схематично на Python:
from claude_agent_sdk import query, ClaudeAgentOptions
options = ClaudeAgentOptions(
system_prompt="Ты аккуратный кодовый агент",
allowed_tools=["Read", "Edit", "Bash"],
)
async for message in query(
prompt="Найди баг в utils.py и почини его",
options=options,
):
print(message)
Имена классов, параметров и моделей приведены как ориентир. Оба SDK активно развиваются, поэтому актуальную сигнатуру берите из документации соответствующего вендора и версии пакета, а не из этого фрагмента.
Что учесть при выборе
- Горизонт поддержки. Если пишете на Assistants API прямо сейчас, закладывайте миграцию на Responses. Строить новое на deprecated-эндпоинте — сознательно накапливать технический долг.
- Кто держит состояние. Нужен полный контроль над логикой шагов, логами и повторами — SDK с циклом на вашей стороне даёт это из коробки. Нужно быстро собрать чат-агента без инфраструктуры — серверное состояние Responses экономит время.
- Кодовые задачи. Agent SDK изначально заточен под работу с файлами и командами репозитория. Для «агента-программиста» это меньше самописной обвязки.
- Стоимость. Считайте не только цену за токены, но и токены, которые съедает разросшийся контекст многошагового агента. У обоих подходов длинные цепочки инструментов быстро раздувают счёт — тарифы уточняйте на страницах цен OpenAI и Anthropic.
- Переносимость. Инструменты через MCP снижают привязку к вендору. Function calling в проприетарном формате — привязывают сильнее.
Практический вывод
Универсального ответа нет, и это не отговорка. Responses API выигрывает, когда цель — быстро получить работающего агента с минимумом инфраструктуры и вы готовы жить внутри экосистемы OpenAI. Claude Agent SDK выигрывает, когда агент делает что-то нетривиальное с кодом и файлами, а вам важно видеть и контролировать каждый шаг цикла. MCP — то место, где стоит держать границу абстракции, чтобы смена вендора не превращалась в переписывание всего.
Главное правило при работе с обоими: не хардкодьте предположения об API в бизнес-логику. Оба вендора уже показали, что переименуют и задепрекейтят продукт быстрее, чем вы допишете тесты.
Prompt-инженер: Идеальные запросы для Midjourney, ChatGPT и других моделей.
Спросить за 15 ₽Источники: OpenAI API Reference (Responses / Assistants), Anthropic — Claude Agent SDK documentation
Частые вопросы
Assistants API уже отключили?
Claude Agent SDK и Claude Code — это одно и то же?
Можно ли использовать одни и те же инструменты с обоими агентами?
Что дешевле в эксплуатации?
Что выбрать для агента-программиста?
Стоит ли начинать новый проект на Assistants API?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.