Что на самом деле измеряет оценка
Запуск бенчмарка — это не измерение модели. Это выборка из совместного распределения как минимум по четырём вещам: веса модели и настройки декодирования, определения инструментов, которые получает модель, ограничения среды выполнения, в которых она работает, и среда, до которой эти инструменты достают. Измените любую из них — и число сдвинется. Большинство опубликованных лидербордов фиксируют первое и оставляют остальное неявным, поэтому две лаборатории могут сообщать об одном и том же бенчмарке с одной и той же моделью и расходиться на величину, которая затмевает разницу между сравниваемыми моделями.
Это не жалоба на дизайн бенчмарков. Сами бенчмарки в основном в порядке. Проблема в том, что обвязка — каркас, превращающий модель в агента — считается деталью реализации, хотя на самом деле это независимая переменная, которая решает, что агент вообще может попытаться сделать. Модель, которая планирует за четыре шага, и модель, которая барахтается двадцать, неразличимы при потолке в двадцать пять шагов и бюджете повторных попыток в пять. Обвязка уже ответила на вопрос до того, как модель спросили.
Относитесь к обвязке как к части артефакта. Запись об оценке должна фиксировать схемы инструментов по хешу, образ среды выполнения по дайджесту, число повторных попыток, потолок шагов, бюджеты по настенному времени и токенам, а также сетевую политику песочницы. Без этих полей оценка — это слух с десятичной запятой.

Режимы отказа, которые скрывает обвязка
Щедрые лимиты шагов вознаграждают перебор повторными попытками вместо планирования. Если агент может вызвать один и тот же инструмент поиска одиннадцать раз с немного разными запросами, модель, которая никогда не строит план, всё равно дойдёт до ответа, и будет выглядеть так же, как модель, которая спланировала один раз и выполнила чисто. Сожмите потолок до четырёх шагов — и рейтинг перевернётся. Ни одна из конфигураций не является неправильной; обе — легитимные продукты. Но одно опубликованное число не может представлять обе, и читатели будут считать, что оно представляет их.
Противоположный отказ так же незаметен. Жёсткие лимиты наказывают модели, которые хорошо восстанавливаются. Агент, который обнаруживает некорректный ответ инструмента, исправляет свои аргументы и добивается успеха со второй попытки, делает именно ту работу, которая нужна производственным системам, а его оценивают как более медленного и дорогого, чем модель, которой просто повезло с первого раза. Если политика повторных попыток не опубликована, читатель не может сказать, вознаграждает ли оценка компетентность или удачу.
Сетевая политика песочницы — самая значимая невидимая настройка. Запуск с отключённым исходящим трафиком измеряет планирование и рассуждения об инструментах, а не использование инструментов. Запуск с включённым исходящим трафиком измеряет, выживет ли модель при реальной задержке, частичных отказах и несогласованных схемах. Это разные продукты. Когда поставщик сообщает оценку использования инструментов, не указывая сетевую политику, читатель не может узнать, что именно из двух было измерено, а эти два не сравнимы.
Детерминированные заглушки инструментов — связанная ловушка. Заглушка API поиска, возвращающая фиксированный документ, убирает неоднозначность, с которой производственные агенты реально сталкиваются: усечённые результаты, устаревшие индексы, ограничения скорости, дрейф схем. Заглушка делает оценку воспроизводимой, что ценно, и нерепрезентативной, что является компромиссом, который нужно явно указать, а не поглотить молча. Честная позиция — запускать оба варианта: набор с заглушками для обнаружения регрессий и живой набор для заявлений о возможностях, публикуемые как отдельные числа с манифестом обвязки, приложенным к каждому.
Контракт публикации результатов оценки
Если на оценку будут ссылаться, она должна поставляться с условиями, которые её породили. Работоспособный контракт состоит из четырёх частей.
Поставляйте манифест обвязки вместе с оценкой. Как минимум: хеши схем инструментов, дайджест образа среды выполнения, бюджеты шагов и времени, количество повторных попыток, сетевую политику, параметры декодирования и набор сидов. Манифест должен быть машиночитаемым, чтобы читатель мог сравнить два результата и сразу увидеть, сравнимы ли они. Оценка без манифеста — это анекдот.
Сообщайте дисперсию, а не точечную оценку. Запускайте на разных сидах и как минимум на двух вариантах обвязки — с жёстким бюджетом и с мягким — и публикуйте разброс. Если оценка модели рушится, когда потолок шагов падает с двадцати до восьми, это самое полезное, что вы можете сообщить читателю, а одно среднее полностью это скрывает.
Делайте воспроизведение инцидентов повторно запускаемым на той же версии обвязки. Когда агент ведёт себя неправильно в производстве, регрессию можно приписать, только если воспроизведение запускается на той обвязке, которая породила поведение. Версионируйте обвязку так же, как версионируете модель, и сохраняйте старые версии работоспособными. Это та часть, которую команды пропускают, и именно она превращает набор оценок из артефакта запуска в инженерный инструмент.
Указывайте компромисс, на который вы пошли. Каждый выбор обвязки покупает воспроизводимость ценой репрезентативности или наоборот. Скажите, в какую сторону вы пошли. Набор с заглушками, изолированный от сети и с жёстким бюджетом — прекрасная вещь для публикации, если на этикетке так и написано.
Почему это инженерная проблема, а не отчётная
Соблазн — считать раскрытие обвязки задачей документирования: добавить таблицу в приложение и забыть. Это не так. Как только обвязка версионируется, она становится тем, что можно тестировать, отслеживать на регрессии и осмыслять, а это меняет то, как строится система. Схемы инструментов рецензируются как контракты API. Политики повторных попыток настраиваются по измеренным показателям восстановления, а не по интуиции. Потолки шагов становятся продуктовым решением с заявленным обоснованием вместо значения по умолчанию, унаследованного из примера фреймворка.
Цена реальна: поддержание нескольких вариантов обвязки, сохранение работоспособности старых образов среды выполнения и запуск каждого набора на множестве сидов умножают вычисления и инженерное время. Командам с одной моделью и одним продуктом это покажется тяжелее, чем нужно. Честная позиция: полный контракт окупается, когда вы сравниваете модели или лаборатории — а именно тогда число чаще всего цитируют вне контекста.
Для фона о том, как такие сравнения сейчас публикуются и где находятся пробелы, см. это недавнее обсуждение практики оценки агентов.
Бенчмарк — не та переменная, которую вы упускаете. Обвязка — вот она, и именно её вы можете версионировать уже сегодня.

