Когда речь заходит о возможностях языковых моделей, обычно используются стандартные бенчмарки. Они показывают процент правильных ответов на тестовых наборах, но не всегда понятно, как это связано с реальной работой. OpenHands решили подойти к оценке иначе – они запустили OpenHands Index, бенчмарк для AI-агентов, который проверяет их на настоящих задачах из GitHub.
Как работает OpenHands Index
Что это за бенчмарк?
OpenHands Index – это, по сути, набор реальных проблем из open-source репозиториев. В него входят исправления ошибок, добавление новых функций, улучшение документации и другие типичные задачи разработчиков. Агенты получают описание задачи и должны самостоятельно написать код, внести изменения в нужные файлы и решить проблему так, чтобы это прошло проверку.
Проще говоря, это не абстрактные вопросы вроде «что выведет этот код»?, а полноценная работа: разобраться в чужом проекте, понять контекст, найти нужное место и внести правильную правку.
Отличия от стандартных бенчмарков для кода
Почему это важно? 🔍
Большинство существующих бенчмарков для кода проверяют модели на синтетических задачах или изолированных функциях. Там можно проверить логику, знание синтаксиса, умение работать с алгоритмами. Но в реальной разработке всё сложнее: нужно понимать архитектуру проекта, работать с несколькими файлами одновременно, учитывать зависимости и стиль кода.
OpenHands Index пытается приблизиться к этой реальности. Здесь агент не просто пишет функцию – он работает с целым репозиторием, как это делал бы человек.
Как устроена проверка?
Каждая задача в индексе связана с конкретным issue или pull request из GitHub. У агента есть доступ к коду репозитория, описанию проблемы и контексту. Он должен:
- проанализировать задачу;
- найти нужные файлы;
- внести изменения;
- убедиться, что код работает (если есть тесты).
После этого решение проверяется автоматически. Критерий успеха – решение должно быть функционально правильным, то есть соответствовать требованиям из issue.
Результаты тестирования AI-моделей
Первые результаты 📊
OpenHands уже протестировали несколько моделей на своём индексе. Результаты показывают, что даже продвинутые модели справляются далеко не со всеми задачами. Это ожидаемо: работа с реальными проектами требует не только знания языка программирования, но и умения ориентироваться в чужом коде, понимать намерения разработчиков и учитывать множество нюансов.
Интересно, что некоторые модели лучше справляются с одними типами задач и хуже с другими. Например, исправления ошибок могут даваться проще, чем добавление новой функциональности, потому что там уже есть контекст ошибки и часто указано место, где что-то сломалось.
Применение OpenHands Index на практике
Кому это может быть полезно?
Во-первых, разработчикам AI-агентов. Если вы создаёте инструмент для автоматизации программирования, OpenHands Index даёт понятный способ проверить, насколько хорошо он работает на практике.
Во-вторых, тем, кто выбирает модель для работы. Вместо того чтобы ориентироваться только на абстрактные метрики, можно посмотреть, как конкретная модель справляется с задачами, близкими к вашим.
В-третьих, это полезный сигнал для всей индустрии. Чем больше реалистичных бенчмарков, тем яснее, где модели действительно сильны, а где ещё есть над чем работать.
Планы развития бенчмарка
Что дальше?
OpenHands планируют расширять индекс, добавляя новые задачи и репозитории. Это важно, потому что разнообразие задач помогает избежать переобучения на конкретные паттерны. Чем шире набор, тем сложнее модели «подогнать» решение под известные примеры.
Также команда обещает открыть данные и методологию, чтобы другие могли воспроизвести результаты или использовать индекс для своих экспериментов.
Ограничения и вопросы
Конечно, и у этого подхода есть свои сложности. Во-первых, реальные задачи из GitHub могут быть неоднозначными. Иногда даже люди спорят о том, как правильно решить проблему. Автоматическая проверка не всегда может учесть все нюансы.
Во-вторых, набор задач всё равно конечен. Есть риск, что со временем модели начнут косвенно оптимизироваться под него, особенно если данные попадут в обучающие выборки.
В-третьих, пока не совсем ясно, как индекс учитывает качество кода. Одно дело – решить задачу, другое – сделать это чисто, читаемо и в соответствии со стилем проекта.
Тем не менее, это шаг в правильном направлении. Реалистичные бенчмарки помогают лучше понять, где AI-агенты могут быть полезны прямо сейчас, а где им ещё предстоит развиваться.