Развитие искусственного интеллекта в последние годы продолжает интенсивно влиять на различные сферы деятельности, включая программирование и разработку программного обеспечения. В последние времена ИИ-инструменты для кодирования воспринимаются как революционный метод повышения производительности разработчиков. Однако новое исследование, проведённое командой из Model Evaluation and Threat Research (METR), приносит неожиданные результаты: использование ИИ-инструментов на практике в сложных open source проектах замедляет разработчиков на 19 процентов, а не ускоряет их работу, как часто предполагается. Это открытие заставляет пересмотреть популярное мнение о преимуществах искусственного интеллекта в реальных условиях программирования. Исследование, в котором приняли участие 16 опытных разработчиков с многолетним стажем работы над разнообразными репозиториями с открытым кодом, охватило 246 отдельных задач.
Эти задачи включали исправление ошибок, добавление новых функций и рефакторинг кода — обычные рабочие обязанности программистов в поддержке и развитии существующих проектов. В ходе эксперимента участники выполняли примерно половину заданий с использованием популярных ИИ-компаньонов, таких как Cursor Pro или Claude от Anthropic, а оставшуюся часть — без помощи ИИ. Так был создан независимый и сбалансированный подход к измерению реальной эффективности инструментов искусственного интеллекта. До начала испытаний разработчики ожидали значительного снижения времени, необходимого на выполнение задач — примерно на 24 процента. После завершения всех заданий исследователи опросили участников, и большинство из них продолжали считать, что использование ИИ ускорило их работу примерно на 20 процентов.
Однако объективные данные, полученные в ходе анализа времени выполнения и видеозаписей экранов, показали обратный эффект — задачи с поддержкой ИИ выполнялись в среднем на 19 процентов дольше. Одним из ключевых факторов, объясняющих подобную парадоксальную ситуацию, является временная затрата на взаимодействие с самим ИИ инструментом, ожидание его ответов и особенно на тщательную проверку и доработку предложенного кода. В исследованиях METR зафиксировано, что хотя ИИ-системы могут помочь сократить время, затрачиваемое на непосредственное написание, тестирование и анализ кода, эти улучшения более чем компенсируются временем, потраченным на контроль качества сгенерированных решений и промптинговую активность. Исследователи, детально анализировавшие видеозаписи с экранов участников, отметили наличие «простой» или «простой на ожидании» времени, когда разработчик ждал ответа ИИ или обдумывал результаты генерации. В совокупности это привело к общему увеличению времени на выполнение задач.
Кроме того, лишь менее 44 процентов кода, предложенного ИИ, принимались без изменений. Остальное требовало дополнительной доработки или полной переработки человеком, что дополнительно снижало экономию времени. Область применения ИИ в программировании часто исследуется на «искусственных» задачах, специально созданных для тестирования — например, разработке алгоритмов или решения проблем с чётко определёнными критериями оценки результата. В таких условиях зачастую фиксируется повышение продуктивности и скорости. Однако в реальных условиях работы с крупными и сложными репозиториями, содержащими миллионы строк кода и десятилетнюю историю развития, ситуация оказывается намного сложнее.
Разработчики, участвовавшие в исследовании METR, подчеркнули, что высокая сложность и уникальность их проектов, а также глубокое понимание всеми участниками внутренней структуры и контекста кода, серьёзно ограничивали возможности современных ИИ помогать эффективно. Машина не может полноценно воспроизводить «тихие знания» — нюансы, которые накапливаются в процессе многолетней работы с кодовой базой, такие как неформальная документация, стилистические соглашения, взаимодействие между компонентами, комплексные тесты и стандарты качества. Существенные ограничения обнаруживаются также в аспектах качества — современные ИИ зачастую не способны полностью выполнять требования к документации, покрытию тестами, форматированию и другим implicit-требованиям, которые предъявляются к профессиональной разработке. Эти факторы требуют времени на корректировку и адаптацию результатов работы ИИ, существенно снижая выгоду от его использования. Несмотря на выявленные проблемы, исследователи остаются оптимистичными относительно будущего применения искусственного интеллекта в программировании.
Они выделяют направления для улучшения технологий, включая повышение достоверности и релевантности генерируемого кода, снижение времени отклика систем, а также развитие более продвинутых методов «подсказок» и адаптации моделей. Уже сейчас существуют примеры, когда более новые версии ИИ, вроде Claude 3.7, успешно выполняют сложнейшие задачи, что свидетельствует о прогрессе в этой области. Стоит отметить, что влияние ИИ-инструментов на развитие программистских процессов — безусловно важный и неизбежный тренд. Но опыт исследования METR показывает, что применение этих технологий должно учитывать особенности конкретных проектов и контекста.
В проектах с высокой сложностью, требующих глубокого понимания кодовой базы и строгих стандартов, использование ИИ пока часто может привести к дополнительным затратам времени и ресурсов. Таким образом, для реальных разработчиков важно осознавать текущие ограничения инструментов искусственного интеллекта и подходить к их внедрению продуманно. Внедрение ИИ как дополнения в рабочие цепочки должно сопровождаться обучением, корректировкой процессов и поиском оптимальных способов взаимодействия с автоматизированными системами. В то же время, по мере развития технологий ситуацию можно ожидать к активному изменению в сторону повышения эффективности. Рассмотренная работа METR помогает сфокусировать внимание сообществ на необходимости более глубоких исследований влияния ИИ, особенно в сложных и масштабных условиях разработки.
Такой критический подход к новым технологиям важен для построения устойчивых, надежных процессов и максимального извлечения пользы от технологического прогресса. Развитие искусственного интеллекта в программировании продолжит оказывать как положительное, так и отрицательное влияние, и критически важно понимать контекст его применения, адаптировать инструменты под реальные задачи и не переоценивать их возможности. Современный этап развития ИИ подталкивает к новой волне инноваций и улучшений, но пока окончательные выгоды в сложных условиях open source разработки остаются ограниченными. Этот баланс между потенциалом и реальностью — основная тема обсуждения, которую стоит развивать дальше, опираясь на достоверные данные и практический опыт.