К содержанию
Новости

Исследование: кодовые LLM слабо предсказывают, как программы ведут себя при выполнении

Авторы новой работы предлагают по-новому проверять, насколько кодовые LLM действительно понимают поведение программ во время выполнения, а не только структуру исходного кода. В программной инженерии такое внутреннее представление о том, как работает софт, называют «software world model». Речь о модели, которая позволяет рассуждать о происходящем в момент запуска программы.

Как отмечается в статье, о которой пишет arXiv cs.AI (Artificial Intelligence), существующие бенчмарки выполнения кода в основном проверяют лишь одну сторону задачи, контроль потока исполнения. В новой работе авторы предлагают расширить оценку и сместить фокус к ресурсам выполнения. Модели просят не только выдать результат тестов и тип исключения, но и предсказать пиковое потребление памяти, wall-clock время, а также ранжированные результаты профилирования на уровне методов и отдельных строк.

Для экспериментов использован набор задач SWE-bench Verified. Такой выбор должен приблизить тестирование к реальным задачам разработки. По итогам эксперимента все протестированные модели, включая frontier-модели, показали умеренные результаты и вели себя нестабильно.

Авторы приходят к выводу, что современные кодовые LLM пока заметно лучше пишут исходный код, чем понимают, как этот код на самом деле выполняется и какие ресурсы при этом расходует.

Ключевые факты

  • В исследовании предлагается оценивать способность моделей предсказывать пиковое потребление памяти, wall-clock время и ранжированные результаты профилирования.

  • Тестирование проводится на наборе задач SWE-bench Verified, чтобы приблизить проверку к реальным задачам разработки.

  • Помимо исхода теста и класса исключения, модели оцениваются по прогнозам характеристик выполнения программы.

  • Все протестированные модели, включая frontier-модели, показали умеренные результаты и нестабильное поведение.