Одна и та же модель может выиграть или проиграть из-за обвязки
Команда берёт модель с вершины рейтинга, подключает её к ближайшей обвязке для агентов и выпускает продукт.

Команда берёт модель с вершины рейтинга, подключает её к ближайшей обвязке для агентов и выпускает продукт. Препринт, появившийся на arXiv в начале октября, спрашивает, что скрывает такой путь. На одних и тех же 63 терминальных задачах одна модель опережает другую почти на 8 пунктов в одной обвязке и уступает ей 30 пунктов в другой. Рейтинг никогда не был свойством одних лишь моделей.
Коротко
Исследование по данным авторов: "Finding the Right Fit" (arXiv 2610.00917) оценивает 66 конфигураций модели и обвязки на трёх бенчмарках для агентов. Четыре настраиваемые обвязки (OpenHands, DeepSeek Harness, PI, openJiuwen) сочетаются с пятью моделями, плюс нативные пары Codex и Claude Code. Рейтинги моделей меняются между обвязками, лучшая обвязка для модели зависит от бенчмарка, а обвязка самого вендора не всегда лучшая для его модели. Авторы публикуют адаптеры, код и 6 204 оценённых траектории. ↗

Что запускали исследователи
Сетка скрещивает четыре обвязки с пятью моделями (Claude Opus 5, GPT-6 Astra, GLM-5.3, Kimi K3, DeepSeek V4 Pro) на трёх бенчмарках: TUA-Bench со 120 задачами, ALE-CLI с 99 и подмножество Terminal-Bench 4 без H100 из 63 задач. Codex с GPT и Claude Code с Claude добавляют шесть нативных эталонов, всего 66 конфигураций. Каждая обвязка запрашивает высокое усилие рассуждения и сохраняет собственные настройки контекста, повторов и числа ходов. Модели вызываются через OpenRouter и закреплены за своим первичным провайдером. Стоимость - это цена API за задачу по ценам OpenRouter. Навыки, серверы MCP и память не добавлялись. ↗
Где таблица лидеров переворачивается
На Terminal-Bench 4 Claude обгоняет GPT на 7,94 пункта в OpenHands. В DeepSeek Harness GPT впереди на 17,46, в openJiuwen на 12,70, в PI на 30,16. Claude падает с 57,14% в OpenHands до 30,16% в PI, а GPT растёт с 49,21% до 60,32%. Kimi - устойчивый случай: openJiuwen даёт ему лучший результат на всех трёх бенчмарках, с отрывом от 5,61 до 11,11 пункта. Нативные пары неоднозначны. Claude Code лучше всего для Claude на TUA-Bench и ALE-CLI, но уступает OpenHands на Terminal-Bench, а Codex ни разу не даёт GPT наивысший результат. На Terminal-Bench 4 GPT в PI выигрывает у GPT в DeepSeek Harness при стоимости задачи менее четверти. ↗
Почему одна и та же модель ведёт себя по-разному
Авторы сравнили сопоставленные траектории одной задачи и одной модели в разных обвязках. Модели начинают почти все исправления сами, поэтому многое зависит от того, возвращает ли обвязка сбой в виде, пригодном для модели. Оболочка без тайм-аута превращает зависшую команду в тишину. Детектор застревания может завершить запуск до исправления неверного вызова инструмента. GPT ставит явные тайм-ауты в большинстве своих вызовов оболочки и лучше всего работает с PI, лёгким каркасом. Kimi чаще делает неверные вызовы и лучше там, где обвязка их ловит. Многие оставшиеся сбои происходят в конце, когда агент принимает собственную проверку за доказательство готовности.
Что я не смог проверить
Мой анализ: полезный вывод в том, чтобы оценивать пару и задачу вместе и считать смену обвязки равной смене модели. Ограничения названы в самой статье. Подмножество Terminal-Bench и локальные выборки задач не воспроизводят цифры официальных рейтингов, "высокое усилие рассуждения" может означать разный бюджет мышления в разных обвязках, а каждая задача учитывается по последнему запуску. Это препринт с одной кампанией запусков. Я читал аннотацию и HTML-текст. Код я не запускал и опубликованные траектории не открывал, поэтому подтвердить цифры сверх сказанного в статье не могу.
Небольшая проверка, которую я запустил
Скрипт ниже - небольшая проверка, которую я написал и запустил локально. Он берёт из таблицы статьи награды Claude и GPT на Terminal-Bench 4 и пересчитывает разрыв по обвязкам. По четырёхзначным значениям таблицы он выдаёт отрыв 7,93 пункта в OpenHands, тогда как статья сообщает 7,94 по неокруглённым оценкам. Это разница округления, а не расхождение. Проверка подтверждает смену знака и размах 38,09 пункта между лучшей и худшей обвязкой для Claude. Это не повторный запуск бенчмарка.
Проверка в коде
# Recompute the Claude-minus-GPT gap on Terminal-Bench 4 from the reported table.
# Scores are mean rewards copied from Table 1 of arXiv 2610.00917 (63 tasks).
TB4 = {
"OpenHands": {"Claude Opus 5": 0.5714, "GPT-6 Astra": 0.4921},
"DSH": {"Claude Opus 5": 0.3492, "GPT-6 Astra": 0.5238},
"PI": {"Claude Opus 5": 0.3016, "GPT-6 Astra": 0.6032},
"openJiuwen": {"Claude Opus 5": 0.4127, "GPT-6 Astra": 0.5397},
}
def gaps(table):
for harness, row in table.items():
diff = (row["Claude Opus 5"] - row["GPT-6 Astra"]) * 100
leader = "Claude" if diff > 0 else "GPT"
yield harness, round(diff, 2), leader
results = list(gaps(TB4))
for harness, diff, leader in results:
print(f"{harness:<11} Claude minus GPT = {diff:+.2f} points, leader: {leader}")
leaders = {leader for _, _, leader in results}
print("ranking changes with the harness:", len(leaders) > 1)
spread = max(d for _, d, _ in results) - min(d for _, d, _ in results)
print(f"spread of the gap across harnesses: {spread:.2f} points")