TGViewer
Сергей Мелюков Сергей Мелюков @smelukov_dev · 646 subscribers
Post #129 650
В чем произошла заруба:
Среди прочего, я хочу понимать какие MCP были запущены и сколько они работали.
Как это реализовала модель: добавила методы подсчета и отправки счетчиков сессии прямо в класс, который реализует ACPSession, а метрики ask tool шли вообще без привязки к сессии
Я задал совершенно справедливые вопросы, мол, "что за фигня и как это планируется масштабировать?"
Дальше я получил примерно такой ответ (упрощаю):
Ну, смотри - у нас метрики привязаны к сессии, поэтому вот тебе метод broadcastCounters у сессии, а ask tools... ну так мы же запускаем ask MCP вне сессии, а значит не знаем о том, внутри какой сессии задаем вопросы пользователю. А то, что ты просил делать масштабируемый код... ну, код в основном вроде расширяемый, просто есть некоторые ограничения, которые мы не можем обойти, либо их обход обойдется слишком дорого

Смотрите, что произошло: код по сути рабочий, но были нарушены базовые требования + развивая такой код мы получили бы неподдерживаемую и слаборасширяемую архитектуру, то есть качество кода подверглось бы деградации

Я попросил модель унести все что касается счетчиков в отдельную сущность SessionStats и создавать объект при создание ACP сессии:


const stats = new ACPSessionStats();
const session new ACPSession();
registerSession(session, stats);


Статы подписываются на события сессии, но так же их можно модифицировать и извне, если это потребуется.
А за счет подписки на события конкретной сессии мы получаем привязку к сессии для любых вызовов любых инструментов и код отправки метрик из ask tools можно убрать.
Метрики при этом можно собрать так:


const metrics = renderMetrics(stats);


Мораль: вне зависимости от того, какую модель вы используете и какие требования описывали, всегда проверяйте на адекватность то, что выдала модель, иначе попадете в ситуацию, когда код вроде рабочий, но не на долго
Был ли у вас опыт реализации ACP-клиентов и для каких целей?
Agent Client Protocol Introduction - Agent Client Protocol Get started with the Agent Client Protocol.
  • 👍 4
  • ❤ 3
More from @smelukov_dev
  1. Jun 14, 2026Подумал тут про покрытие тестами кода, который написала модель Есть отдельный интересный к…
  2. May 15, 2026Кстати, если вы когда-нибудь озадачивались подсчетом ресурсов для развертывания LLM локаль…
  3. May 15, 2026Подумал: почему бы не писать о том, что делаю прямо сейчас и с чем сталкиваюсь 🙂 Я придер…
  4. Apr 13, 2026ИИ победил! Готовлю кое-что интересное. Интересно, что Ведьмак и Статоскоп поделили степен…
  5. Apr 10, 2026Post #126
  6. Oct 12, 2025Post #125
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →