Автор: Денис Аветисян
Обзор посвящен быстро развивающейся области применения систем на основе больших языковых моделей для автоматического решения проблем в разработке и эксплуатации программного обеспечения.

Систематический анализ подходов к автоматическому выявлению, диагностике и устранению ошибок в коде с использованием агентов на основе больших языковых моделей, включая методы обучения с подкреплением, генерацию кода и оценку эффективности.
Несмотря на значительный прогресс в автоматизации разработки программного обеспечения, решение реальных проблем, возникающих в кодовой базе, остается сложной задачей. Данная работа, озаглавленная ‘Agentic Software Issue Resolution with Large Language Models: A Survey’, представляет собой систематический обзор исследований, посвященных применению агентов на основе больших языковых моделей (LLM) для автоматического исправления ошибок и оптимизации кода. Обзор выявляет ключевые тенденции, таксономию подходов и перспективные направления в области агентированного решения проблем в разработке. Сможем ли мы создать полностью автономные системы, способные самостоятельно поддерживать и совершенствовать программное обеспечение, и какие препятствия стоят на этом пути?
Автоматизация Разрешения Проблем: Новый Рубеж
Традиционная разработка программного обеспечения исторически опирается на ручное устранение неполадок, что представляет собой значительные финансовые и временные затраты. Этот процесс, требующий от квалифицированных специалистов детального анализа и исправления ошибок, зачастую становится узким местом в жизненном цикле продукта. Ручное тестирование и отладка, хоть и необходимые, требуют больших ресурсов и подвержены человеческому фактору, что может приводить к пропуску критических ошибок или задержкам в выпуске обновлений. В результате, компании вынуждены инвестировать значительные средства в команды поддержки и отладки, что напрямую влияет на общую стоимость разработки и скорость внедрения инноваций. Подобная зависимость от ручного труда становится особенно ощутимой в условиях быстро меняющихся требований и необходимости оперативного реагирования на возникающие проблемы.
Появление LLM-основанных агентных систем открывает перспективы для автоматизации решения проблем в разработке программного обеспечения, традиционно требующего значительных временных и финансовых затрат на ручную обработку. Обширный обзор 126 научных работ, проведённый к концу 2025 года, демонстрирует активное развитие данного направления, однако надёжная и стабильная производительность этих систем остаётся сложной задачей. Несмотря на значительный прогресс в области больших языковых моделей и агентных технологий, обеспечение их способности к самостоятельному и безошибочному выявлению и устранению неисправностей требует дальнейших исследований и инноваций в алгоритмах, архитектуре и методах обучения. Успешная автоматизация процесса решения проблем позволит существенно повысить эффективность разработки и снизить затраты на поддержку программного обеспечения.

Обучение Агентских Систем: От Контролируемого Обучения и Далее
Супервизированное обучение (SupervisedFineTuning) является основополагающим этапом адаптации больших языковых моделей (LLM) для решения задач и обработки запросов. В процессе супервизированного обучения модель обучается на размеченных наборах данных, где для каждого входного запроса предоставлен ожидаемый ответ или решение. Это позволяет модели установить соответствие между входными данными и желаемыми результатами, формируя базу знаний и способность генерировать релевантные ответы. Качество и объем размеченных данных напрямую влияют на эффективность модели в дальнейшем, определяя её точность и способность обобщать знания на новые, ранее не встречавшиеся запросы.
Обучение агентов исключительно на размеченных данных может ограничивать их способность к обобщению и решению сложных задач. Размеченные наборы данных, как правило, охватывают лишь ограниченный спектр возможных ситуаций и вариантов развития событий. В результате, агент, обученный только на таких данных, может столкнуться с трудностями при обработке новых, незнакомых сценариев, которые не были представлены в обучающей выборке. Это приводит к снижению производительности и необходимости в постоянном дообучении на расширенных наборах данных, что является ресурсоемким процессом. Для преодоления этих ограничений используются методы обучения с подкреплением, позволяющие агенту обучаться на основе получаемого опыта и адаптироваться к изменяющимся условиям.
Обучение с подкреплением (Reinforcement Learning) позволяет преодолеть ограничения, связанные с зависимостью от размеченных данных, путем вознаграждения агентов за достижение целевых результатов и стимулирования эффективных шагов рассуждений. В ходе домен-специфической тонкой настройки открытых языковых моделей, использование данного подхода продемонстрировало улучшение производительности на величину до 5%. Данный метод позволяет агентам адаптироваться к сложным сценариям, не представленным в исходных размеченных данных, оптимизируя процесс принятия решений на основе получаемого вознаграждения.
Уточнение Поведения Агентов: Сигналы Вознаграждения и Представление Кода
Эффективное обучение с подкреплением требует тщательно разработанных сигналов вознаграждения, балансирующих между вознаграждением за результат (OutcomeBasedReward) и вознаграждением за процесс (ProcessOrientedReward). Вознаграждение за результат стимулирует агента к достижению корректного решения задачи, однако недостаточно для развития эффективных стратегий. Вознаграждение за процесс, напротив, поощряет оптимальные шаги и промежуточные результаты, способствуя развитию навыков эффективного рассуждения и поиска решений, даже если конечный результат не всегда идеален. Комбинирование этих двух типов вознаграждения позволяет агенту не только находить правильные ответы, но и оптимизировать процесс их получения, что критически важно для сложных и многоэтапных задач.
Представление исходного кода, используемое при взаимодействии с большой языковой моделью (LLM) — так называемое CodeRepresentation — оказывает существенное влияние на её способность к пониманию и манипулированию кодом. Различные форматы представления, такие как plain text, Abstract Syntax Trees (AST), или токены, могут по-разному облегчать или затруднять анализ синтаксиса, семантики и логики программы. Например, AST предоставляет структурированное представление, упрощающее выявление зависимостей и ошибок, в то время как представление в виде текста требует от LLM самостоятельного парсинга и анализа. Выбор оптимального CodeRepresentation критически важен для эффективности решения задач, связанных с автоматическим исправлением кода, генерацией и рефакторингом.
Сочетание тщательно разработанных сигналов вознаграждения и эффективного представления исходного кода позволяет агентам машинного обучения осваивать не только корректные исправления ошибок, но и стратегию их поиска и применения. Обучение агента, ориентированное на процесс решения задачи, а не только на конечный результат, способствует формированию навыков, применимых к более широкому спектру проблем. Это достигается за счет вознаграждения за отдельные этапы решения, такие как эффективный поиск ошибок или использование оптимальных алгоритмов, что позволяет агенту оптимизировать не только результат, но и процесс его достижения.

Валидация Агентивных Систем: Строгое Тестирование и Оценка
Оценка автономных систем — критически важная задача, требующая всестороннего подхода. Для обеспечения надежности предлагаемых исправлений и предотвращения появления новых проблем, необходимы как тесты на воспроизводимость, так и регрессионные тесты. Воспроизводимость гарантирует, что выявленная ошибка действительно устранена, а регрессионные тесты удостоверяют, что внесенные изменения не привели к поломке ранее работавшего функционала. Такой комплексный подход позволяет с уверенностью оценивать способность системы к самокоррекции и повышает доверие к ее автономным действиям, что особенно важно в сложных и критически важных приложениях.
Набор данных SWEBench представляет собой ценный ресурс для оценки и сопоставления различных систем автоматического исправления ошибок в программном обеспечении. Он включает в себя тщательно отобранные реальные проблемы, возникающие в проектах с открытым исходным кодом, что позволяет исследователям и разработчикам объективно сравнивать эффективность различных подходов к автоматическому исправлению. SWEBench предоставляет стандартизированную платформу для тестирования, облегчая воспроизводимость результатов и способствуя прогрессу в области автоматизации процесса разработки.
Оценка агентивных систем требует не только проверки воспроизводимости исправлений, но и обеспечения целостности используемых бенчмарков. Важно, чтобы тестовые сценарии адекватно отражали реальные проблемы разработки и не подталкивали системы к нежелательным решениям, оптимизированным исключительно под искусственные условия. Текущий уровень воспроизводимости зафиксированных проблем у самых передовых систем составляет всего 49%, что указывает на значительные трудности в создании надежных и универсальных методов автоматического исправления ошибок. Низкий показатель подчеркивает необходимость разработки более реалистичных и всесторонних бенчмарков, способных достоверно оценивать способность системы решать задачи в условиях, приближенных к реальным проектам разработки программного обеспечения.
Будущее Автоматизированного Разрешения Проблем: Разработка Программного Обеспечения для Агентских Систем
Появляется новая область разработки программного обеспечения — Инженерия программного обеспечения для Агентных Систем (SE4AS). Она призвана решить специфические задачи, возникающие при создании и поддержке автономных агентов, отличающихся от традиционных программных приложений. Автономные агенты требуют иных подходов к проектированию, тестированию и отладке, поскольку их поведение определяется не только явно заданным кодом, но и способностью к обучению и адаптации. SE4AS фокусируется на разработке инструментов и методологий, позволяющих эффективно управлять сложностью этих систем, обеспечивать их надежность и предсказуемость, а также облегчать интеграцию с существующими программными платформами. Развитие данной области позволит в полной мере реализовать потенциал автономных агентов в различных сферах, от автоматизации рутинных задач до решения сложных научных проблем.
Для широкого внедрения автономных агентов необходимо преодолеть ряд технических ограничений. Существующие системы часто сталкиваются с трудностями в обработке неструктурированных данных, поддержании контекста в сложных задачах и обеспечении надежности при столкновении с непредвиденными ситуациями. Исследования в области SE4AS направлены на разработку инструментов и методов, позволяющих агентам эффективно обучаться, адаптироваться и исправлять ошибки, а также гарантировать их предсказуемое поведение. Особое внимание уделяется решению проблем, связанных с объяснимостью принимаемых решений и возможностью вмешательства человека в процесс работы агента, что критически важно для доверия и контроля над этими системами. Преодоление этих технических препятствий станет ключевым фактором, определяющим будущее автоматизированного решения задач и возможности масштабирования агентов в различных сферах применения.
Интеграция автономных агентов в существующие процессы разработки программного обеспечения открывает возможности для существенного повышения производительности и ускорения инноваций. Вместо того чтобы рассматривать агентов как отдельные инструменты, их можно внедрить в привычные рабочие циклы — от автоматизации рутинных задач, таких как тестирование и рефакторинг кода, до помощи в поиске и устранении ошибок. Такой подход позволяет разработчикам сосредоточиться на более сложных и творческих аспектах работы, снижая нагрузку и уменьшая вероятность ошибок. Более того, агенты способны анализировать большие объемы данных и предлагать оптимальные решения, что способствует более быстрому и эффективному созданию новых продуктов и функций. В конечном итоге, плавная интеграция агентов в существующую инфраструктуру разработки создает синергию, которая значительно превосходит возможности традиционных методов.
Исследование, представленное в статье, подчеркивает возрастающую роль LLM-агентов в автоматическом решении проблем программного обеспечения. Этот подход, хотя и перспективный, требует строгого обоснования и доказательства корректности. Как отмечал Г.Х. Харди: «Математика — это наука о том, что логически возможно, а не о том, что фактически существует». Данное высказывание созвучно идее о необходимости математической чистоты в коде и алгоритмах, рассматриваемых в статье. LLM-агенты должны не просто успешно проходить тесты, но и предоставлять решения, которые можно доказать как верные, обеспечивая надёжность и предсказуемость автоматизированного исправления ошибок.
Что Дальше?
Представленный обзор, несмотря на кажущуюся полноту, лишь подчеркивает фундаментальную неопределенность в области автоматического разрешения проблем в программном обеспечении с использованием агентов на базе больших языковых моделей. Достижения в генерации кода и автоматическом исправлении программ, хотя и впечатляющие, остаются эмпирическими упражнениями, лишенными строгой математической основы. Недостаточно просто продемонстрировать работоспособность на ограниченном наборе тестов; необходимо доказать корректность алгоритма в общем случае. Иначе это не решение, а лишь временное облегчение симптомов.
Очевидным направлением дальнейших исследований представляется разработка формальных методов верификации для LLM-агентов. Необходимо создать инструменты, способные доказывать, что предложенное исправление действительно решает проблему, не порождая новых, и что агент действует в соответствии со спецификацией. Иначе говоря, нужна не просто «работающая» система, а система, чье поведение можно предсказать и обосновать. Попытки обойтись исключительно статистическими методами, вероятно, обречены на провал в долгосрочной перспективе.
В конечном счете, истинный прогресс в этой области потребует интеграции достижений машинного обучения с принципами формальной верификации и теории типов. Только тогда мы сможем приблизиться к созданию действительно автономных систем поддержки программного обеспечения, способных решать сложные задачи не просто эффективно, но и надежно. Иначе это останется лишь сложной игрой с вероятностями.
Оригинал статьи: https://arxiv.org/pdf/2512.22256.pdf
Связаться с автором: https://www.linkedin.com/in/avetisyan/
Смотрите также:
- Восполняя пробелы в знаниях: Как языковые модели учатся делать выводы
- Квантовый Монте-Карло: Моделирование рождения электрон-позитронных пар
- Виртуальная примерка без границ: EVTAR учится у образов
- Геометрия на пределе: как алгоритмы оптимизации превосходят языковые модели
- Оптимизация партийных запросов: Метод имитации отжига против градиентных подходов
- Скрытая сложность: Необратимые преобразования в квантовых схемах
- Эмоциональный отпечаток: Как мы научили ИИ читать душу (и почему рейтинги вам врут)
- Квантовый скачок из Андхра-Прадеш: что это значит?
2026-01-01 01:38