Skip to content

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 — підключення інструментації.