
«`html
Введение:
Большие языковые модели (CodeLLMs) продемонстрировали выдающуюся профессиональность в генерации кода. Однако они испытывают трудности с выполнением сложных инженерных задач, таких как разработка целой программной системы на основе сложных спецификаций. Недавние работы, включая ChatDev и MetaGPT, представили мультиагентные фреймворки для разработки программного обеспечения, где агенты сотрудничают для достижения сложных целей. Однако они часто упрощают сложную природу разработки программного обеспечения в реальном мире, где программное обеспечение постоянно развивается и улучшается.
Введение AgileCoder:
В этой работе команда исследователей из FPT Software AI Center предлагает AgileCoder, новый фреймворк, который имитирует сложный процесс разработки программного обеспечения в реальном мире, черпая вдохновение из Agile-методологии, широко используемого подхода в профессиональных командах разработки программного обеспечения. Примерно 70% профессиональных команд используют Agile-методологию, которая лучше подходит для разработки программного обеспечения в реальном мире. AgileCoder основан на ключевой концепции Agile: программное обеспечение постоянно развивается со временем, и поэтому разработка должна быть структурирована в виде спринтов (фаз).
Роли агентов и сотрудничество:
AgileCoder состоит из нескольких агентов, играющих разные роли: руководитель проекта, Scrum-мастер, разработчик, старший разработчик и тестировщик. Эти агенты сотрудничают на протяжении спринтов для выполнения пользовательских задач в соответствии с методологией Agile. Адаптируя рабочие процессы Agile к мультиагентному фреймворку, AgileCoder подчеркивает динамическую адаптивность и итеративную разработку. Результаты и проблемы предыдущих спринтов наследуются и улучшаются в последующих спринтах, увеличивая вероятность успеха конечных продуктов.
Генератор динамического кодового графа:
Ключевым новшеством в AgileCoder является генератор динамического кодового графа, который создает граф зависимостей кода (CDG), моделирующий отношения между файлами кода и обновляющийся с изменениями исходного кода. CDG играет важную роль в написании рациональных планов тестирования и обеспечении эффективного извлечения кода. Он служит надежным источником для агентов для получения актуальной и достаточной информации, помогая избежать включения неактуальной информации в подсказки.
Оценка и результаты:
Комплексные оценки на бенчмарках, таких как HumanEval, MBPP и ProjectDev, демонстрируют превосходную производительность AgileCoder. На HumanEval и MBPP, которые включают простые задачи программирования на уровне соревнований, AgileCoder значительно превосходит CodeLLMs и передовые мультиагентные фреймворки, такие как ChatDev и MetaGPT. Для оценки производительности по более сложным требованиям команда создала набор данных под названием ProjectDev, содержащий требования из реальных проектов программного обеспечения. Результаты оценки показывают, что AgileCoder эффективнее других базовых вариантов в генерации программного обеспечения из таких сложных требований.
Заключение:
AgileCoder — новый мультиагентный фреймворк разработки программного обеспечения, вдохновленный Agile-методологией. Его ключевое новшество, генератор динамического кодового графа, создает граф зависимостей кода, который отражает развивающиеся отношения кода для разработки планов тестирования и обеспечения эффективного извлечения кода. Следуя методологии Agile, AgileCoder лучше отражает рабочие процессы реальной разработки программного обеспечения и поддерживает динамическую адаптивность и итеративную разработку. Обширные оценки показывают превосходство AgileCoder над существующими методами, такими как ChatDev и MetaGPT, делая его многообещающим подходом для выполнения сложных задач разработки программного обеспечения с использованием CodeLLMs.
Посмотреть статью и GitHub. Вся заслуга за это исследование принадлежит исследователям этого проекта. Также не забудьте подписаться на нас в Twitter и присоединиться к нашей группе в LinkedIn. Если вам нравится наша работа, вам понравится наша рассылка.
Не забудьте присоединиться к нашему сообществу 48k+ ML на Reddit.
Найдите предстоящие вебинары по ИИ здесь.
Опубликовано в MarkTechPost.
«`