SWE-agent и OpenHands часто ставят рядом как два открытых пути к «ИИ-инженеру», который читает GitHub issue, ходит по репозиторию, меняет код и пытается пройти тесты. Но по первоисточникам это не просто две реализации одной идеи, а два разных исследовательских тезиса: SWE-agent проверяет, насколько далеко можно уехать на хорошо спроектированном интерфейсе для агента, а OpenDevin, позже переименованный в OpenHands, строит более общий runtime и платформу для цифровых агентов.
Ниже — исторический обзор именно по материалам 2024 года. Это важно, потому что 13 августа 2024 года появился SWE-bench Verified, и после этого смешивать ранние результаты на full или Lite со свежими лидербордами уже методологически неправильно.
Коротко
- SWE-bench изначально был бенчмарком на 2 294 реальных GitHub-задачи из 12 Python-репозиториев; ранние результаты на нём были очень низкими, что и сделало агентный подход заметным.
- SWE-agent — это не «полноценная среда разработчика», а скорее узкий agent-computer interface (ACI): набор LM-дружественных команд и форматов обратной связи для поиска, просмотра, редактирования и запуска тестов.
- OpenHands в версии статьи июля 2024 года ещё назывался OpenDevin и делал ставку на более общий стек: sandbox runtime, bash, Python/IPython, браузер, поток событий и возможность собирать разных агентов на одной платформе.
- Числа из этих работ нельзя читать как прямой матч один на один: у них различаются сплиты бенчмарка, модели и местами даже режимы prompting.
- Если упрощать до одного вывода, то SWE-agent показал ценность специализированного интерфейса для repo-level coding, а OpenHands — ценность общего агентного runtime, который остаётся конкурентоспособным и на software-задачах.
Контекст
SWE-bench появился как попытка уйти от коротких задач на автодополнение к более реалистичной постановке: агент получает снимок репозитория, текст issue и должен предложить патч, который пройдёт тесты. В исходной версии бенчмарк состоял из 2 294 задач, собранных из реальных issue и pull request, и покрывал 12 популярных Python-репозиториев.
Это был важный сдвиг: модель должна не просто дописать функцию, а ориентироваться в большом кодовом дереве, менять несколько файлов и проверять гипотезы через исполнение кода. В исходной работе по SWE-bench лучший базовый результат был очень низким: авторы писали, что Claude 2 решает лишь 1,96% задач. Именно на таком фоне и стали интересны агентные системы, которые не только генерируют патч, но и умеют ходить по репозиторию шаг за шагом.
Историческая рамка здесь принципиальна. 13 августа 2024 года OpenAI вместе с авторами SWE-bench выпустили SWE-bench Verified — подмножество из 500 задач, которые инженеры отдельно проверили на решаемость и корректность постановки. В том же анонсе сказано, что эта версия приходит на смену исходным тестовым наборам SWE-bench и SWE-bench Lite. Поэтому ранние цифры из статей весны и лета 2024 года полезны как снимок эволюции агентов, но не как окончательный ответ на вопрос «кто сильнее».
Метод
SWE-agent: ставка на ACI
Ключевая идея SWE-agent — не давать языковой модели «сырой компьютер» в произвольном виде, а спроектировать для неё специальный интерфейс. Авторы называют это agent-computer interface (ACI). Смысл в том, чтобы команды и обратная связь были удобны именно для LM: искать по репозиторию, открывать файл окнами, редактировать строки, запускать тесты и получать предсказуемый текстовый ответ среды.
Это важный исследовательский ход. SWE-agent в статье подаётся не как универсальная платформа для любого цифрового труда, а как инструмент для одной узкой, но тяжёлой задачи: автономное исправление issue в реальном репозитории. Иначе говоря, здесь предмет исследования — не только модель, но и форма интерфейса между моделью и кодовой базой.
OpenDevin/OpenHands: ставка на общий runtime
В статье от 23 июля 2024 года система ещё называется OpenDevin; в более поздней версии той же работы название уже OpenHands. Архитектурно это более широкий проект: есть абстракция агента, поток событий, sandbox-среда, в которой доступны bash, Python/IPython и браузер, а также расширяемые «скиллы» и механизм делегирования между агентами.
В этом подходе software engineering — лишь одна из категорий оценки. Авторы пишут, что evaluation framework поддерживает 15 бенчмарков, а один и тот же CodeActAgent без смены общей идеи проверяется и на SWE-bench Lite, и на web-бенчмарках, и на задачах общего ассистирования. Это уже не «интерфейс для починки Python-репозиториев», а попытка сделать общую открытую платформу для агентной разработки.
Главное различие в одном абзаце
SWE-agent отвечает на вопрос: какой интерфейс нужен модели, чтобы она лучше чинила код в репозитории? OpenHands отвечает на другой вопрос: какая открытая среда нужна, чтобы на ней строить и сравнивать разных цифровых агентов, включая software agents? Отсюда и вся дальнейшая асимметрия в результатах.
Результаты
| Система | Источник | Бенчмарк | Конфигурация | Заявленный результат |
|---|---|---|---|---|
| SWE-agent | статья SWE-agent | SWE-bench (full) | в abstract статьи; основной сильный сетап в paper — GPT-4 Turbo | 12,5% pass@1 |
| SWE-agent | статья SWE-agent | HumanEvalFix | в abstract статьи | 87,7% pass@1 |
| OpenDevin / OpenHands | статья OpenDevin/OpenHands | SWE-bench Lite | CodeActAgent v1.8 + claude-3-5-sonnet@20240620, без hint text |
26,0% |
| OpenDevin / OpenHands | статья OpenDevin/OpenHands | HumanEvalFix | CodeActAgent v1.5 + gpt-4o-2024-05-13, 0-shot |
79,3% |
Важно: это не прямой head-to-head. SWE-agent в статье делает акцент на полном SWE-bench, а OpenDevin/OpenHands — в основном на SWE-bench Lite, который в исторической версии содержал 300 задач. На HumanEvalFix сами авторы OpenDevin отдельно отмечают, что их 0-shot сравнивается с SWE-agent, который в их таблице указан как 1-shot.
Что из этого можно честно сказать по фактам? Во-первых, SWE-agent уже весной 2024 года зафиксировал, что специально спроектированный ACI даёт заметный выигрыш на реальной repo-level задаче. Во-вторых, OpenDevin/OpenHands уже летом 2024 года показал, что более общий агентный стек не обязательно обречён проигрывать узкоспециализированным системам на software-бенчмарках: на SWE-bench Lite их CodeActAgent v1.8 с Claude 3.5 Sonnet выходит в диапазон результатов, который сопоставим с лучшими открытыми воспроизводимыми системами того момента.
Но здесь и скрыта ловушка. SWE-bench full, SWE-bench Lite и поздний SWE-bench Verified — это разные режимы оценки. Если кто-то без оговорок ставит рядом ранние 12,5% SWE-agent на full, 26,0% OpenHands на Lite и более поздние Verified-цифры из лидербордов, то он сравнивает не системы, а смесь из разных бенчмарков и эпох.
Интерпретация
С исследовательской точки зрения SWE-agent и OpenHands хорошо дополняют друг друга. SWE-agent удобен как «чистый» эксперимент про интерфейс: если вы хотите понять, влияет ли форма команд, окна просмотра файла, редактор и структура feedback на способность модели чинить код, это очень наглядный объект. OpenHands, наоборот, интересен как инфраструктурная работа: он показывает, как свести под одну крышу runtime, браузер, shell, Python, event stream, agent hub и benchmark harness.
Наш комментарий
На наш взгляд, спор «кто из них настоящий ИИ-инженер» вредит пониманию темы. SWE-agent и OpenHands оптимизируют разные слои стека. Первый — поверхность взаимодействия модели с кодовой средой. Второй — общую платформу, на которой можно строить не только кодового агента, но и более широкого цифрового агента.
Если ваша практическая задача — исследовать repo-level coding и аккуратно менять один фактор за раз, SWE-agent выглядит более чистой отправной точкой. Если задача — поднять воспроизводимую платформу с sandbox, shell, браузером, расширяемыми агентами и общей системой оценки, то логичнее смотреть в сторону OpenHands. Это не взаимоисключающие маршруты: скорее, две разные единицы анализа.
Ограничения
Первое ограничение — несопоставимость сплитов. SWE-agent прославился результатом на полном SWE-bench, а OpenDevin/OpenHands в статье по умолчанию использует SWE-bench Lite. После 13 августа 2024 года ситуация ещё сильнее усложняется выходом SWE-bench Verified.
Второе — несопоставимость моделей. В этих работах фигурируют разные семейства и версии моделей: GPT-4 Turbo, GPT-4o, Claude 3 Opus, Claude 3.5 Sonnet. Даже если каркас агента одинаков, смена базовой модели меняет итог сильнее, чем это часто видно из коротких пересказов.
Третье — разные prompting regimes. На HumanEvalFix в таблице OpenDevin/OpenHands SWE-agent проходит как 1-shot, а их собственный CodeActAgent — как 0-shot. Это важная деталь, потому что без неё легко сделать ложный вывод о «чистом» превосходстве одного каркаса над другим.
Четвёртое — качество самого бенчмарка. Выход SWE-bench Verified был реакцией на то, что часть исходных задач могла быть недоопределённой или плохо измерять реальную способность агента. Это не делает ранние работы бесполезными, но заставляет читать их как исторический этап, а не как финальный verdict.
Пятое — pass rate не равен качеству инженерной работы. Успешное прохождение тестов не говорит, насколько понятен патч, как он поведёт себя в code review, не ломает ли он скрытые инварианты и сможет ли тот же агент работать в приватном промышленном репозитории с иной структурой, зависимостями и политиками доступа.
Вывод
Если запомнить только одно, то вот оно: в 2024 году SWE-agent убедительно показал, что интерфейс для агента — это самостоятельная переменная качества, а OpenHands показал, что общий агентный runtime может оставаться конкурентоспособным даже на узкой software-заче. Оба результата важны, но отвечают на разные вопросы.
Поэтому практикующему инженеру полезнее спрашивать не «кто победил», а «какой именно слой я хочу исследовать или воспроизвести: специализированный ACI или общую платформу агента». Для честного сравнения цифр сегодня уже нужно отдельно фиксировать сплит SWE-bench, дату, модель и режим prompting.
Источники
- SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering
- SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering — NeurIPS 2024 Abstract
- SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering — NeurIPS 2024 Paper PDF
- SWE-Bench: Can Language Models Resolve Real-World GitHub Issues? — ICLR 2024 Paper PDF
- SWE-bench: Can Language Models Resolve Real-World GitHub Issues?
- OpenDevin: An Open Platform for AI Software Developers as Generalist Agents
- OpenHands: An Open Platform for AI Software Developers as Generalist Agents
- Introducing SWE-bench Verified | OpenAI
- SWE-bench/docs/assets/evaluation.md at main · SWE-bench/SWE-bench
- SWE-bench Lite
FAQ
- Можно ли напрямую сравнить SWE-agent и OpenHands по одной таблице?
Нет, если не зафиксированы сплит SWE-bench, дата, базовая модель и режим prompting. В 2024 году работы мерили разные вещи и не на полностью одинаковых условиях.
- Почему SWE-bench вообще стал таким важным?
Потому что он перевёл оценку coding systems от коротких задач к реальным issue в больших репозиториях, где нужно навигировать по коду, редактировать несколько файлов и проверять результат тестами.
- Что важнее для практики: ACI или общий runtime?
Зависит от цели. Для узких экспериментов по repo-level coding важнее ACI; для платформенного продукта или воспроизводимой исследовательской среды — общий runtime, sandbox и единый evaluation stack.
