IBM вдвое сократила разрыв надёжности ИИ-агентов

IBM вдвое сократила разрыв надёжности ИИ-агентов

На сцене повторный провал агента, просто неловкость. В продакшене то же самое, уже проблема надёжности: рабочий процесс, который сработал один раз, при следующем таком же запросе может не сработать вовсе, а для критичных задач, вроде сверки финансовой операции или проверки договора на наличие обязательства, случайный сбой недопустим. Большинство бенчмарков ИИ-агентов эту изменчивость прячут за одним числом, средней долей успешных прогонов, Mean@k. Команда IBM Research в блоге на Hugging Face показывает, во что это выливается на практике: на бенчмарке AppWorld ReAct-агент на основе GPT-4.1 в среднем успешно проходил 77,4% из пяти повторных прогонов одной и той же задачи (метрика Mean@5), сильный результат. Но полностью, все пять раз подряд, задача решалась лишь в 53,0% случаев (метрика Pass^5). Разница между этими двумя числами, 24,4 процентного пункта (п.п.), названа «разрывом согласованности» (consistency gap); на самых сложных задачах он достигает 30 п.п. Авторы подчёркивают: это не проблема возможностей, которую решает переход на более крупную модель, способность и согласованность оказываются независимыми друг от друга характеристиками, и более сильная модель поднимает средний результат, но не обязательно сокращает этот разрыв.

Причина, в устройстве самого выбора. На каждом шаге, где агент решает, какой вызвать API, какой аргумент передать или стоит ли повторить попытку, модель выбирает токен из распределения вероятностей. Если распределение «острое», почти вся вероятность сосредоточена на одном варианте, выбор воспроизводится раз за разом. Если оно «плоское», несколько вариантов идут почти вровень, небольшой шум (неассоциативность операций с плавающей точкой на GPU, группировка запросов в батчи и другие особенности инфраструктуры) может опрокинуть выбор в другую сторону. А поскольку траектория агента, это цепочка из десятков таких решений, даже небольшая вероятность «переворота» на каждом шаге складывается в заметный шанс, что какой-то из пяти прогонов пойдёт иначе. Ни жадное декодирование (greedy decoding), ни фиксированный сид генерации (random seed) эту проблему не решают: оба определяют, как распределение превращается в токен, а не форму самого распределения, тот же запрос к той же модели при температуре 0 на облачном эндпоинте может сегодня и завтра по-разному разрешить близкую неопределённость.

Ответ команды, диагностический инструмент Consistency Analyzer (дословно «анализатор согласованности»), встроенный в уже существующую систему ALTK-Evolve: она автоматически превращает прошлые траектории агента в переиспользуемые рекомендации и подставляет их обратно агенту в контекст на инференсе. Анализатор берёт всего одну уже записанную траекторию и, офлайн, без обращения к среде и без полного повторного прогона задачи, пересэмплирует каждый решающий шаг одним дополнительным запросом к модели, который сразу возвращает несколько (по умолчанию k=5) альтернативных продолжений в этой точке при уже зафиксированном контексте; эталонный ответ для этого не нужен. В результате каждый шаг получает оценку согласованности, и становится видно, какие решения склонны «переворачиваться» от прогона к прогону. Каждый отмеченный шаг превращается в кандидата на рекомендацию: например, для задачи AppWorld про подсчёт отметок в заметке система сгенерировала такие правила, считать отметки поиском по регулярному выражению, привязанному к началу строки, а не простым подсчётом подстроки (символ отметки может повторяться в строке-легенде заголовка), и всегда проверять результаты поиска по заметке на совпадения, прежде чем продолжать. В демонстрационном видео к посту пять параллельных прогонов именно этой задачи без рекомендаций разделились 3 к 2; после добавления рекомендаций все пять сошлись на одном результате.

На полном срезе AppWorld test_normal (168 задач) с ReAct-агентом на GPT-4.1, с рекомендациями, сгенерированными по одной базовой траектории на задачу, и проверкой на пяти новых прогонах, совокупный Pass^5 вырос с 53,0% до 69,0%, а Mean@5 при этом тоже вырос, с 77,4% до 81,0%: разрыв согласованности сократился с 24,4 до 12,0 п.п. Больше всего выиграли задачи среднего и высокого уровня сложности: средний уровень, плюс 22,9 п.п. (+44% относительно собственной базовой линии этого уровня), сложный, плюс 14,3 п.п. (+45% относительно базовой линии), лёгкий, плюс 12,2 п.п. (там и запас для роста был меньше всего). Отдельно команда подчёркивает: средняя точность (Mean@5) не просела ни на одном уровне сложности, сохранить её было обязательным условием, иначе рост Pass^5 за счёт точности был бы просто переносом нестабильности в другое место, а не её устранением.

Отдельно проверили, не «подгоняются» ли рекомендации под ту единственную траекторию, с которой их сняли. На другой, но родственной задаче из того же сценария AppWorld рекомендации всё равно подняли Pass^5 на 13,0 п.п., всего на 3 пункта меньше, чем прирост в 16,0 п.п. на исходной задаче. Ещё нагляднее эффект проявился на более слабой модели, gpt-oss-120b: на исходной задаче Pass^5 вырос с 10,1% до 16,1% (+6,0 п.п.), а на родственной задаче прирост составил +8,7 п.п., больше, чем на исходной. Команда трактует это как признак того, что рекомендации фиксируют переносимые закономерности сбоев, а не подгоняются под одну конкретную траекторию.

Команда даёт практикам три совета: публиковать Pass^k рядом с Mean@k, разрыв заметен уже при k=3; ожидать, что разрыв растёт вместе со сложностью задачи; и не пытаться решить проблему согласованности просто переходом на более крупную модель, это независимая от возможностей характеристика. Поскольку диагностика не требует ни эталонного ответа, ни повторного прогона задачи в реальной среде, хватает одного дополнительного запроса к модели на решающий шаг, инструмент можно применять прямо на боевом трафике, где полный повторный прогон задачи часто недоступен вовсе. Consistency Analyzer и генерация рекомендаций согласованности уже доступны в открытом репозитории ALTK-Evolve на GitHub; полная методология и результаты экспериментов, в техническом отчёте на arXiv.

Ключевые факты

  • Consistency Analyzer пересэмплирует решающие шаги одной уже записанной траектории агента (по умолчанию k=5 альтернативных продолжений на шаг, одним дополнительным запросом к модели) и находит точки, где исход легко меняется от прогона к прогону, без эталонных ответов и без полного повторного прогона задачи.
  • На бенчмарке AppWorld (168 задач) ReAct-агент на GPT-4.1 в среднем решал 77,4% прогонов (Mean@5), но все пять прогонов подряд, лишь 53,0% задач (Pass^5): разрыв 24,4 п.п., а на сложных задачах, до 30 п.п.
  • После добавления сгенерированных рекомендаций разрыв сократился до 12,0 п.п. (Pass^5 вырос с 53,0% до 69,0%, Mean@5, с 77,4% до 81,0%), и средняя точность не упала ни на одном уровне сложности.
  • Рекомендации переносятся на родственные задачи: прирост Pass^5 составил 13,0 п.п. против 16,0 п.п. на исходной задаче; на более слабой модели gpt-oss-120b перенос (+8,7 п.п.) даже превысил результат на исходной задаче (+6,0 п.п., с 10,1% до 16,1%).
  • Consistency Analyzer и генерация рекомендаций уже в открытом репозитории ALTK-Evolve на GitHub; полная методология, в техническом отчёте на arXiv.

Почему это важно

Большинство бенчмарков ИИ-агентов публикуют одно число, среднюю долю успехов, Mean@k, и по нему агент выглядит надёжным. Но для пользователя, который присылает один и тот же запрос дважды, важна другая метрика: решит ли агент задачу КАЖДЫЙ раз (Pass^k). Пост показывает на конкретных цифрах, что между этими числами может быть разрыв почти в четверть шкалы, 24,4 п.п. для ReAct-агента на GPT-4.1 на бенчмарке AppWorld, а на сложных задачах и вовсе до 30 п.п. Причём это не решается переходом на более сильную модель: способность и согласованность, независимые друг от друга оси, а не одна и та же характеристика под разными углами.

Кому это важно

Тем, кто уже выводит ИИ-агентов в продакшен для задач, где повторный запрос должен давать тот же результат: авторы поста прямо называют примерами сверку финансовой операции и проверку договора на наличие обязательства, это случаи, где случайный провал недопустим. А также инженерам, которые строят или выбирают бенчмарки для агентов: пост показывает, что стандартный Mean@k сам по себе скрывает существенную часть картины.

Как это применить

Три шага из поста. Во-первых, считать и публиковать Pass^k рядом с Mean@k, разрыв заметен уже при k=3. Во-вторых, если разрыв обнаружен, прогнать через Consistency Analyzer одну уже записанную траекторию агента: инструмент офлайн, без эталонных ответов и без обращения к реальной среде находит решающие шаги, где исход неустойчив. В-третьих, превратить найденные шаги в текстовые рекомендации и подставлять их агенту в контекст на инференсе, именно так уже работает ALTK-Evolve, система, в которую встроен анализатор. Поскольку диагностика стоит одного дополнительного запроса к модели на решающий шаг, её можно гонять прямо на боевом трафике, а не только в лаборатории.

Можно ли доверять

Результаты, из собственного блога IBM Research, без внешней рецензии на момент публикации поста: числа получены командой на её собственном инструменте и в основном на одной модели (GPT-4.1), с отдельной проверкой на второй, более слабой модели (gpt-oss-120b). Методология описана детально, что именно пересэмплируется и во сколько вызовов модели это обходится, сам Consistency Analyzer выложен в открытый код, а полное описание экспериментов авторы вынесли в отдельный технический отчёт на arXiv, то есть результат в принципе проверяем независимо. Но независимой проверки в самом посте нет.

Риски и подводные камни

Разрыв не исчезает, а сокращается примерно вдвое, 12,0 п.п. между «в среднем работает» и «можно положиться» остаются даже после исправления. Результат подтверждён на одном срезе одного бенчмарка (AppWorld test_normal, 168 задач) и в основном на одной модели; перенос рекомендаций проверен только на родственных задачах внутри того же сценария, а не на принципиально другом классе задач. И пост прямо не отвечает на вопрос, во что выливается сама диагностика по деньгам и времени в масштабе продакшена: сколько стоит и сколько занимает пересэмплирование в реальном потоке трафика, авторы не приводят, только качественное «один дополнительный запрос к модели на решающий шаг».

«Это не проблема возможностей, которую решает более крупная модель. Это отдельная, независимая характеристика: агент может быть одновременно способным и нестабильным.»

— команда IBM Research, блог на Hugging Face