Даниил Михайлов из команды разработки партнёрских продуктов Городских сервисов Яндекса опубликовал результаты бенчмарка, в котором сравнивались два способа подключения ИИ-агента к внутренним корпоративным инструментам — Tracker, Arcanum и Intrasearch. Всего было прогнано более 400 запросов на 14 сценариях с двумя языковыми моделями.
Контекстное окно современных LLM — ограниченный ресурс. Даже при 200 тысячах токенов значительная часть уходит не на саму задачу, а на служебные данные: описания инструментов, параметры вызовов, промежуточные результаты. Чем больше этих накладных расходов, тем меньше места остаётся для кода, истории диалога и пользовательского запроса. Именно поэтому выбор способа интеграции агента с API напрямую влияет на стоимость и скорость работы.
| Тип задачи | Рекомендуемый подход | Эффект |
|---|---|---|
| Простой запрос (статус пул-реквеста) | MCP с lazy loading | Один вызов, минимум накладных расходов |
| Типовая рабочая задача (задача + CI) | CLI + Skill оптимизированный | Экономия 30–50% ресурсов контекста |
| Сложный многошаговый сценарий (планирование фичи) | CLI + Skill с полной документацией | В 5,5 раза экономичнее MCP |
| Тяжёлые данные (diff на 50+ файлов) | MCP с полной загрузкой | Выгоднее за счёт уже загруженных описаний |
| Нужны стриминг, подписки, OAuth | MCP | Специфичные возможности протокола |
MCP (Model Context Protocol) — открытый стандарт, который позволяет LLM подключаться к внешним сервисам через JSON-описания инструментов. Его главное преимущество — простота подключения по принципу plug-and-play: настроил сервер, и агент автоматически получает список доступных инструментов с их параметрами. Недостаток — разработчик не контролирует ни размер этих описаний, ни формат возвращаемых данных: всё определяет сервер.
CLI + Skill работает иначе. Разработчик пишет CLI-обёртки над API и составляет SKILL.md — markdown-файл с документацией для агента. Агент читает этот файл, выбирает нужную команду и запускает её в shell. Подход требует ручной работы, зато даёт полный контроль над тем, что попадает в контекст: можно сократить документацию до минимума, управлять форматом вывода через флаги командной строки, быстро добавлять новые команды.
Результаты бенчмарка показали, что выбор между подходами зависит от типа задачи. На простых запросах — например, «покажи статус пул-реквеста» — выигрывает MCP с lazy loading: один вызов, минимум накладных расходов. На типовых рабочих задачах вроде «покажи задачу и упавшие проверки в CI» оптимизированный CLI + Skill экономит 30–50% ресурсов. На сложных многошаговых сценариях — «спланируй реализацию фичи по задаче» — CLI + Skill оказался в 5,5 раза экономичнее: полная документация позволяет агенту сразу выбрать нужный инструмент без дополнительных шагов на его поиск. Однако на тяжёлых данных, например при работе с diff на 50 и более файлов, MCP с полной загрузкой снова выгоднее.
Ключевой вывод, который команда сделала на собственном опыте: CLI + Skill не даёт преимущества автоматически. Первая версия документации оказалась слишком раздутой, и MCP выигрывал по расходу токенов. Только после оптимизации SKILL.md — от полной версии со всеми примерами до компактного варианта с именами команд и ссылкой на help — CLI + Skill начал экономить ресурсы. Документация для агента требует такой же инженерной работы, как любой другой интерфейс.
По итогам исследования авторы сформулировали дерево решений: для ежедневных типовых задач — CLI + Skill с оптимизированной документацией; для сложных многошаговых сценариев — CLI + Skill с полной документацией; если агент использует eager loading (все описания инструментов загружаются в контекст заранее) — CLI + Skill чаще оказывается выгоднее; если нужны специфичные возможности MCP вроде стриминга, подписок или OAuth — MCP. Качество ответов агента при этом оказалось сопоставимым во всех режимах: исследование измеряло не точность, а стоимость решения.


