AI-агенты — приложение, которое работает по принципу Запрос-Ответ. В отличие от обычного API, агенты имеют свое состояние, а сама коммуникация с клиентом происходит часто через Webhook или другим асинхронным вариантом. Другая особенность в том, что для работы агента требуется делать запросы к (часто внешней) LLM, что требует мониторинга корректности работы этих запросов.

Что мониторить в AI-агенте

Для мониторинга стоит выбирать стандартный набор индикаторов и целей:

  1. Доступность - работает ли процесс/сервис агента, реагирует ли на hello world фразу
  2. Задержка - скорость ответа на фиксированную фразу
  3. Качество - совпадает ли ответ агента на заранее заданную фразу (проверяем, что LLM не сошел с ума)
  4. Пропускная способность - сколько сейчас активных сессий

А также, все смежные вещи в виде:

  1. CPU/Memory/Disk
  2. Статусы запросов и скорости ответов от LLM
  3. Сколько вложенных запросов к LLM происходит и вообще как обрабатывается запрос к агенту.

Иными словами нужно знать:

  • Выполняет ли агент задачи правильно?
  • Сколько времени тратит на каждую операцию?
  • Какие инструменты использует?
  • Где происходят ошибки?

Как настроить мониторинг AI-агента: пошаговая инструкция

Настрой базовый мониторинг

Для сбора метрик по CPU/Memory/Disk/Request можно использовать стандартные инструменты мониторинга:

  1. Prometheus или Zabbix агент позволяет собирать информацию по CPU/Memory/Disk
  2. Их же можно настроить для сбора метрик с Ingress/Nginx и получить информацию по Запрос-Ответ
  3. При помощи ELK/Loki можно собрать логи работы, но лучше это сделать через трассировку (следующий шаг)

Выбери решение для трассировки AI

Для мониторинга AI-агентов существует несколько решений:

Phoenix (Arize) — открытая платформа с поддержкой OpenTelemetry. Отлично подходит для начала работы и имеет богатый функционал для анализа LLM-приложений.

MLflow — известное решение для задач machine learning умеет работать с AI.

Langfuse — специализированная платформа для мониторинга LLM-приложений с акцентом на трассировку и аналитику.

Weights & Biases — платформа для MLOps с возможностями мониторинга AI-агентов.

Пример настройки трассировки с Phoenix

poetry add arize-phoenix opentelemetry-sdk opentelemetry-exporter-otlp
poetry add openinference-instrumentation-llama-index  # для LlamaIndex
poetry add openinference-instrumentation-langchain   # для LangChain
import phoenix as px
from opentelemetry import trace as trace_api
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
from opentelemetry.sdk import trace as trace_sdk
from opentelemetry.sdk.trace.export import SimpleSpanProcessor

# Запуск Phoenix локально
session = px.launch_app()

# Настройка OpenTelemetry
tracer_provider = trace_sdk.TracerProvider()
span_exporter = OTLPSpanExporter("http://localhost:6006/v1/traces")
span_processor = SimpleSpanProcessor(span_exporter)
tracer_provider.add_span_processor(span_processor)
trace_api.set_tracer_provider(tracer_provider)
from openinference.instrumentation.langchain import LangChainInstrumentor
from openinference.instrumentation.openai import OpenAIInstrumentor

# Автоматическая инструментация
LangChainInstrumentor().instrument()
OpenAIInstrumentor().instrument()

# Теперь все вызовы LangChain и OpenAI будут автоматически трассироваться

Хочешь освоить диагностику сложных систем?

Мониторинг AI-агентов — это часть более широкой задачи по поддержанию надежности IT-систем. Изучи коллекцию сценариев с реальными инцидентами и научись быстро находить причины сбоев.

FAQ

Какие метрики наиболее важны для мониторинга AI-агентов?

Ключевые метрики: время ответа, количество токенов, процент успешных запросов, частота использования инструментов. Для качественной оценки добавь метрики релевантности ответов и соответствия инструкциям.

Как обеспечить приватность данных при мониторинге?

Настрой маскирование чувствительных данных в трассировках, используй локальное развертывание Phoenix (если выбрал такой инструмент), ограничь доступ к данным мониторинга через RBAC. Для критичных систем рассмотри on-premise решения.

Что делать, если мониторинг показывает деградацию качества ответов?

Проанализируй трассировки для выявления паттернов: изменились ли промпты, модель, входные данные? Сравни метрики с предыдущими периодами. Возможно, нужно переобучить модель или скорректировать промпты на основе новых данных.