GOD CRM Russia: post #169 — TG.ME

━━ День разработки 239 · 25 июля 2026 ━━

📦 Сделал

— ADR-182: инструменты агента перестали возвращать всю строку. Раньше на каждый read/write в таблицу агент получал весь ряд — все колонки, даже ненужные, и это жрало контекст. Теперь чтение умеет проекцию по полям: просишь три колонки — получаешь три. Write-инструменты отвечают «худой» квитанцией — что записал и id, а не дамп всей строки.

— Симулятор схем: движок прогонов. Гоняю схему N раз со случайным разбросом на входах и рисую развёртку P50/P95 — медиана и хвост, а не одно среднее. Сырые сэмплы едут на фронт, там полоса распределения и референс-линия P95.

— Роутинг выходов узла: панель %-split — узел раздаёт поток по рёбрам в заданных долях, на ребре бейдж с процентом. Плюс акцентные цвета узлов прямо из списка блоков и починка скорости анимации на фан-ауте.

— Встраиваемый чат: одним скриптом чат CRM живёт в iframe на чужом сайте, со своим хедером и переключателем пространств.

— OIDC client registry + реестр флота (миграция), провижининг таблиц модуля вынес в отдельный сервис.

🔍 Что нашли

Про эхо в контексте агента. Наивно инструмент после записи возвращает всю строку обратно — «вот что получилось». Человеку удобно, модели дорого: каждый ответ инструмента ложится в контекст токенами, а ряд в широкой таблице легко тянет на сотню-другую колонок, из которых агенту нужны две. На длинном диалоге агент забивает окно эхом собственных записей. Убрал эхо: write отвечает квитанцией (id + что изменил), read берёт проекцию — агент сам называет нужные поля и получает ровно их. Postgres и так делает SELECT по колонкам; тянуть SELECT и резать на бэке — платить дважды. Меньше токенов на ход — длиннее живёт полезный диалог в том же окне.

Спасибо что читаете. До завтра.

━━ Конец дня 239 ━━
July 25, 2026 7