MIT выявил препятствия на пути к полностью автономному программированию
Представьте себе будущее, где рутинные задачи программирования — рефакторинг запутанного кода, миграция устаревших систем, поиск неисправностей — автоматически выполняет искусственный интеллект, а люди занимаются только архитектурой и творчеством. Звучит заманчиво, не правда ли?
Группа исследователей из MIT CSAIL и партнёрских университетов опубликовала исследование «Challenges and Paths Towards AI for Software Engineering», в котором они подробно картируют все этапы современного софтверного инжиниринга, выходящие за рамки простого генератора кода, и указывают на ключевые узкие места, мешающие полной автоматизации.
Например, существующие бенчмарки, такие как SWE‑Bench, проверяют системы лишь на «академичных» задачах — патчить небольшие репозитории на GitHub. Но промышленная разработка охватывает миллионы строк, сложные миграции, глубокий анализ производительности и бесконечные циклы тестирования. Пока модели оценивают себя по «шпаргалкам», реальные сценарии остаются за бортом.
Ещё один камень преткновения — взаимодействие человека и машины. Сегодня ИИ выдаёт большой неструктурированный файл и пару тестов, но без понятного «барометра уверенности» — нет знаков «эту часть я знаю точно», «а эту стоит перепроверить». В результате разработчики либо слепо доверяют коду, либо тратят время на постоянные уточнения.
Масштаб тоже играет роль: модели учатся на открытых репозиториях, но корпоративные кодовые базы уникальны — свои конвенции, вспомогательные функции и архитектурные решения. ИИ может «галлюцинировать», придумывая несуществующие методы или нарушая внутренние правила, что приводит к сбоям в пайплайнах CI/CD.
Авторы призывают к «масштабным совместным усилиям»: собрать данные об инженерном процессе (что программисты оставляют, а что выбрасывают), расширить бенчмарки для реального кода, и создать инструменты, способные сообщать об уровне своей уверенности. Только так ИИ станет не просто подсказчиком, а надёжным партнёром инженера.
