MCP нам был нужен, теперь пришло время идти дальше

Спустя чуть менее года с момента релиза протокола MCP, Anthropic написали статью о том, что MCP был ошибкой 😄

В этой статье они небезосновательно упоминают о частых проблемах с MCP:

▪️Tools тратят очень много токенов контекстного окна, я об этом кстати уже рассказывал тут

▪️Промежуточные результаты tools тратят дополнительные токены.
В статье приводится пример запроса пользователя: "Скачай meeting transcripts с Google Drive и добавь их к Salesforce lead".

Для исполнения такого запроса нужно, чтобы модель использовала один tool для выкачивания транскриптов, а потом создала из этого лиды.
Транскрипт 2 часового митинга может занимать около 50к токенов, что, в свою очередь, ведёт к тому, что контекстное окно в скором времени закончится.


Как эти проблемы предлагает решить Anthropic?

Просить модель делать то, что она уже умеет очень хорошо — писать код, который выполнит задачу.

Как наш пример можно реализовать с таким подходом?

1. Модель получает интерфейсы и API от внешних tools - от Google Drive MCP и от Salesforce MCP
2. На основе имеющихся интерфейсов и задачи от пользователя, модель пишет код, который программно возьмет нужные meeting transcripts и создаст Salesforce leads
3. Задача выполнена
optional. Ту инфу, которую модели нужно знать, она узнает из кода через console.log()

Гениально! 🎉

В статье упомянуто, что в этой конкретной задаче таким способом удалось снизить расход токенов с 150к до 2к.

☝️

Как обычно, подход очевиден, но не все осознают его.
Я в своем опыте использую такой подход для написания одноразовых скриптов.
Из последнего — упростить миграцию данных из одной БД в другую. Я прошу Claude Code написать два node js скрипта:
1) db1 -> json
2) json -> db2
Ну и далее эти скрипты исполняются вручную мной или агентом и выполняют задачу.

Этот подход уже используется в Cloudflare Agents SDK (на него ссылаются авторы), так же знаю, что Ринат Абдуллин (@llm_under_hood) использует такой способ написания кода в своем видении AI Coding.

Стоит отметить, что написание кода LLM моделям "роднее", потому что программного кода они в своих датасетах видели больше, чем "MCP tool calls".

Конечно, здесь есть и свои минусы, но на мой взгляд, это может помочь повысить надёжность способов взаимодействия LLM с внешним миром.

А вы что думаете по этому подходу?

✔️ Timur Khakhalev про AI Coding, подписывайтесь!
⭐️ Консультации по AI Coding
Открыть в Telegram
 
 
Back to Top