FPT Software AI Center представляет HyperAgent: уникальная система для решения различных задач по программной инженерии в масштабе, достигающая передовых результатов на SWE-Bench и Defects4J.

 FPT Software AI Center Introduces HyperAgent: A Groundbreaking Generalist Agent System to Resolve Various Software Engineering Tasks at Scale, Achieving SOTA Performance on SWE-Bench and Defects4J

“`html

HyperAgent: Революционная система общего назначения для решения различных задач по инженерии программного обеспечения

Большие языковые модели (LLM) революционизировали инженерию программного обеспечения, проявив замечательные способности в различных задачах кодирования. Недавние усилия привели к созданию автономных программных агентов на основе LLM для задач разработки end-to-end, но эти системы обычно предназначены для конкретных задач инженерии программного обеспечения (SE). Исследователи из FPT Software AI Center, Вьетнам, представляют HyperAgent, новую систему общего назначения, разработанную для решения широкого спектра задач SE на различных языках программирования путем имитации рабочих процессов человеческих разработчиков.

Практические решения и ценность

HyperAgent состоит из четырех специализированных агентов – Планировщика, Навигатора, Редактора кода и Исполнителя – управляющих полным жизненным циклом задач SE, от начальной концепции до окончательной верификации. Через обширные оценки HyperAgent демонстрирует конкурентоспособную производительность в различных задачах SE:

  • Разрешение проблем GitHub: 25,01% успешных случаев на SWE-Bench-Lite и 31,40% на SWE-Bench-Verified, конкурентоспособная производительность по сравнению с существующими методами, такими как AutoCodeRover, SWE-Agent, Agentless и т. д.
  • Генерация кода в масштабе репозитория (RepoExec): 53,3% точности при навигации по кодовым базам и извлечении правильного контекста.
  • Локализация ошибок и исправление программы (Defects4J): 59,70% точности в локализации ошибок и успешные исправления для 29,8% ошибок Defects4J, достигнута SOTA производительность по этим 2 задачам.

Эта работа представляет собой значительное продвижение к универсальным автономным агентам, способным обрабатывать сложные многоэтапные задачи SE в различных областях и языках. Производительность HyperAgent демонстрирует его потенциал для трансформации практик разработки программного обеспечения с помощью ИИ, предлагая более адаптивное и всестороннее решение по сравнению с задачно-специфическими альтернативами.

Методология

HyperAgent вдохновлен типичными рабочими процессами разработчиков для решения любой задачи инженерии программного обеспечения. Он состоит из четырех итеративных фаз в типичном рабочем процессе инженерии программного обеспечения: Анализ и Планирование, где разработчики понимают требования и формулируют гибкую стратегию; Локализация функций, которая включает в себя идентификацию соответствующих компонентов кода в репозитории; Редакция, где разработчики внедряют изменения, добавляют функциональность и пишут тесты, поддерживая при этом качество кода; и Исполнение, которое включает тестирование и верификацию изменений. Эти фазы повторяются по мере необходимости до удовлетворительного завершения задачи, причем процесс адаптируется к конкретным требованиям задачи и опыту разработчика.

В HyperAgent фреймворк организован вокруг четырех основных агентов: Планировщика, Навигатора, Редактора кода и Исполнителя. Каждый агент соответствует определенному шагу в общем рабочем процессе, хотя фактический рабочий процесс каждого агента может немного отличаться от того, как человеческий разработчик мог бы подойти к подобным задачам.

Дизайн подчеркивает три основных преимущества по сравнению с существующими методами:

  • Универсальность: фреймворк разработан для легкой адаптации к широкому спектру задач с минимальными изменениями конфигурации и небольшими дополнительными усилиями, необходимыми для внедрения новых модулей в систему.
  • Эффективность: каждый агент оптимизирован для управления процессами с различными уровнями сложности, требующими разной степени интеллекта от LLM. Например, для навигации может использоваться легкая и вычислительно эффективная LLM, которая, хотя и менее сложная, требует наибольшего потребления токенов. Напротив, более сложные задачи, такие как редактирование кода или исполнение, требуют более продвинутых возможностей LLM.
  • Масштабируемость: фреймворк построен для эффективного масштабирования при развертывании в реальных сценариях, где количество подзадач значительно велико. Например, сложная задача в бенчмарке SWE-bench может потребовать значительного времени для завершения системой на основе агентов, и HyperAgent разработан для эффективной работы в таких сценариях.

Эти преимущества позволяют HyperAgent эффективно решать широкий спектр задач инженерии программного обеспечения, сохраняя при этом эффективность и масштабируемость.

Заключение

HyperAgent – это система общего назначения, разработанная для решения широкого спектра задач инженерии программного обеспечения. Путем близкого имитирования типичных рабочих процессов инженерии программного обеспечения, HyperAgent включает этапы анализа, планирования, локализации функций, редактирования кода и исполнения/верификации. Обширные оценки по различным бенчмаркам, включая разрешение проблем GitHub, генерацию кода в масштабе репозитория и локализацию ошибок и исправление программы, демонстрируют, что HyperAgent не только соответствует, но часто превосходит производительность специализированных систем. Успех HyperAgent подчеркивает потенциал общих подходов в инженерии программного обеспечения, предлагая универсальный инструмент, способный адаптироваться к различным задачам с минимальными изменениями конфигурации. Его дизайн подчеркивает универсальность, эффективность и масштабируемость, что делает его отлично подходящим для реальных сценариев разработки программного обеспечения, где задачи могут значительно различаться по сложности и масштабу.

Будущая работа может исследовать интеграцию HyperAgent с существующими средами разработки и системами контроля версий, изучать его потенциал в специализированных областях, таких как проверка кода, ориентированная на безопасность, или оптимизация производительности, улучшать его объяснимость и постоянно обновлять его базу знаний. Эти усовершенствования могут дополнительно оптимизировать процесс инженерии программного обеспечения, расширить применимость HyperAgent, улучшить доверие среди разработчиков и обеспечить его долгосрочную актуальность в быстро развивающейся области инженерии программного обеспечения.

Спасибо FPT Software AI Center за вдохновение и ресурсы для этой статьи.

“`

Мобильная разработка на заказ и готовые решения

Мобильная разработка

Готовые и индивидуальные решения

Веб решения - разработка сайтов и сервисов

Web решения

Получите бесплатную консультацию по веб-разработке прямо сейчас

Аутсорсинг, подбор специалистов и команд разработки

Аутсорсинг

Выберите своего специалиста сегодня и начните свой проект