Ваши MCP-серверы сжигают токены еще до того, как вы наберете первое слово

Вы платите за данные, которые никогда не используете.

На прошлой неделе я отслеживал одну сессию агента. В ней было загружено 47 MCP-инструментов. Каждый инструмент отправлял свою полную JSON-схему в системный промпт. Это происходило еще до того, как я набрал хотя бы одно слово.

Каждая схема инструмента занимает от 150 до 400 токенов. 47 инструментов обошлись мне в 11 000 токенов накладных расходов. Модель считывает эти токены при каждом шаге. Вы платите за этот контекст, даже если используете всего два инструмента.

Большинство людей беспокоятся о загрузке больших файлов. Они забывают о стоимости самого «меню инструментов».

Когда вы подключаете сразу несколько серверов, таких как GitHub, Slack и базы данных, у вас получается от 60 до 100 инструментов. Я видел сессии, где определения инструментов занимали 20% всего бюджета контекста.

Перестаньте загружать всё сразу. Вместо этого используйте отложенную загрузку (deferred loading).

Вот этот паттерн: • Перечисляйте инструменты только по названию и с кратким описанием. • Используйте инструмент поиска, чтобы получать полные схемы по запросу.

Вместо того чтобы внедрять массивный JSON-объект для каждого инструмента, вы предоставляете простое название. Когда модели требуется конкретный инструмент, она вызывает функцию поиска. Эта функция возвращает полную схему только для подходящих инструментов.

Результаты впечатляют: • Немедленная загрузка (eager loading) 80 инструментов: ~18 000 токенов. • Отложенная загрузка (deferred loading) 80 инструментов: ~1 000 токенов.

Это превращает определения инструментов из существенной статьи расходов в погрешность округления.

Эта стратегия работает потому, что в большинстве сессий используется лишь малая часть доступных инструментов. Если вы используете каждый инструмент в сессии, стоимость останется прежней. Но для большинства пользователей это экономит огромное количество контекста.

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

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

Будьте проще. Предоставьте название, описание и функцию поиска. Платите за три инструмента, которые вы используете, а не за восемьдесят, которые вы игнорируете.

Источник: https://dev.to/enjoy_kumawat/your-mcp-servers-are-burning-tokens-before-you-type-a-word-3076

Дополнительное обучающее сообщество: https://t.me/GyaanSetuAi