Главная/Блог/Аналитика/Отладка AI-агентов: трассировка через…
Аналитика4 мин чтения · 30 сентября 2026 г.

Отладка AI-агентов: трассировка через NVIDIA NeMo Relay и Hermes

Как использовать NeMo Relay для анализа поведения агентов Hermes: отладка вызовов инструментов, оптимизация токенов и сравнение версий через Arize Phoenix.

Отладка AI-агентов: трассировка через NVIDIA NeMo Relay и Hermes

AI-агент может успешно выполнить задачу, но сделать это неэффективно: лишние поисковые запросы, повторное чтение файлов или ошибки инструментов, которые агент исправляет сам. Успешный финальный ответ скрывает эти издержки, которые увеличивают задержку (latency) и расходуют токены. Для разработчиков критически важно понимать не только результат, но и путь его достижения.

NVIDIA NeMo Relay предоставляет единый слой наблюдаемости (observability) для агентов, захватывая упорядоченные события жизненного цикла и структурированные траектории. Интеграция с агентным фреймворком Hermes Agent позволяет получать потоки событий ATOF, пошаговые траектории ATIF и спаны OpenTelemetry с метками OpenInference. Это дает возможность детально инспектировать поведение модели, использование ресурсов и ошибки в таких инструментах, как Arize Phoenix.

01Форматы трассировки NeMo Relay

NeMo Relay генерирует три основных формата данных, каждый из которых решает свою задачу в отладке:

  • Agent Trajectory Observability Format (ATOF): JSONL-лог событий начала и завершения сессий (scopes) с метками времени. Идеально для аудита отдельных событий, проверки таймингов и иерархии «родитель-потомок».
  • Agent Trajectory Interchange Format (ATIF): Пошаговый JSON-рекорд взаимодействий агента, вызовов инструментов и наблюдений. Используется для анализа пути агента шаг за шагом.
  • OpenTelemetry с OpenInference: Запись выполнения в виде древовидных спанов. Позволяет использовать стандартные инструменты мониторинга (например, Phoenix) для визуализации вызовов LLM, инструментов, длительности, расхода токенов и ошибок.
💡
Важно для безопасности. Трассировки могут содержать промпты, ответы моделей, аргументы инструментов и пути к файлам. Перед отправкой логов в облачные сервисы или совместным использованием обязательно проверяйте их на наличие конфиденциальных данных.

02Настройка изолированной среды

Для тестирования используется репозиторий nemoclaw-community, который создает изолированную среду. Это гарантирует, что тесты не зависят от вашей локальной установки Python или других версий Hermes. Скрипты создают окружение с Python 3.11, Hermes и NeMo Relay.

Для работы потребуется ключ API NVIDIA для модели Nemotron 3.5 Lightning. Ниже приведена последовательность команд для развертывания тестового стенда:

terminalbash
# Клонирование репозитория с примерами
git clone https://github.com/NVIDIA/nemoclaw-community

# Переход в папку с примером трассировки
cd nemoclaw-community/examples/tools/hermes-relay-tracing

# Создание изолированного окружения
./scripts/setup_tutorial_runtime.sh

# Копирование шаблона ключей
cp keys.env.example keys.env

# ВАЖНО: Добавьте ваш NVIDIA_API_KEY в файл keys.env перед запуском
# nano keys.env  # или любой другой редактор

# Проверка работы Docker
docker version

# Сборка Docker-образа для изолированного терминала
./scripts/build_tutorial_image.sh

# Запуск задачи и генерация трасс (ATOF и ATIF)
./scripts/run_tutorial.sh

03Практика: Анализ простой задачи (Terminal Tool)

Первый эксперимент проверяет базовую функциональность. Агент Hermes должен выполнить Python-скрипт внутри изолированного Docker-контейнера. Скрипт выводит фиксированное значение VALUE=42. Это позволяет точно верифицировать успех выполнения.

После завершения задачи runner проверяет ответ и сгенерированные файлы трасс. Пример успешного вывода демонстрирует наличие вызовов LLM, использование токенов и отсутствие ошибок инструментов:

terminalbash
ATOF summary
events: ...
completed llm scopes: ...
llm scopes with usage: ...
prompt tokens: ...
completion tokens: ...
total tokens: ...
tool calls: ...
tool errors: 0
correlated events: ...

ATIF summary
agent: Hermes Agent
model: ...
steps: ...
llm calls: ...
requested tool calls: ...
Task verified: VALUE=42

Ключевые метрики здесь включают количество вызовов LLM, вызовов инструмента и отсутствие ошибок. Строка Task verified: VALUE=42 подтверждает корректность работы агента и генерацию артефактов трассировки.

⚠️
Проверка целостности данных. Формат ATIF показывает, какой инструмент запросила модель, но не подтверждает результат. Для верификации успеха всегда сверяйтесь с ATOF: ищите события начала и завершения инструмента с одинаковым uuid и проверяйте отсутствие ошибок в этих событиях.

04Сложный сценарий: Исследование через веб

Во втором эксперименте агенту дается задача: прочитать файл с записями о путешествиях, выполнить веб-поиск, проверить информацию на официальном сайте конференции, написать отчет и вернуть название события. Ожидаемый результат — COLT 2026.

В этом сценарии особенно полезна интеграция с Arize Phoenix. Запустив локальный сервис Phoenix в Docker, вы можете загрузить OpenTelemetry-спаны и визуализировать:

  • Дерево вызовов: какой инструмент вызывался после какого промпта.
  • Тайминги: где агент «завис» или потратил лишнее время.
  • Расход токенов: сколько ушло на промпт и сколько на ответ.
  • Ошибки: если веб-поиск вернул ошибку, агент мог попытаться повторить запрос. Это видно в виде повторяющихся спанов с ошибками.

05Оптимизация через сравнение версий (ToolPerf)

Главная ценность NeMo Relay — возможность объективно сравнивать изменения в «шасси» (harness) агента. В кейсе Hermes ToolPerf разработчики сравнивали базовую версию и исправленную ревизию на 108 запусках.

Анализ трасс показал, что модель Qwen Coder 30B в исправленной версии успешно восстановила больше задач, но это произошло ценой увеличения количества вызовов, объема переданных данных и задержки.

Источник: NVIDIA Developer ↗