Debug & tracing
Детальне debug-в'ю — кожен промпт, виклик тула, MCP-фрейм, параметр моделі, кількість токенів і latency турну. Це телеметрія, а не джерело правди: лише на дозапис, важка на запис, високого обсягу, читається переважно для дебагу та eval'у, з коротшим строком зберігання, ніж чати.
Правило: trace'и не йдуть у транзакційний Postgres. Сирі промпти/trace'и роздули б чат-БД і змішали б телеметрію з правдою. Вони отримують свою систему.
Те, що є сьогодні, — це не воно
Langfuse не розгорнуто, і ніщо тут під нього не інструментовано. Промпт ходу сьогодні можна прочитати в журналі промптів — це таблиця, вимкнена за замовчуванням, вмикається по агенту його власником, зберігається сім днів і доступна лише адміністраторові платформи в панелі. Короткий, завжди ввімкнений запис про те, що агент робив, — це ще одна, третя річ. Обидві описано на сторінці Що агент робив. Усе інше на цій сторінці — план.
Рекомендовано: self-hosted Langfuse
Langfuse створений саме для цього — і дає debug-UI з коробки:
- Traces & sessions — повне дерево турну: промпти, виклики LLM, виклики тулів / MCP-трафік, проміжні кроки, вкладені суб-агенти.
- Промпти, токени, вартість, latency на кожен виклик; пошук і фільтр; порівняння прогонів.
- Eval — датасети, скори, regression-перевірки згодом.
- Self-hosted у кластері (Postgres + ClickHouse для високообсягового trace-сховища).
Мозок (api) інструментований видавати trace на турн; tools/call worker'а та результати прикріплюються як спани. Нічого з цього не живе в чат-таблиці.
Альтернатива (зроби сам): пиши trace-події в ClickHouse (або JSONL в об'єктному сховищі) — дешеве колонкове сховище для append-only логів — але тоді UI будуєш сам. Langfuse виграє за debug-досвідом.
Строк зберігання та рівні
- Гарячі в ClickHouse для свіжого дебагу (дні–тижні).
- Холодні перекочуються в об'єктне сховище (або дропаються) за retention-політикою — trace'и одноразові так, як чати ні.
Що де спливає
- Ця trace-площина внутрішня (debug/eval), ті самі дані control-plane, що ніколи не доходять до чату користувача — див. Worker → Use щодо розділу chat-vs-control-plane.
- Турн несе trace id;
Messageчату може зберегти цей id, щоб ти міг стрибнути з повідомлення прямо до його повного trace'у.
Дивіться також
- Storage — чат-першоджерело (тримається вільним від trace-блобів).
- Worker → Use — трафік MCP-тулів, що стає спанами.
- Implementation — підключення інструментації.