Trajectory evaluation AI-агентов: проверять путь, а не только результат
Практический guide по оценке траекторий AI-агента: trace contract, tool calls, permissions, retries, side effects, graders, taxonomy и release gate.
Содержание статьи
- 01Короткий ответ: правильный результат не оправдывает небезопасный путь
- 02Зафиксируйте trace contract до запуска eval
- 03Оценивайте пять слоёв траектории отдельно
- 04Объединяйте deterministic, model и human graders
- 05Постройте failure fixtures, которых не видно в happy path
- 06Release gate и rollback должны быть risk-sliced
Предпосылки
Короткий ответ: правильный результат не оправдывает небезопасный путь
Trajectory evaluation проверяет последовательность наблюдений, решений, tool calls, ответов среды, approvals и state transitions между запросом и финальным результатом. Outcome grader отвечает, завершена ли задача; trajectory grader — использовал ли агент разрешённые источники и инструменты, не обошёл ли policy, не повторил ли side effect и корректно ли отреагировал на ошибку. Для read-only вопроса иногда достаточно outcome. Для платежа, сообщения клиенту, изменения репозитория или работы с PII безопасность пути является отдельным условием release.
Не требуйте одного канонического маршрута: сильные агенты могут законно выполнить одну задачу разными путями. Вместо этого задайте инварианты, разрешённые action classes, запрещённые события и authoritative terminal state. Хороший grader допускает несколько безопасных траекторий, но fail-ит утечку секрета, write без authority, скрытую ошибку, duplicate action или финальный ответ без evidence независимо от того, насколько убедительно выглядит output.
Зафиксируйте trace contract до запуска eval
Минимальный trace содержит task ID, tenant/user context, model и agent revision, policy version, fingerprint начального state, observation, decision event, tool name/version, arguments или их безопасный hash, authorization verdict, tool result status, retry/idempotency key, approval event, side-effect receipt, final answer и terminal state. Timestamps и parent-child IDs позволяют восстановить причинный порядок параллельных шагов. Sensitive payload не нужно бесконтрольно копировать: храните redacted evidence и отдельно защищённый raw artifact только когда это обосновано.
Trace должен приходить из orchestration и tool boundary, а не из self-report модели. Фраза агента «я проверил CRM» не доказывает вызов CRM; красивый chain-of-thought не является audit log и не нужен для проверки внешних действий. Логируйте наблюдаемые события, версии и postconditions. Если telemetry отсутствует у consequential run, verdict становится INCONCLUSIVE, а не PASS.
Оценивайте пять слоёв траектории отдельно
Разделите verdict на planning relevance, tool correctness, authority, state integrity и recovery. Planning relevance ловит бессмысленные loops и пропущенные обязательные проверки. Tool correctness проверяет выбор инструмента, schema-valid arguments и обработку ответа. Authority сопоставляет каждое действие с identity, scope, approval и текущим state. State integrity сверяет заявленный outcome с system of record. Recovery проверяет timeout, partial commit, rate limit, stale approval и dependency failure.
Efficiency оценивайте только после correctness и safety. Меньше шагов не лучше, если агент пропустил identity check; больше шагов не хуже, если они дают необходимое подтверждение. Полезные measures: task success, critical invariant failures, invalid/unauthorized call rate, duplicate side effects, unnecessary calls, recovery success, evidence coverage, latency и cost per safely completed task. Не сводите critical failure и экономию tokens в один средний score.
- Outcome → authoritative terminal state соответствует task contract.
- Trajectory → каждый шаг разрешён, релевантен и подтверждён evidence.
- Policy → ни один hard invariant не нарушен.
- Recovery → uncertain state reconciled before retry.
- Efficiency → оценивается только среди безопасных успешных runs.
Объединяйте deterministic, model и human graders
Deterministic graders должны первыми проверять schema, allowlist, identity/scope, freshness approval, idempotency, prohibited events и authoritative postcondition. Model grader полезен для семантической релевантности плана, достаточности evidence или качества escalation, но ему следует передавать структурированный trace и rubric, а не неконтролируемый transcript. Human review оставьте для высокорисковых неоднозначных cases и калибровки grader-а.
Проверяйте grader на labeled set с позитивными, негативными и boundary cases. Измеряйте disagreement по risk slice, а не только общую agreement rate. Prompt, rubric, grader model и threshold версионируйте вместе с agent bundle. Model grader не должен самостоятельно отменять deterministic security failure; уверенное объяснение не превращает unauthorized write в допустимое действие.
Постройте failure fixtures, которых не видно в happy path
Eval set должен содержать tool timeout до write и после partial commit, malformed result, 429, stale data, schema drift, revoked permission, expired approval, cross-tenant object, prompt injection в tool output, duplicated event, conflicting sources, unavailable oracle и задачу, где правильно abstain-нуть. Для каждой fixture задайте initial state, injected fault, разрешённые переходы, prohibited events и terminal oracle.
Особенно важен принцип `reconcile before retry`: после неопределённого write агент читает system of record по operation key и только затем решает, повторять действие или завершить run. Проверяйте и compensation. Если workflow создал draft, но не смог привязать его к case, остаётся ли orphan или открывается owner task? Именно partial success отличает production trajectory eval от демонстрации tool calling.
Release gate и rollback должны быть risk-sliced
Запускайте frozen regression set, held-out cases и fault-injection slice на pinned model, prompt, tools, policy и environment. Promotion требует приемлемого outcome в каждом критическом slice, нуля определённых hard-invariant failures, совместимого grader и проверенного rollback. Canary начинайте с read-only или draft-only authority; write scope расширяйте отдельным решением, а не как награду за улучшение среднего score.
После изменения model, tool schema, permission policy, retry logic или grader предыдущий verdict становится historical evidence. Rollback возвращает весь совместимый bundle, останавливает новые runs и reconcile-ит незавершённые side effects. Production incident сводите к privacy-safe regression case. Так evaluation становится живым release control, а не разовой таблицей, которую торжественно забывают после pilot.
Практические примеры
Support agent: правильный ответ, неправильный tenant
Агент сформировал правильный ответ, но retrieved ticket другого tenant из-за слишком широкого scope. Outcome grader может дать PASS; authority grader фиксирует critical failure, блокирует release и добавляет cross-tenant fixture.
Payment timeout после commit
Tool вернул timeout после фактического платежа. Безопасная траектория читает ledger по idempotency key и завершает run; слепой retry создаёт duplicate side effect и hard failure.
FAQ
Чем trajectory evaluation отличается от agent evaluation?
Agent evaluation — более широкий процесс для outcome, quality, safety, latency и cost. Trajectory evaluation сосредоточена на последовательности действий, permissions, tool use, state transitions и recovery внутри run.
Нужно ли сравнивать trace с одним gold path?
Не всегда. Лучше задавать required checkpoints, разрешённые альтернативы, запрещённые события и terminal oracle; это не наказывает законные новые маршруты.
Может ли LLM быть trajectory grader?
Да, для семантических критериев после калибровки. Authorization, schemas, idempotency, prohibited events и system-of-record state лучше проверять deterministic graders.
Нужно ли хранить chain-of-thought?
Нет. Для audit нужны наблюдаемые orchestration/tool events, policy verdicts и postconditions; приватный chain-of-thought не является надёжным execution log.
Связанные материалы
Воспроизводимый протокол оценки function calling и tool use: выбор инструмента, аргументы, траектория, side effects, retries, финальное состояние, стоимость и release gate.
Как оценивать browser agents: практический чек-листВоспроизводимый release-протокол для browser и computer-use агентов: task state, visual grounding, траектории, side effects, recovery, безопасность и risk-bounded rollout.
Бенчмарки AI-агентов: GAIA, WebArena, OSWorld и SWE-benchПрактический guide по выбору benchmark для AI-агента: что действительно проверяют GAIA, WebArena, OSWorld и SWE-bench, как читать результаты и переносить внешний сигнал в собственный release gate.
Human-in-the-loop для AIПрактическая production-архитектура человеческого контроля: человек подключается в конкретной точке риска и получает достаточно контекста для реального, а не формального контроля. Материал охватывает контракты, границы полномочий, failure modes, оценивание и контролируемый rollout.