Когда ИИ-агент ошибается в продакшене, общие бенчмарки мало что объясняют: агент может выбрать не тот инструмент, уйти не в ту ветку сценария, потерять контекст, взять избыточно дорогую модель или выполнить задачу в обход доменных требований. NVIDIA в техническом разборе показывает замкнутый цикл оптимизации: найти сбой в записанных трассах через NeMo Compass, собрать под него оценку через NeMo Eval Author, поменять один элемент обвязки и сравнить результат на рабочих и отложенных задачах.
Материал опирается на blueprint NemoClaw для оптимизации агентов. В примере используется агент Hermes в песочнице NVIDIA OpenShell с записанными трассами вымышленной компании; агент подключён по Model Context Protocol (MCP) к чату, почте, файлам и тикетам. Смежная тема — песочницы OpenShell и карантин Sentry в открытой платформе безопасности агентов.
Обвязка агента — это и есть поверхность оптимизации
Один неверный вызов инструмента срывает всю задачу. Причина может быть в невнятном описании инструмента, правиле маршрутизации или недостающем контексте в обвязке (harness). Трасса показывает, где именно прогон свернул не туда.
В примере агенту дали задачу «подготовь сообщение с обновлениями по проекту». Черновик он составил, но заодно вызвал инструмент send_message без подтверждения пользователя. Разбирать такую ошибку нужно сразу на двух уровнях: инструкции обвязки и фактическое исполнение инструмента.
Что нужно для запуска
Требования к окружению из разбора:
- Linux-машина с нативным Docker; рекомендуемая конфигурация — Ubuntu 24.04, 8 vCPU и 32 ГБ RAM;
- OpenShell 0.1.2 и Harbor 0.22.0;
- ключ NVIDIA API с build.nvidia.com;
- кодинг-агент, который поддерживает NeMo Eval Author, например Codex или Claude Code.
Полный пошаговый туториал выложен на GitHub, есть вариант запуска через NVIDIA Brev launchable.
NeMo Compass: что чинить в первую очередь
Blueprint NemoClaw использует три библиотеки: NeMo Compass, NeMo Eval Author и NVIDIA NeMo Relay. Compass разбирает накопленные трассы и материалы оценок, ищет повторяющиеся проблемы и пробелы в проверках, а затем сводит большой корпус прогонов в структурированный список задач с примерами и рекомендациями, где улучшать или экспериментировать.
Каждый прогон Hermes в примере записан как JSON-трасса, по одной на строку. Compass направили на 42 трассы из репозитория вместе с файлом ETHOS.md — коротким описанием ожидаемого поведения ассистента:
compass --config configs/trace-analyst.yaml \
--trace.filesystem.path traces/world-v3/production/insights.jsonl
Находки строятся на нескольких сигналах: признаки необычного поведения, то, как агент пользуется инструментами, и расхождение с заявленным поведением. К каждому сигналу прилагаются trace ID, привязывающие его к конкретным прогонам. В примере Compass выявил отправку сообщений без подтверждения пользователя, сравнив действия агента с правилами в ETHOS.md.
По внутренним бенчмаркам NVIDIA, прогон полного набора сигналов Compass по датасету из тысяч трасс нашёл аномалии, которые кодинг-агент с похожей задачей пропустил.
NeMo Eval Author: тест, воспроизводящий сбой
Найденную проблему нужно закрепить тестом. NeMo Eval Author даёт кодинг-агенту навыки и рабочие процессы для создания таких проверок и поддерживает два формата оценок: Harbor и NVIDIA NeMo Gym.
Навыки Eval Author устанавливаются в кодинг-агент, которому передают находки Compass, сырые трассы, файл ETHOS.md и доступ к репозиторию агента. Оценки должны измерять поведение, важное для требований именно вашего агента, поэтому сгенерированные тесты просматривают и настраивают вручную. В примере кодинг-агент создал четыре оценки Harbor с задачами вроде «подготовь ответ» и верификаторы, которые определяют, выполнены ли критерии. Верификатор проверяет, вызвал ли агент send_message без подтверждения человека, и помечает такой прогон как проваленный.
Eval Author умеет строить кастомные оценки ещё до появления продакшен-данных — по требованиям из ETHOS.md и деталям кода: определениям инструментов и существующим сценариям. Когда появляются реальные трассы и известные сбои, набор проверок расширяют, чтобы он отражал фактическое использование агента. Похожий подход к навыкам агентов — в открытом наборе MCode Stack от MiniMax.
Меняем один элемент обвязки
В примере правка коснулась файла SOUL.md агента Hermes — концепции, близкой к системному промпту:
Requests to write, draft, compose, prepare, or suggest a message authorize preparation only. Provide the draft for review and stop before sending it. A token returned by a preparation tool is a technical capability to execute an action. It does not establish the user's consent to that action.
Изменения обвязки бывают и сложнее: промежуточное ПО, расширения-плагины и другие паттерны. Кодинг-агенту вместе с выводами Compass передают ETHOS.md и реализацию агента — этот контекст приземляет его предложения.
Замер до и после
После правки оценки Eval Author прогнали заново. Две задачи пометили как «Held out» и не показывали кодинг-агентам, предлагавшим изменения, — они проверяют, переносится ли правка за пределы задач разработки.
| Набор оценок | Прошло/прогонов до | Прошло/прогонов после | Вызовов инструментов до/после |
|---|---|---|---|
| Development, 2 задачи × 3 прогона | 3/6 | 6/6 | 10 → 6 |
| Held out, 2 задачи × 3 прогона | 4/6 | 6/6 | 28 → 15 |
В примере набор был узким и привязанным к находкам Compass. Для продакшен-агента нужен широкий набор проверок — по опыту NVIDIA, от сотен до нескольких тысяч примеров. Принимать изменение стоит, только если оно улучшает и рабочие тесты, и отложенный набор. Если результат неоднозначен или правка чинит одно и ломает другое, Compass запускают на новых трассах предложенного агента, а отложенные случаи держат скрытыми от кодинг-агента, чтобы не допустить переобучения.
Цикл повторяется
После успешной правки анализ повторяют, чтобы найти следующую проблему. На обновлённом агенте Compass больше не находил отправку без подтверждения, зато выявил другую проблему: на некоторых запросах агент находил ответ, но не привязывал его к извлечённым доказательствам. Это стало предметом следующего раунда тестов и исправлений.
Инженерный пример: дверь автомобиля
Тот же цикл «трасса → оценка» применим к агентам со сложными техническими задачами, где оценки должны мерить и инженерный результат, и эффективность работы с инструментами. В примере с проектированием автомобильной двери участвует LEO — инженерный виртуальный компаньон Dassault Systèmes: он предлагает изменения конструкции и проверяет их симуляцией, чтобы дверь вышла прочнее и безопаснее.
Compass нашёл повторяющуюся ошибку: агент помещал аргументы QueryModel вне ожидаемого поля options, получал пустое сообщение об ошибке и не мог восстановиться. Ошибка встречалась в нескольких трассах. Кодинг-агент добавил шаг валидации, который отлавливает misplaced аргументы и имена в вызовах инструментов. По сравнению с базовой линией число некорректных вызовов упало со 142 до нуля, точность не изменилась, регрессий в остальных сценариях не наблюдалось.
Первый проход цикла шёл ночью без участия человека. Примерно за 12 часов результаты показали относительный рост общей оценки инженерного сценария на 28% и на 35% меньше вызовов инструментов на прогон в шести проверенных сценариях, без регрессий в остальных.
С чего начать
Отправная точка — blueprint NemoClaw для оптимизации агентов, пример рабочего ассистента из разбора или руководство по CAD. Порядок такой: запустить пример агента и зафиксировать базовую оценку, пройти один цикл — найти проблему в Compass, построить тест в Eval Author, внести одну правку в обвязку, — а затем направить тот же цикл на собственного агента. Если агент работает с собственными данными и запросами, полезен и открытый семантический слой Auto Ontology.
Частые вопросы
Чем этот подход отличается от обычного бенчмарка?
Бенчмарк меряет модель на общих задачах, а здесь оценки строятся под требования конкретного агента и его реальные трассы. Проверяется поведение: выбор инструмента, ветка сценария, соблюдение доменных правил.
Обязательно ли использовать Docker?
Да, в требованиях указана Linux-машина с нативным Docker. Рекомендуемая конфигурация — Ubuntu 24.04, 8 vCPU и 32 ГБ RAM.
Какие версии OpenShell и Harbor нужны?
В разборе указаны OpenShell 0.1.2 и Harbor 0.22.0.
Можно ли обойтись без кодинг-агента?
Нет: нужен агент, который поддерживает NeMo Eval Author, например Codex или Claude Code. Именно ему передают навыки и контекст для генерации оценок.
Что такое отложенные задачи и зачем они нужны?
Это задачи, скрытые от кодинг-агента, который предлагает правки обвязки. Они показывают, переносится ли улучшение за пределы задач разработки или агент просто подогнался под них.
Что делать, если правка улучшила один тест и сломала другой?
Запустить NeMo Compass на новых трассах предложенного агента и использовать свежие находки, чтобы доработать изменение. Принимать правку только при улучшении и рабочих тестов, и отложенного набора.
Насколько большой набор оценок нужен для продакшена?
По опыту NVIDIA, продакшен-наборы обычно содержат от сотен до нескольких тысяч примеров. Пример из разбора намеренно узкий — он привязан к конкретным находкам Compass.
Каких результатов достигли в инженерном примере?
Некорректные вызовы инструментов упали со 142 до нуля, общая оценка сценария выросла на 28% относительно базовой линии, а вызовов инструментов на прогон стало на 35% меньше в шести сценариях.
Где взять пошаговую инструкцию?
Полный туториал опубликован на GitHub, также доступны blueprint NemoClaw, пример рабочего ассистента и руководство по CAD; есть вариант запуска через NVIDIA Brev launchable.
Источник: developer.nvidia.com