Как убедиться, что код, написанный моим ИИ-ассистентом, действительно корректен?
Возможность
LLM-модели генерируют код, который проходит юнит-тесты, но не удовлетворяет никаким формальным свойствам. Модель способна сконструировать тесты, проходящие по построению, а не потому, что логика верна. Инструменты формальной верификации существуют, но требуют написания спецификаций в синтаксисе доказывателей теорем, чем практически никто из практикующих разработчиков не занимается. Последние бенчмарки показывают, что передовые модели достигают лишь 3,2 процента успеха в сквозной верифицируемой генерации кода, то есть разрыв между правдоподобно выглядящим кодом и доказуемо корректным остаётся практически полностью незаполненным. Команды, выпускающие написанный ИИ код в продакшен, делают ставку на покрытие тестами, которые сами модели способны обойти.
Почему это важно
Автоматизированные гарантии корректности кода, сгенерированного ИИ, превращают кодовые ассистенты из инструментов для ускорения работы в инструменты для обеспечения надёжности.
Как я оцениваю возможность
Оценка возможности отражает моё личное суждение, а не точное измерение: насколько проблема болезненна, как часто она встречается и насколько мало существует решений сегодня. Чем выше оценка, тем более достойной реализации я считаю эту задачу.
Насколько серьёзные проблемы это создаёт.
Как часто люди с этим сталкиваются.
Насколько мало хороших инструментов для этого существует сегодня.
Ещё задачи, достойные решения
Почему каждое приложение ИИ забывает меня, как только я закрываю вкладку?
AIПочему освоение новой области по-прежнему упирается в умение задавать правильные вопросы?
AIПочему неспециалист не может проверить то, что только что сказал ему ИИ?
AIПочему мы тестируем модели на бенчмарках, а выпускаем их на интуиции?
AIПочему у ИИ-агентов нет памяти о собственных ошибках?
AIПочему я не могу проверить, на каких данных на самом деле обучалась модель?