Чому ми відмовилися від економії 96% токенів

Ми знайшли MCP-сервер, який економить 96% токенів. Він використовує лише один інструмент: execute_code. Замість виклику конкретних функцій, агент пише JavaScript, щоб отримати дані.

На папері це виграш. Для складних завдань виконання коду перемагає виклик інструментів за ефективністю.

Але ми не стали його впроваджувати. Натомість ми залишили наші окремі іменовані інструменти.

Ось чому очевидний вибір виявився хибним для нашого агента.

Ціль визначає дизайн

Більшість розробників створюють рішення для передових (frontier) моделей у вікні чату. Ці моделі мають величезні токени. Для них виконання коду — це король.

Ми ж створюємо голосового агента на базі невеликої локальної моделі (Hermes 3 8B) для використання на човні.

Для малої моделі обмеженням є не кількість токенів. Обмеженням є надійність.

Якщо малій моделі важко викликати простий інструмент, то завдання написати правильний JavaScript стає набагато складнішим. execute_code обмінює надійність на токени. Ми не можемо собі дозволити такий обмін.

Проблема «останньої милі»

Виконання коду перекладає «останню милю» роботи на агента. Агент має:

  • Фільтрувати дані
  • Сортувати результати
  • Форматувати вихідні дані

Наші інструменти виконують цю роботу всередині сервера. Наприклад, запитуючи про стан акумулятора, наш інструмент повертає рядок, готовий для перетворення тексту в мовлення (text-to-speech). Він каже "68 відсотків, 12,8 вольта" замість сирих чисел.

Якщо ми використаємо execute_code, агенту доведеться самому писати логіку для форматування цієї мови. Малі моделі постійно з цим не справляються.

Правило відсутності

На човні датчики можуть виходити з ладу. У нашій системі відсутній датчик повертає чистий null. Це вважається успішним викликом.

У моделі виконання коду відсутність датчика часто викликає помилку. Якщо мала модель обере кілька хибних шляхів, це призведе до перевищення лімітів помилок і зламає агента. Іменовані інструменти дозволяють нам трактувати відсутність даних як успіх, а не як помилку.

Контрольний список: впроваджувати чи створювати власне

Перед тим як впроваджувати або створювати MCP-сервер, поставте собі такі запитання:

• Хто є цільовим агентом? (Передова модель проти малої локальної моделі) • Яке є головне обмеження? (Токени проти надійності) • Хто виконує «останню милю»? (Інструмент форматує дані чи агент?) • Як обробляється відсутність даних? (Відсутнє значення — це помилка чи null?) • Яка вартість підтримки? (Чи успадковуєте ви застарілу кодову базу?)

Ми не ігнорували інший проєкт. Ми запозичили його ідеї. Ми взяли їхню логіку обробки тривог та пошуку шляхів і додали їх до нашої дорожньої карти.

Ефективність — це чудово, але коли ви перебуваєте на воді, надійність є обов'язковою.

Source: https://dev.to/clarkbw--/why-we-kept-named-mcp-tools-despite-a-96-token-saving-40ae

Optional learning community: https://t.me/GyaanSetuAi