Agent Observability

Наблюдаемость агента — это трейсинг каждого шага, а не графики CPU/RAM. Классический мониторинг видит, что сервис «жив», но не отвечает на вопросы «почему агент принял это решение, какой tool вызвал, что отправил в LLM, где именно сломался». Без неё агент — black box: расходы растут, ошибки невоспроизводимы, отладка занимает часы вместо минут.

Суть

Для обычного сервиса хватает метрик инфраструктуры (инстансы, память, HTTP-коды). Агент недетерминирован и многошагов, поэтому нужен трейс — запись всей траектории выполнения: request → план → tool_call → tool_result → … → финальный ответ. Трейс превращает «гадание, почему агент упал» в наблюдаемый факт.

Зачем это нужно

Главные боли прода, которые ловит именно трейсинг:

  • Отказы — агент молча падает или зависает, данных о поведении нет.
  • Невизуальность — не видно, где он «тыкается» и деградирует на живом трафике.
  • Косты — дорогие/ненужные вызовы LLM не видны без пошагового учёта токенов.
  • Каскадные ошибки — трейс работает как «детектор лжи»: вскрывает, что модель не вызвала инструмент, а выдумала данные (например, курс биткоина), и передала их дальше.

Как работает

  • Что логировать в span'е шага: вход/выход, какой tool вызван и с какими аргументами, latency, ошибки и ретраи. Это минимум, по которому можно отличить «не тот документ принесли» от «модель проигнорировала верный контекст».
  • Трейс как поле state — на уровне графа удобно вести журнал «размышлений» прямо в состоянии (поле trace), помимо внешнего инструмента (см. LangGraph Observability).
  • Лучшие практики эксплуатации: версионирование кода (каждый релиз агента — новая версия, хронология в git); раздельные конфиги для dev/staging/prod; горизонтальное масштабирование (k8s); прогон на тестовых экспериментах до прода.
  • Аннотации экспертом — UI, где доменный эксперт (не разработчик) накликивает оценки ответов; быстро строится, если инфраструктура данных уже есть.
  • Уровни наблюдаемости: на уровне агента/графа — трейсинг шагов и tools; на уровне retrieval — отдельный слой (RAG Observability: какие чанки пришли, версия индекса). Наблюдаемость — вход для оценки качества (Agent Evals) и алертинга при деградации метрик.

Связано с

  • AgentOps — observability как первый пиллар дисциплины
  • LangSmith vs Langfuse — инструменты, которые собирают трейсы
  • Agent Evals — трейс → метрики → оценка качества
  • RAG Observability — наблюдаемость на уровне retrieval (дополняет шаговый трейсинг)
  • LangGraph Observability — трейсинг шагов графа + поле trace в state

Открытые вопросы

  • минимальный набор полей span'а для прод-дебага агента (tool, args, latency, tokens, error)
  • какие пороги деградации метрик ставить триггером алерта