AI-агенты — приложение, которое работает по принципу Запрос-Ответ. В отличие от обычного API, агенты имеют свое состояние, а сама коммуникация с клиентом происходит часто через Webhook или другим асинхронным вариантом. Другая особенность в том, что для работы агента требуется делать запросы к (часто внешней) LLM, что требует мониторинга корректности работы этих запросов.
Что мониторить в AI-агенте
Для мониторинга стоит выбирать стандартный набор индикаторов и целей:
- Доступность - работает ли процесс/сервис агента, реагирует ли на hello world фразу
- Задержка - скорость ответа на фиксированную фразу
- Качество - совпадает ли ответ агента на заранее заданную фразу (проверяем, что LLM не сошел с ума)
- Пропускная способность - сколько сейчас активных сессий
А также, все смежные вещи в виде:
- CPU/Memory/Disk
- Статусы запросов и скорости ответов от LLM
- Сколько вложенных запросов к LLM происходит и вообще как обрабатывается запрос к агенту.
Иными словами нужно знать:
- Выполняет ли агент задачи правильно?
- Сколько времени тратит на каждую операцию?
- Какие инструменты использует?
- Где происходят ошибки?
Как настроить мониторинг AI-агента: пошаговая инструкция
Настрой базовый мониторинг
Для сбора метрик по CPU/Memory/Disk/Request можно использовать стандартные инструменты мониторинга:
- Prometheus или Zabbix агент позволяет собирать информацию по CPU/Memory/Disk
- Их же можно настроить для сбора метрик с Ingress/Nginx и получить информацию по Запрос-Ответ
- При помощи 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 решения.
Что делать, если мониторинг показывает деградацию качества ответов?
Проанализируй трассировки для выявления паттернов: изменились ли промпты, модель, входные данные? Сравни метрики с предыдущими периодами. Возможно, нужно переобучить модель или скорректировать промпты на основе новых данных.