Полная трассировка LLM-вызовов MCP-серверов

Представьте: отлаживаете AI-агента, а 90% задержки инструмента теряется в невидимом LLM-вызове. Эта доработка меняет всё для MCP-серверов, выдавая девелоперам настоящую наблюдаемость.

Серверы MCP теперь трассируют свои LLM-вызовы — никаких слепых зон в инструментах агентов — theAIcatchup

Key Takeaways

  • Семплирующие вызовы MCP теперь в спанах полностью — вскрывают 80%+ скрытых LLM-задержек в инструментах.
  • Дашборд выдаёт метрики на один взгляд: частоты, P95, ошибки по инструментам — оптимизация влет.
  • Это эхо ранней трассировки микросервисов; вот-вот станет стандартом до нашествия агентных роев в прод.

Ваш AI-агент тормозит на инструменте «summarize». Две секунды испаряются. В чём засада — в коде? В API? Или в LLM, куда сервер незаметно скинул работу?

Для девелоперов, собирающих агентные workflow’ы, это рутина с MCP-серверами. Нет видимости в семплирующих вызовах — значит, гадаешь на производительности. Теперь трассы высвечивают эти призраки, метрики рисуют правду на дашборде, а оптимизация перестаёт быть колдовством.

Почему семплирование MCP ломало ваши трассы

Спецификация MCP позволяет серверам — без ключей API — перекидывать LLM-работу обратно клиентам. Умно, да? Оркестратор бьёт по «summarize»; серверу нужен GPT-4o, чтоб пережевать текст; он семплирует клиентский LLM. Ответ течёт назад. Чистая делегация.

А трассы? Тишина. Middleware ловит вызовы инструментов без проблем. Семплирование? Метод глубоко в нутре хендлера. Ни спана. Инструмент на 2,1 секунды, из которых 1,8 сгорело на генерации — не видно. Тюкаешь не туда, лишние 300 мс.

«Вызов инструмента запускает LLM-вызов, невидимый в трассе. Middleware из статьи №7 трассирует tools/call summarize — но семплирующий вызов внутри? Призрак. Ни спана, ни длительности, ни имени модели.»

Это чёрный ящик, который раскололи в прошлый раз. А это — сиквел, готовый к демо.

Мы это кино видели. Ранние микросервисы задыхались от нетрассированных RPC — помните триумф Zipkin? Семплирование MCP — это RPC для агентного ИИ. Игнорируешь — твои инструменты превращаются в распределённые загадки. Чиним сейчас — опережаем рой мультиагентов.

Как они обуздали призрачные вызовы

Четыре правки. Просто до безобразия.

Сначала toadEyeMiddleware для базы — спаны на каждом инструменте.

Потом traceSampling-обёртка вокруг ctx.mcpReq.requestSampling(). Передаём модель, токены. Бум: SpanKind.CLIENT с именем «chat gpt-4o». Ловит длительность (1834 мс!), gen_ai.request.model, даже mcp.server.name.

Вложенность идеальна:

tools/call summarize 2.1с └── chat gpt-4o (семплирование) 1.8с

Реальная логика? 300 мс. Оптимизируй её, а не фантомы.

Код — импорт в одну строку. В хендлере: оберни семплирование. Пять минут на тест — сервер поднят, клиентский агент стучит, трассы льются в OTel-бэкенд.

А метрики? Тут уже как в Bloomberg. Запросы Prometheus из коробки. Никаких размытых счётчиков.

Дашборд, который отвечает: «Что ломается?»

Сверху — таблица на один взгляд:

Частота вызовов инструментов | Ср. длительность | Ошибок | Чтений ресурсов 12.4 req/s | 45.2 мс | 2.3% | 3.1 req/s

Ошибки в красном? Копаем глубже.

Таймсерии частот по инструментам. Агент переключается с calculate на search? Линии покажут. P50/P95 по инструментам — P95 search подскочил до 2 с? Пейджер в деле.

Ошибки в стеке: RateLimitError на search (8.7%), Validation на calculate (0%). Ресурсы по URI — горячие источники данных воют.

Внизу: сводная таблица по инструментам.

Инструмент Частота Ср. (мс) P95 (мс) Ошибки
calculate 8.2 12.3 24.1 0%
get-weather 3.1 145.2 312.8 3.2%
search 1.1 890.4 2134 8.7%

Это не понты. Это вид для совета директоров: затраты коррелируют с задержками, ошибки — с утечками выручки. Масштабируешь агентов? Поблагодаришь эти четыре метрики.

Это Zipkin-момент для AI-агентов?

Мой козырь: никто не говорит вслух, но наблюдаемость MCP отстаёт от LangChain на мили — те экосистемы трассируют всё подряд, хайп или нет. Чистая спецификация MCP блестит, но инструменты прятали такие жемчужины, как семплирование.

Прогноз? Когда агенты начнут цеплять серверы (multi-MCP на подходе), такая трассировка станет базой. Игнорируешь — прод-агенты ослепнут под нагрузкой. Ставлю: toad-eye форкнут везде к Q2, стандарты кивнут, клиенты OpenAI потребуют.

Скептик? Не корпоративный PR — open source, воспроизводимо. Но смотрите: вендоры переименуют в «enterprise agent mesh» за 10к$/мес. Хватайте фри-версию заранее.

Зачем полная трассировка MCP нужна вашему стеку?

Девелоперы на Claude или GPT-аг

Priya Sundaram
Written by

Hardware and infrastructure reporter. Tracks GPU wars, chip design, and the compute economy.

Worth sharing?

Get the best AI stories of the week in your inbox — no noise, no spam.

Originally reported by dev.to