Исследователи из Калифорнийского университета в Беркли разработали S* – новый фреймворк, улучшающий генерацию кода с помощью ИИ. Он сочетает параллельное и последовательное масштабирование, а также использует внешний анализ результатов для выбора наилучшего варианта.
Как это работает
Обычный подход к генерации кода с ИИ – создание нескольких вариантов и выбор лучшего. Беркли расширили этот метод, добавив итеративное улучшение через отладку. S* использует внешнюю обратную связь, что отличает его от традиционных языковых моделей (LLMs) и новых моделей рассуждений (LRMs).
Второй ключевой элемент – «адаптивный синтез входных данных». В тестах GPT-4o mini генерировал входные данные, проверяя возможные ошибки в программах. ИИ создавал тесты, учитывая крайние случаи и сложные сценарии, запускал код и анализировал результаты, выбирая оптимальный вариант.
Результаты и ограничения
Тестирование на 12 разных языковых моделях показало устойчивый рост точности. Например, Qwen2.5-7B-Coder-Instruct с S оказался на 10% лучше, чем Qwen2.5-32B-Coder-Instruct без него*. В некоторых случаях меньшие модели с S превосходили крупные модели рассуждений* – GPT-4o mini с S* обошел o1-Preview.
Однако пока S* оптимизирован только для соревновательного программирования и не тестировался на реальных задачах разработки. Несмотря на это, подход итеративного улучшения и поиска напоминает стратегию OpenAI в тестах ARC и может значительно повлиять на будущее генерации кода.