AI-инжиниринг

Observability: логирование, трейсинг, мониторинг AI pipeline

Цели урока

  • Определить, что логировать при каждом LLM-вызове: промпты, токены, стоимость, качество, feedback
  • Реализовать distributed tracing для LLM chains с parent-child spans
  • Интегрировать LLM observability платформу (Helicone, LangFuse, LangSmith)
  • Настроить alerting на деградацию качества, error rate spikes, cost anomalies
  • Построить cost monitoring dashboard с realtime метриками и budget tracking

Классический backend: логи, метрики, трейсы - и понятно где сломалось. AI backend: модель вернула 200, токены потрачены, пользователь недоволен - и непонятно почему. LLM observability это отдельная дисциплина. Обычный APM показывает HTTP 200 - всё зелёное. Но внутри: галлюцинация, деградировавший промпт, cost per session вырос втрое. Это слепое пятно стандартного мониторинга.

  • Langfuse (open-source, 5000+ GitHub stars) - self-hosted LLM observability с traces/spans для каждого вызова, cost per session, hallucination rate и user feedback loop
  • Helicone - proxy-based: одна строка изменения baseURL, и все промпты, токены и стоимость логируются автоматически. Zero code changes
  • LangSmith от LangChain: 100K+ активных проектов, de facto стандарт для LangChain-приложений с playground и eval datasets
  • OpenAI Dashboard показывает usage и costs, но не качество - application-level мониторинг нужен поверх

Когда LLM-приложениям понадобилась своя телеметрия

В течение **2023** года, когда команды начали выкатывать LLM-приложения в продакшн, классических метрик и логов стало не хватать: один запрос пользователя разворачивался в цепочки промптов, retrieval'ов и вызовов инструментов, и обычный лог ошибки ничего не говорил о том, какой именно шаг повёл себя не так и почему. Решение позаимствовали из мира микросервисов - **distributed tracing** - и адаптировали под LLM, позже стандартизировав через соглашения OpenTelemetry для AI-спанов. **LangSmith**, запущенный командой LangChain в бете в августе 2023, сделал трейс каждого шага цепочки полноценным объектом. В том же году из батча W23 Y Combinator вышли ещё два инструмента, определившие категорию: **Helicone** - прокси, который логировал и отслеживал запросы при замене одной строки base-URL, и **Langfuse** - открытая, self-hostable платформа для трейсинга, управления промптами и оценки. Observability для AI перестала быть самописной обёрткой и стала отдельным слоем инструментов.

Предварительные знания

  • LangChain and LlamaIndex: Orchestrating LLM Pipelines

Что логировать: промпты, токены, латентность, качество

Классический backend: логи, метрики, трейсы - и понятно где сломалось. AI backend: модель вернула 200, токены потрачены, пользователь недоволен - и непонятно почему. LLM observability это отдельная дисциплина.

Октябрь 2023. AI-стартап обнаруживает: качество ответов упало на 30% за две недели. Пять дней ручного разбора логов. Итог - один сломанный few-shot пример в system prompt: OpenAI обновила GPT-4, и пример перестал работать. Если бы был мониторинг quality metrics - алерт прилетел бы в первый день. Вместо этого - 10 000 пользователей получали плохие ответы.

Обычный APM (Datadog, New Relic) видит HTTP-статус, latency, память. LLM-вызов вернул 200 - всё зелёное. Но внутри: модель галлюцинирует, промпт деградировал, стоимость сессии выросла втрое. Стандартные инструменты слепы к prompt/completion контенту, token usage и semantic quality. Нужен application-level мониторинг.

**Не логировать полные промпты и ответы без шифрования.** Промпты могут содержать PII пользователей, ответы - конфиденциальную информацию. Варианты: хеширование, encryption at rest, доступ по ролям. GDPR/CCPA требуют аудита доступа к персональным данным.

Обычный APM (Datadog, New Relic) покрывает LLM observability

APM видит HTTP-статус, latency, ошибки - но слеп к prompt/completion контенту, token usage, semantic quality и cost per session

LLM вызов вернул 200 - APM доволен. Но внутри: модель галлюцинирует, промпт деградировал, cost per session вырос в три раза. Hallucination rate, p95 latency по типам запросов, user feedback loop - всё это требует application-level instrumentation, которого нет в стандартных APM-инструментах.

Почему обычный APM (Datadog, New Relic) недостаточен для LLM observability?

Distributed Tracing для LLM Chains: от запроса до ответа

LLM-приложение - это не один вызов. Это цепочка: guardrails -> RAG retrieval -> cache check -> LLM call -> output validation. При проблеме нужно знать, на каком шаге всё сломалось. Без трейсинга - только общее время запроса и финальный статус.

Distributed tracing связывает все шаги в единый trace с parent-child spans. Каждый span знает своё место в цепочке, своё время и свои атрибуты. Langfuse, LangSmith и Helicone строят трейсы именно так - traces/spans для LLM вызовов это их основная единица данных.

Именно так работают Langfuse и LangSmith под капотом. Каждый вызов `trace.span()` создаёт span, каждый `trace.generation()` - span с LLM-специфичными атрибутами (model, tokens, cost). Timeline в UI - это просто рендер этого дерева.

Зачем каждый шаг LLM chain оборачивается в отдельный span?

LangSmith, LangFuse, Helicone: специализированные платформы

Писать tracing с нуля - можно. Но зачем, если Langfuse (open-source, 5000+ GitHub stars), Helicone и LangSmith уже решили эту задачу? Готовая инфраструктура: автоматический сбор traces/spans для LLM вызовов, cost per session, p95 latency, hallucination rate, user feedback loop - всё из коробки.

ПлатформаТипИнтеграцияСтоимостьКлючевая фича
LangSmithSaaSLangChain SDK, REST APIFree tier + paidDeep LangChain integration, playground
LangFuseOpen-source / SaaSSDK (JS/Python), OpenAI proxySelf-hosted free, SaaS paidSelf-hosted, GDPR-compliant
HeliconeProxyИзменение baseURL, без SDKFree tier + paidZero-code setup, caching proxy
BraintrustSaaSSDK, CI/CD integrationPaidEval-focused, dataset management
Arize PhoenixOpen-sourceOpenTelemetry, SDKSelf-hosted freeML observability background

Выбор платформы - инженерное решение, не вкусовщина. **Helicone** - самый быстрый старт: proxy, одна строка, ноль изменений в коде. **LangFuse** - open-source, self-hosted, GDPR compliance без танцев с данными за рубежом. **LangSmith** - для проектов на LangChain, где нужен playground и eval datasets.

Какое ключевое преимущество Helicone перед LangFuse для быстрого старта?

Alerting на деградацию качества

Дашборд без алертинга - красивая картина, на которую смотрят раз в день. Деградация модели случается ночью. Обновление провайдера - в пятницу вечером. Cost anomaly - за выходные. Нужны автоматические триггеры: упал eval score, вырос error rate, взлетела стоимость сессии.

Hallucination rate выше нормы, thumbs down больше 20%, fallback rate растёт - каждый из этих сигналов требует разного реагирования. Не всё требует PagerDuty в 3 ночи. Нужна градация: warning в Slack, critical в PagerDuty.

АлертМетрикаПорогЧто означает
Quality degradationquality_score < 3.5/530 минМодель даёт плохие ответы
High latencyp95 > 10s15 минAPI деградирует или перегружен
Error rate spikeerror_rate > 5%10 минRate limit, outage, bug
Cost anomaly> 100/час60 минDDoS, бесконечный цикл, спам
Fallback rate> 10%30 минPrimary модель недоступна
Negative feedbackthumbs_down > 20%60 минПользователи недовольны

Какой алерт должен быть critical (PagerDuty), а не warning (Slack)?

Cost Monitoring Dashboard: визуализация расходов в реальном времени

Cost per session, p95 latency, hallucination rate, user feedback loop - все эти данные нужно видеть в одном месте. Cost monitoring dashboard объединяет финансовые и качественные метрики. Главный инсайт: **projected month-end cost** - прогноз на основе текущего темпа. Команда видит заранее, что к концу месяца выйдет за бюджет, и успевает оптимизировать.

ВиджетОбновлениеДля кого
Realtime spendКаждую минутуDevOps, on-call
Cost breakdown by modelКаждые 5 минEngineering lead
Quality trendsКаждые 15 минProduct manager
Budget utilizationКаждый часManagement
Anomaly detectionКаждые 10 минDevOps, on-call

Fallback level breakdown - первый виджет при алерте на деградацию качества. Высокий fallback rate (>10% на secondary/template) = primary модель возвращает ошибки. Нормальный fallback rate, но низкий quality = проблема в содержании: обновление модели провайдером или сломанный промпт.

Какую метрику dashboard проверять ПЕРВОЙ при алерте о деградации качества?

Обычный APM (Datadog, New Relic) покрывает LLM observability

APM видит HTTP-статус, latency, ошибки - но слеп к prompt/completion контенту, token usage, semantic quality и cost per session

LLM вернула 200 - APM доволен. Но внутри: модель галлюцинирует, промпт деградировал после обновления провайдера, cost per session вырос в три раза. Hallucination rate, p95 latency по типам запросов, user feedback loop, traces/spans для отдельных шагов цепочки - всё это требует application-level instrumentation. Стандартные инструменты для этого не предназначены.

Observability для AI pipeline

  • APM видит HTTP-метрики - не видит prompt/completion контент, token usage, semantic quality. Нужен application-level мониторинг
  • При каждом LLM-вызове логировать: model, tokens, cost, latency, cache hit, guardrail violations, quality score, user feedback
  • Distributed tracing: каждый шаг chain в отдельном span. Timeline визуализация сразу показывает bottleneck
  • Платформы: Helicone (proxy, одна строка) для старта, LangFuse (open-source) для compliance, LangSmith для LangChain
  • Alerting: quality < 3.5/5, error rate > 5%, cost > 100/час, fallback rate > 10%, thumbs down > 20%
  • Dashboard: realtime spend, breakdown по моделям, budget utilization, projected month-end cost, quality trends

Что дальше

Observability завершает блок Production и Оптимизация. Следующие темы - fine-tuning и работа с open-source моделями.

  • Fine-tuning — Observability data (промпты, ответы, feedback) - исходные данные для fine-tuning
  • Evaluation — Eval scores - ключевая метрика quality monitoring в observability
  • Cost Management — Cost monitoring dashboard использует данные из cost management service

Связанные уроки

  • aie-20-langchain-llamaindex — Фреймворки эмитят трейсы, которые мы наблюдаем
  • aie-31-evaluation — Трейсы становятся датасетами для оценки
  • aie-29-cost-management — Spans вскрывают token-стоимость по шагам
  • aie-36-fine-tuning — Залогированные взаимодействия питают данные fine-tuning
  • sd-22-observability — Та же триада логов, метрик и трейсов
  • sd-10-microservices
Observability: логирование, трейсинг, мониторинг AI pipeline

0

1

Войти