Beyond the Model: когда harness помогает агенту (Рубрика #AI4SDLC)
У статьи "Beyond the Model: Demystifying Harness Effects in Software Engineering Agents" интересная оговорка уже в аннотации: по мере усиления модели польза сложной обвязки на исправлении багов уменьшается. А на более открытых задачах сильные модели, наоборот, могут лучше использовать её возможности. Harness здесь — инструменты, управление контекстом, планирование и другие механизмы вокруг модели, которые определяют, как агент работает с репозиторием и проверяет решение.
Команда из Nanjing University of Science and Technology, Nanjing University и TU Munich сравнила mini-SWE-agent и OpenCode на десяти моделях Qwen и DeepSeek. Три бенчмарка: "SWE-bench Pro" для исправления багов, "GitTaskBench" для задач с использованием репозиториев и "ProgramBench", где нужно восстановить программу по документации и поведению эталонного исполняемого файла. Это препринт от 26 сентября 2026 года.
Дальше авторы собрали NanoHarness поверх mini-SWE-agent и на всех 200 задачах ProgramBench проверили компоненты отдельно и вместе, уже на двух моделях.
1️⃣ Инструменты и специализированные субагенты дают самый устойчивый выигрыш в этих экспериментах
В инструментальном слое всего четыре операции: read_file, write_file, edit_file и glob. Субагенты для анализа поведения, сравнения реализаций и проверки результата помогают лучше, чем универсальные роли вроде «архитектор» или «разработчик». Планирование и загружаемые по запросу skills дают меньший или зависящий от модели эффект.
2️⃣ Сжатие контекста экономит токены, но снижает качество
У двух моделей расход входных токенов падает примерно на 54% и 77%, а score — на 4,86 и 3,85 пункта. Авторы предполагают потерю нужных деталей. Это результат конкретной реализации на ProgramBench; переносить его на управление контекстом вообще рано.
3️⃣ Полная сборка выигрывает у каждого отдельного добавления
У Qwen3.7-Max score растёт с 42,88 до 50,25, у DeepSeek-V4-Pro — с 45,14 до 51,35. NanoHarness приближается к OpenCode и Claude Code. Но нужны ли внутри все компоненты, такое сравнение ещё не устанавливает.
Интересно и поведение агента: он может бесконечно исследовать мелочи или слишком рано решить, что всё понял. В примере с jq NanoHarness сокращает число проверок эталонной программы со 133 до 43, а доля пройденных тестов растёт с 24,68% до 68,17%. В другом примере проверок становится больше, и результат тоже улучшается. Авторы связывают эффект с более осмысленным исследованием задачи; примеры иллюстрируют это объяснение.
Теперь коротко по моим отметкам на полях
🔸 Заявление, что harness раньше не был объектом систематического изучения, кажется спорным. Хочется точнее понять новизну и отдельно разобраться, насколько ProgramBench подходит для обобщения результатов.
🔸 Почему все модели проверяли в non-thinking mode? Выбор температуры 0 авторы объясняют снижением случайности, а с этим решением ясности меньше. И рядом со score хочется видеть стоимость решения задачи.
🔸 Самый интересный вопрос: не дообучают ли модели под минималистичный mini-SWE-agent и работу через Bash? Тогда сокращение разрыва между обвязками может отчасти отражать освоенный интерфейс. Авторы сами допускают обучение под SWE-задачи, но обучение под задачу и под способ действий — разные вещи. Где здесь общая сила модели, а где привычка к конкретному harness?
P.S.
В четверг поговорим про этот whitepaper в прямом эфире Research Insights Made Simple, а сегодняшний эфир по "On Randomness in Agentic Evals" я перенес на 12.
#AI4SDLC #Research #Agents #Evals #Engineering
Файлы к публикации
- Annotated_Beyond_the_Model_Demystifying_Harness_Effects_in_Software.pdfСкачать PDF