Bash-обгортки спожили більше токенів, ніж протокол Model Context Protocol (MCP) із семи схем під час тестування з 12 запитаннями, що доводить: оболонка (shell) не є дешевим і простим рішенням, як вважають багато інженерів. Використання токенів безпосередньо впливає на вартість агентів на базі великих мовних моделей (LLM), що працюють у масштабі.
Експеримент, що змінив правила гри
Розробник виміряв чотири способи, якими LLM-агент міг отримувати дані про судна:
- MCP – сім схем інструментів, розміщених через Model Context Protocol.
- Bash + curl (cold) – прямий виклик оболонки без додаткових промптів.
- Bash + curl (warm) – той самий виклик оболонки плюс системні промпти для безпечного використання.
- Спеціалізований CLI-інструмент – створений спеціально для цього інтерфейс командного рядка.
Усі чотири варіанти пройшли через діалог із 12 запитаннями. Споживання токенів, що безпосередньо впливає на рахунки за API, виявилося таким:
- MCP: 109 779 токенів
- Bash + curl (cold): 158 021 токен
- Bash + curl (warm): 178 577 токенів
Дані щодо спеціалізованого CLI-інструмента не розголошувалися, але два варіанти з Bash уже перевищили витрати MCP.
Чому оболонка коштувала дорожче за протокол
Кожен інструмент Bash потребував приблизно 2 700 токенів «промптів-обгорток» (harness prompts) — інструкцій, які вказують агенту, як безпечно викликати оболонку, парсити вихідні дані та обробляти помилки. Тільки ці промпти перевищують загальну вагу всіх семи схем MCP разом узятих.
Вартість — це не лише початковий виклик. У робочому середовищі той самий агент попередньо завантажував 11 MCP-серверів під час запуску, споживаючи 19 800 токенів ще до першого запиту користувача. Потім, на кожному кроці, агент перечитував кожну схему з кожного сервера, тому навіть на таке просте запитання, як «котра година?», доводилося платити ціною токенів за опис усіх інших інструментів.
Прихований витік ресурсів через жадібне завантаження
Коли LLM-агент завантажує кожен сервер інструментів на кожному кроці (eager loading), рахунок за токени різко зростає. Експеримент показав, що «справжня» вартість використання Bash — це не сама команда оболонки, а навколишній контекст, який необхідно передавати моделі щоразу.
- Інструменти з фіксованою вартістю (схеми MCP) додають передбачувані витрати токенів на кожен крок.
- Динамічні корисне навантаження (відповіді curl) створюють зростаючий борг, який масштабується залежно від довжини розмови та обсягу даних.
Таким чином, оболонка, яка на перший погляд здається «безкоштовною», насправді накладає більший змінний податок у токенах.
Що варто зробити інженерам ШІ далі
- Впроваджуйте ліниве завантаження (lazy loading). Завантажуйте сервер інструментів лише тоді, коли його схема дійсно потрібна, і зберігайте його в пам'яті між кроками, замість того щоб перечитувати його щоразу.
- Розглядайте схеми інструментів як фіксовані витрати на кожен крок. Плануйте бюджети токенів, виходячи з відомого розміру визначень MCP, а не припускайте, що команди оболонки є безкоштовними.
- Перегляньте припущення «оболонка = дешево». Профілюйте використання токенів для кожного шляху інструменту перед остаточним прийняттям архітектурного рішення.
- Використовуйте структуровані інструменти для малих моделей. Навіть за обмежених вікон контексту, чітко визначені схеми покращують логіку, конвертацію одиниць та обробку помилок.
Підсумок: вартість визначається економікою токенів, а не дизайном протоколу. Управління тим, коли і як завантажуються сервери інструментів, може заощадити десятки тисяч токенів у розмові, безпосередньо знижуючи операційні витрати.
Джерело: https://dev.to/clarkbw--/enabling-bash-costs-more-context-than-seven-mcp-tool-schemas-2h82
