Itinai.com it company office background blured chaos 50 v d206c24f 918d 4335 b481 4a9e0737502d 0

EG-CFG: Новая эра генерации кода с обратной связью в реальном времени

Itinai.com it company office background blured chaos 50 v d206c24f 918d 4335 b481 4a9e0737502d 0

EG-CFG: Улучшение генерации кода с помощью обратной связи в реальном времени

В последние годы большие языковые модели (LLM) значительно продвинулись в генерации кода для различных программных задач. Однако они в основном полагаются на распознавание шаблонов из статических примеров кода, а не на понимание того, как код ведет себя во время выполнения. Это часто приводит к созданию программ, которые выглядят корректно, но не работают при запуске. Новые методы, такие как итеративное уточнение и самодебаггинг, обычно работают в отдельных этапах — генерация, тестирование и затем исправление. В отличие от человеческих программистов, которые непрерывно запускают фрагменты кода и вносят изменения на основе обратной связи в реальном времени, эти модели не могут интегрировать обратную связь о выполнении непрерывно, что ограничивает их эффективность в создании действительно функционального кода.

Роль синтеза программ и подсказок в генерации кода

Синтез программ давно используется для оценки LLM и автоматизации бенчмарков генерации кода, таких как MBPP, HumanEval и CodeContests, тестируя модели на различных задачах программирования. Хотя стратегии подсказок, такие как few-shot и Chain-of-Thought, улучшили производительность, новые методы теперь включают обратные связи, которые используют инструменты или результаты выполнения для уточнения выходных данных. Некоторые фреймворки даже распределяют задачи между несколькими агентами LLM, каждый из которых решает разные аспекты проблемы. Однако большинство подходов по-прежнему полагаются на простые методы декодирования. В отличие от традиционных стратегий, новые методы управления, такие как граф управления потоком (CFG), предлагают более динамический подход, но еще не были широко применены с обратной связью в реальном времени.

Представляем EG-CFG: Генерация кода с учетом выполнения от Тель-Авивского университета

Исследователи Тель-Авивского университета представили EG-CFG, новый метод генерации кода, который активно использует обратную связь о выполнении в процессе генерации, что является распространенной техникой среди человеческих программистов. Вместо того чтобы ждать до конца, EG-CFG оценивает частичный код по мере его написания, направляя модель к правильным и исполняемым выходным данным. Он использует поиск по лучам для генерации нескольких вариантов кода, запускает их и интегрирует результаты выполнения, чтобы повлиять на последующие шаги. Этот цикл обратной связи в реальном времени значительно повышает производительность на стандартных бенчмарках, таких как MBPP, HumanEval и CodeContests, даже превосходя закрытые модели, а также позволяет эффективно проводить параллельное рассуждение и динамическое исследование.

Как работает EG-CFG: обратная связь в реальном времени встречает поиск по лучам и парсинг AST

Метод EG-CFG улучшает генерацию кода, направляя языковые модели с помощью обратной связи о выполнении в реальном времени во время вывода. Для данной задачи программирования он генерирует частичные решения кода и исследует несколько продолжений с помощью поиска по лучам. Эти продолжения проверяются на синтаксис с использованием парсинга абстрактного синтаксического дерева (AST), и только действительные варианты выполняются на тестовых случаях для сбора подробных трассировок выполнения, включая состояния переменных и ошибки. Эта обратная связь затем вводится в подсказку модели, чтобы информировать будущие предсказания. Механизм управления интерполирует между стандартным выводом модели и предложениями, основанными на обратной связи, помогая модели уточнять свое решение шаг за шагом до тех пор, пока оно не пройдет все тестовые случаи.

Результаты бенчмарков: EG-CFG превосходит GPT-4 и Claude на HumanEval и MBPP-ET

Метод EG-CFG был протестирован с использованием двух версий моделей DeepSeek: модели с 1.3 миллиарда параметров локально и более крупной модели V3-0324 через API. Он был оценен по пяти бенчмаркам кода: MBPP, HumanEval, CodeContests, MBPP-ET и HumanEval-ET. На HumanEval EG-CFG с DeepSeek V3 правильно решил 90.1% задач, превосходя GPT-4 (85.5%) и Claude 2 (83.2%). На MBPP-ET он достиг 81.4% точности, установив новый рекорд. Примечательно, что меньшая модель с 1.3 миллиарда параметров также показала сильные результаты, улучшившись с 46.3% до 61.7% на HumanEval при использовании EG-CFG. Исследование абляции подтвердило важность таких компонентов, как динамическая обратная связь и поиск по лучам, в достижении этих результатов.

Заключение: EG-CFG имитирует отладку человека для продвижения генерации кода

В заключение, метод EG-CFG представляет собой новый способ генерации кода с использованием языковых моделей, включая обратную связь о выполнении в реальном времени в процессе генерации. В отличие от традиционных подходов, которые полагаются на статические шаблоны, EG-CFG имитирует то, как человеческие программисты тестируют и уточняют код. Он использует поиск по лучам для исследования возможных завершений кода, тестирует их с реальными входными данными и затем направляет генерацию на основе результатов. Этот процесс происходит построчно, обеспечивая, чтобы обратная связь была как структурированной, так и действенной. Метод также поддерживает работу нескольких агентов параллельно, что повышает эффективность. EG-CFG достигает высокой точности на стандартных бенчмарках, демонстрируя сильные результаты даже на сложных задачах программирования и с меньшими моделями.

Часто задаваемые вопросы (FAQ)

1. Что такое EG-CFG?

EG-CFG — это метод генерации кода, который использует обратную связь о выполнении в реальном времени для улучшения качества создаваемого кода.

2. Как EG-CFG отличается от традиционных методов генерации кода?

В отличие от традиционных методов, которые полагаются на статические шаблоны, EG-CFG активно использует результаты выполнения кода для уточнения и улучшения выходных данных.

3. Какие преимущества дает использование EG-CFG?

EG-CFG позволяет создавать более точный и функциональный код, так как он учитывает обратную связь в реальном времени, что значительно повышает производительность.

4. Как EG-CFG справляется с ошибками в коде?

EG-CFG тестирует частичные решения кода и использует результаты выполнения для выявления и исправления ошибок, что делает процесс более эффективным.

5. Какие бенчмарки использовались для тестирования EG-CFG?

EG-CFG был протестирован на таких бенчмарках, как MBPP, HumanEval и CodeContests, где показал высокие результаты.

6. Как можно применить EG-CFG в реальных проектах?

EG-CFG может быть использован в проектах, где требуется высокая точность генерации кода, например, в разработке программного обеспечения, автоматизации тестирования и обучении программированию.

Запустите свой ИИ проект бесплатно

ИИ-агенты искусственный интеллект онлайн для бизнеса

Лучший ИИ онлайн