METABYTE
К списку статей

ProgramBench: А сможет ли языковая модель собрать программу с нуля?

Новый бенчмарк ProgramBench проверяет, способны ли LLM восстановить исходный код программы по её поведению.

7 мая 20262 мин чтения
ProgramBench: А сможет ли языковая модель собрать программу с нуля?

Представьте: вы даёте нейросети бинарник или описание работы программы, а она возвращает её исходный код. Звучит как научная фантастика? Исследователи из нескольких университетов представили бенчмарк ProgramBench, который как раз и оценивает такую способность у языковых моделей.

Что такое ProgramBench? Это набор задач, в которых модель должна "пересобрать" программу, имея лишь:

  • описание функциональности (на естественном языке);
  • примеры входов и выходов;
  • или даже бинарный код.

Бенчмарк включает 150 задач разной сложности — от простых скриптов до небольших приложений. Оценка идёт по трём метрикам: точность восстановления, синтаксическая корректность и время выполнения.

Результаты: пока не идеально Лучшие модели (GPT-4, Claude 3) справляются с простыми задачами в 60-70% случаев, но на сложных примерах падают до 20%. Интересно, что модели часто генерируют синтаксически верный, но семантически неверный код — то есть программа компилируется, но делает не то, что нужно.

Почему это важно для разработчиков? Если такие модели доработать, они могли бы помогать восстанавливать утерянный код, реверс-инжинирить легаси или даже автоматически создавать документацию по поведению программы. Пока что это скорее исследовательский полигон, но потенциал огромен.

Комментарий студии METABYTE: ProgramBench напоминает нам, что даже самые умные нейросети пока не заменят человека в понимании бизнес-логики. Но как инструмент для рефакторинга или анализа унаследованного кода — почему бы и нет?

СЛЕДУЮЩИЙ ШАГ

Понравилось как мыслим?

Применяем те же принципы в клиентских проектах: AI, автоматизации, продукты, которые не умирают после релиза.