SICA: Самоулучшающийся кодирующий агент, меняющий подход к автономной разработке ПО
Исследователи представили SICA — новый агент, способный самостоятельно улучшать свой код и производительность, показывая значительный прогресс на бенчмарках по разработке ПО.
Прогресс агентных систем за пределами фиксированных стратегий
Агентные системы, включающие большие языковые модели (LLM) в структуры с возможностью использования инструментов и автономного принятия решений, достигли значительных успехов. Однако большинство современных решений опираются на фиксированные, вручную разработанные стратегии оркестрации, что ограничивает адаптивность к новым и сложным задачам, особенно в области разработки ПО, где важна гибкость.
Введение SICA: унифицированного самоулучшающегося агента
Исследователи из Университета Бристоля и iGent AI создали SICA (Self-Improving Coding Agent) — инновационную архитектуру, которая позволяет агенту итеративно улучшать собственный код и производительность без внешнего вмешательства. В отличие от предыдущих подходов, разделяющих выполнение задач и самоулучшение между разными агентами, SICA объединяет эти функции в одном агенте. Это создает непрерывный цикл самонаправленного улучшения, где агент оценивает прошлую работу, выявляет недостатки и обновляет собственную реализацию.
Архитектура и механизмы SICA
SICA построена на минимальном, расширяемом базовом агенте с инструментами для работы с кодовой базой, навигации по каталогам, выполнения команд оболочки и вызова субагентов. Итеративный процесс включает три этапа: оценка, выбор, исправление.
- Агент оценивает свою производительность на заданных задачах, учитывая точность, время и стоимость.
- Он сохраняет результаты и выбирает наиболее эффективные предыдущие версии для дальнейших улучшений.
- Архитектура включает структуру субагентов для разбиения задач и управления контекстом в рамках ограничений LLM.
- Асинхронный надзор следит за прогрессом агента, останавливая выполнение в случае отклонений или застоя.
- Инструменты самоизменения, такие как SmartEditor, локаторы символов на основе AST и суммаризаторы различий, позволяют вносить точечные изменения в поведение.
Такой дизайн позволяет SICA проводить контролируемые эксперименты с собственной архитектурой и внедрять обновления, ведущие к заметному улучшению результатов.
Эмпирические результаты показывают значительный прогресс
Команда протестировала SICA на нескольких бенчмарках, включая SWE Bench Verified, LiveCodeBench и синтетические задачи, связанные с редактированием файлов и поиском символов. Результаты впечатляют:
- Точность на SWE Bench Verified выросла с 17% до 53%.
- Производительность редактирования файлов улучшилась с 82% до 94%.
- Оптимизированы задержки выполнения и использование ресурсов, снижены средние затраты и время на задачу.
Эти улучшения достигнуты не за счет обновления весов LLM, а благодаря оптимизации оркестрации инструментов, управления файлами и эвристик разбиения задач.
Ограничения и перспективы развития
Улучшения SICA были менее выражены в задачах, требующих глубокого рассуждения (AIME, GPQA), где базовая LLM уже близка к пределу возможностей. Введение некоторых инструментальных шагов рассуждения иногда ухудшало работу предварительно обученных моделей, что указывает на необходимость лучшей совместной тренировки логики агента и поведения модели.
Путь к автономным и прозрачным агентным системам
SICA демонстрирует жизнеспособный путь к автономному улучшению программных агентов, объединяя выполнение и самоизменение в одном агенте. Фреймворк также решает вопросы безопасности и прозрачности с помощью надзора на базе LLM и структурированных следов выполнения, обеспечивая контроль и наблюдаемость.
Это исследование закладывает основу для гибридных подходов, где совместно развиваются архитектура агента и базовые модели, открывая новые возможности для адаптивных и эффективных агентов в разработке ПО.
Switch Language
Read this article in English