Почему AI‑инструменты не делают разработчиков «в 10 раз быстрее»

Многие разработчики ждут, что инструменты с AI резко ускорят создание программного обеспечения. На практике картина выходит сложнее. Как сообщает Towards AI, в контролируемом исследовании среди разработчиков open source участники были уверены, что с инструментами генерации кода работают примерно на 20% быстрее. Измерения показали противоположный результат: фактическая продуктивность оказалась примерно на 20% ниже.
Одна из причин связана со структурой самого процесса разработки. Жизненный цикл поставки ПО проходит через несколько этапов: определение требований, проектирование, разработка и тестирование, выпуск и дальнейшая эксплуатация. При этом заметная часть времени уходит не на написание кода. Разработчики ждут уточнений от продуктовой команды и QA, новых сборок для тестирования, действий операционных команд, готовности релиза. Если AI ускоряет только написание кода, общий выигрыш легко теряется на остальных стадиях.
В командах обычно встречаются две крайности в работе с AI. Первая, чрезмерная делегация. Модели поручают крупные и расплывчатые задачи, например создание целой e‑commerce‑платформы. В ответ появляется тысячи строк кода, которые потом приходится долго проверять и обсуждать, из-за чего процесс замедляется. Вторая крайность, наоборот, слишком осторожное использование. Опытный разработчик делает основное проектирование сам и привлекает AI лишь для точечных задач, например чтобы написать конкретную функцию или проверить код на SQL‑уязвимости.
Ключевые факты
В контролируемом исследовании разработчики open source считали, что работают на 20% быстрее с AI‑инструментами, но измерения показали снижение продуктивности примерно на 20%.
Жизненный цикл поставки ПО включает этапы: определение требований, проектирование, разработку и тестирование, выпуск и эксплуатацию.
При чрезмерной делегации задач модели могут генерировать тысячи строк кода, которые требуют длительной проверки командой.
При недостаточной делегации разработчики используют AI для узких задач, например написания функции или проверки кода на SQL‑уязвимости.