
Главный сдвиг в прикладном AI за последний год — не выход новой модели, а переход от одиночных вызовов LLM к агентным циклам. Вместо того чтобы выверять промт до десятого знака, разработчики теперь проектируют системы, где модель сама решает, какой инструмент вызвать, как интерпретировать результат и когда передать управление другому агенту. Это меняет архитектуру приложений, требования к инфраструктуре и профиль рисков.
Экосистема быстро консолидировалась вокруг трёх подходов: открытого протокола MCP от Anthropic, лёгкого SDK от OpenAI и графового фреймворка LangGraph. Каждый из них решает свою часть задачи, и выбор между ними — не вопрос вкуса, а вопрос структуры вашего проекта. Разберёмся, что стоит за терминами и с чего начинать тестирование.
Почему это важно: от промпта к программе
Промт перестал быть границей приложения. Теперь это лишь один из компонентов в контуре, где модель читает, решает, действует и наблюдает. Как описала Lilian Weng в своём обзоре агентных систем, агент — это LLM в сочетании с памятью, планированием и инструментами. Без последних двух компонентов модель остаётся просто генератором текста.
Для разработчика это означает смену парадигмы: мы пишем не инструкцию для модели, а программу, в которой модель — один из исполняемых узлов. И здесь критически важно, как именно этот узел взаимодействует с внешним миром и другими узлами. Именно этот слой и закрывают агентные SDK и протоколы.
Что говорят источники: три подхода к одной задаче
MCP (Model Context Protocol) — это открытый протокол клиент-сервер, представленный Anthropic в ноябре 2024 года. Он стандартизует подключение инструментов и источников данных к LLM. MCP не привязан к Claude, хотя пока основная реализация — Claude Desktop. Как отмечает Simon Willison, главная идея MCP в том, чтобы «дать модели доступ к инструментам и данным через единый интерфейс, вместо того чтобы каждый раз писать интеграцию с нуля».
OpenAI Agents SDK — лёгкий Python-фреймворк, выпущенный в марте 2025 года. Он включает в себя агентный цикл, механизм handoff (передачи задачи другому агенту) и встроенные guardrails. В отличие от MCP, это не протокол, а конкретная реализация от OpenAI, завязанная на их модели. Код открыт, но архитектура полностью заточена под экосистему OpenAI.
LangGraph — зрелый фреймворк от LangChain для графовой оркестрации агентов. Он позволяет проектировать сложные маршруты с состояниями, циклами и параллельными ветками. В отличие от первых двух, LangGraph не навязывает ни модель, ни протокол — вы сами собираете граф из любых компонентов.
Сравнительная таблица
| Критерий | MCP (Model Context Protocol) | OpenAI Agents SDK | LangGraph |
|---|---|---|---|
| Суть | Открытый протокол для интеграции инструментов и данных | Лёгкий Python SDK для создания агентов | Фреймворк для графовой оркестрации агентов |
| Основной источник | Anthropic (открытый стандарт) | OpenAI (проприетарный, код открыт) | LangChain (открытый исходный код) |
| Привязка к модели | Нет (любая LLM с tool calling) | Да (OpenAI) | Нет (любая LLM) |
| Сложность освоения | Средняя (требуется понимание клиент-сервер) | Низкая | Высокая (графы, состояние, маршрутизация) |
| Когда использовать | Единый интерфейс для инструментов и данных | Быстрые прототипы на OpenAI | Сложные, отказоустойчивые многолетние системы |
Практический рабочий процесс: пример с логированием
Представьте задачу: агент читает лог ошибок приложения, находит дубликаты, группирует их и создаёт задачу в трекере. В OpenAI Agents SDK это делается за 10 минут: вы описываете инструмент для чтения лога и инструмент для создания задачи, задаёте промт с инструкцией — и цикл готов. В LangGraph потребуется спроектировать граф состояний: узел чтения, узел классификации, узел дедупликации, узел записи. Но такой граф будет надёжнее обрабатывать ошибки и частичные сбои.
MCP здесь выступает как прослойка: если у вас уже есть MCP-сервер для доступа к логам и трекеру, любой клиент — будь то Claude Desktop или кастомное приложение на OpenAI SDK — сможет с ними работать без дополнительной интеграции. Это снижает затраты на поддержку, но добавляет точку отказа в виде самого сервера.
Ограничения и контраргументы
Ни один из трёх подходов пока нельзя назвать production-ready без серьёзных оговорок.
MCP страдает от недоработанной модели безопасности. Simon Willison в своём анализе справедливо указывает: если MCP-сервер подключён к файловой системе, агент может быть скомпрометирован через prompt injection, и фильтры на стороне сервера пока слабые. Кроме того, протокол молодой, и стабильность спецификации ещё под вопросом.
OpenAI Agents SDK — это vendor lock-in в чистом виде. Как только вы строите логику на handoff и guardrails, миграция на другую модель потребует полной переработки агентного цикла. Кроме того, SDK новый, и сообщество вокруг него пока не сформировало достаточного количества проверенных паттернов.
LangGraph — мощный, но тяжёлый. Для простых задач он избыточен: вместо трёх строк кода вы пишете граф с узлами, рёбрами и условиями перехода. Когнитивная нагрузка высока, и ошибки в проектировании графа приводят к трудноотлаживаемым циклам.
Что протестировать в первую очередь
Вместо того чтобы выбирать один стек и углубляться в него, лучше провести серию коротких экспериментов:
- [ ] Разверните MCP-сервер для локальной базы данных или файловой системы. Подключите к нему Claude Desktop и кастомный клиент. Оцените, насколько единый интерфейс упрощает доступ к данным.
- [ ] Соберите простой агентный цикл на OpenAI Agents SDK: пусть агент ищет информацию в интернете, пишет краткое резюме и отправляет его в Telegram. Засеките время от начала до результата.
- [ ] Реализуйте тот же сценарий на LangGraph. Сравните, сколько строк кода потребовалось и как система ведёт себя при сбоях (например, если поиск вернул ошибку).
- [ ] Протестируйте границы безопасности: попробуйте заставить агента проигнорировать инструкцию или