Skip to main content

Инструментирование OTel

Первый шаг в построении эффективного цикла мониторинга — это инструментирование. Без высококачественных сигналов, встроенных напрямую в ваше агентное время выполнения, вы летите вслепую.

OTel предоставляет основу для структурированной, взаимозаменяемой телеметрии по трассировкам, метрикам и логам — и хорошо интегрируется с агентными системами на основе LangGraph.

Инструментирование узлов LangGraph: LangGraph структурирован как граф асинхронных вызовов функций. Каждый узел в графе представляет функциональный шаг в рабочем процессе агента — возможно, планирование, вызов инструмента или генерация ответа с LLM. Поскольку каждый шаг уже изолирован и явно объявлен, легко инструментировать каждый из них спанами OTel.

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

Структурированные трассировки: Эти трассировки экспортируются в реальном времени в бэкенды, такие как Tempo или Jaeger, и визуализируются вместе с логами и метриками в Grafana.

Метрики и логи: В дополнение к трассировкам, OTel может испускать структурированные логи и метрики времени выполнения. Например, вы можете записать количество раз, когда вызывается конкретный инструмент, среднее время ответа на узел планирования или процент неудачных задач на версию модели.

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

Loki как слой агрегации логов: Loki служит вашим слоем агрегации логов. Он захватывает структурированные логи — часто в формате JSON — из всей вашей агентной инфраструктуры. Каждый узел LangGraph может испускать структурированные события логов во время своего выполнения.

Grafana как унификатор: Grafana объединяет оба этих потока данных в единое окно. Он предоставляет слой визуализации, где логи из Loki и трассировки из Tempo могут исследоваться бок о бок.