<НА ГЛАВНУЮ

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

Switch to English