В Research Insights Made Simple №33 разобрал SWE-agent — работу команды Princeton с NeurIPS 2024. Интересно читать её вместе с продолжением этой истории: авторы сначала создали специальный интерфейс для модели, а позже в mini-swe-agent вернулись к минимальной конструкции с bash.
Чтобы исправить ошибку в реальном проекте, нужно найти нужные файлы, разобраться в связях, внести изменения и проверить результат. Человеку помогают IDE, поиск и подсветка ошибок. Авторы предложили спроектировать рабочее место и для языковой модели — Agent-Computer Interface, или ACI. Веса модели при этом не меняли.
В SWE-agent поиск помогает постепенно сузить область работы. Просмотр файла показывает номера строк и положение внутри документа. Команда
edit заменяет диапазон строк и сразу возвращает обновлённый фрагмент. Если правка создаёт определённые ошибки линтера, система отклоняет её и показывает, что пошло не так. Старые ответы инструментов сокращаются, чтобы контекст не заполнялся предыдущими версиями файлов.Эти решения проверяли экспериментально. На 300 задачах SWE-bench Lite GPT-4 Turbo с полным SWE-agent решал 18% задач, а агент только с shell и демонстрацией решения — 11%. Без специального редактора результат снижался до 10,3%, с редактором без линтера составлял 15%. Это результаты конкретных конфигураций 2024 года; переносить проценты на сегодняшние модели нельзя.
При чтении я отдельно отмечал цену ограничений. Линтер помогает не увязнуть в собственных ошибках, но может запрещать промежуточное состояние, необходимое для большой правки. Ограничение поисковой выдачи экономит контекст, зато заставляет делать дополнительные запросы. Каждое такое решение меняет возможную последовательность действий агента.
А дальше модели стали лучше работать с shell. В mini-swe-agent та же команда оставила bash, линейную историю сообщений и независимые запуски команд. Авторы связывают упрощение с ростом возможностей моделей. Это продолжение истории, а не контрольный эксперимент исходной статьи.
Мне кажется, четыре принципа SWE-agent сохраняют смысл: простые и компактные действия, содержательная краткая обратная связь и помощь в восстановлении после ошибок. Но реализацию стоит перепроверять. Окно в 100 строк и последние пять наблюдений — настройки конкретной системы, не универсальный рецепт.
Полезно забрать и сам способ работы авторов: читать траектории, находить повторяющийся сбой, менять компонент и измерять результат. После смены модели стоит снова проверить, какую пользу приносит каждый элемент обвязки. Вчерашнее улучшение вполне может стать сегодняшним ограничением.
P.S.
Приложил whitepaper с моими заметками. Интересно, что он 100+ страниц, но основная часть укладывается в 10 страниц, а еще 10 добавляет расширенную версию про сам ACI. Дальше уже идут тексты программ, промты и так далее
#AI4SDLC #Research #Agents #Evals #Engineering