LLM и разработка: компании ускоряют баг-фиксы или их появление?

Многие компании уверены, что создают «фабрики ПО», но часто просто быстрее выпускают баги. LLM меняют подход к написанию кода.

Диаграмма, показывающая цикл разработки программного обеспечения и влияние LLM на качество кода

Искусственный интеллект меняет подход к разработке программного обеспечения. Появление больших языковых моделей (LLM) упростило написание кода, увеличив производительность инженеров. Это привело к формированию концепции «фабрики ПО», которая переосмысливает традиционные циклы разработки и CI/CD-практики.

Концепция «фабрики ПО» закрепилась за последний год. Она представляет собой не просто набор инструментов, а систему принципов, определяющих движение работы, генерацию, проверку, тестирование и развертывание кода. Этот подход возник из-за постоянного спроса компаний на большее количество ПО и способности ИИ снизить порог входа в кодирование. Однако, несмотря на рост индивидуальной производительности, возникают новые проблемы: увеличивается количество ошибок и инцидентов, а кодовые базы быстро разрастаются.

Статистика подтверждает эти опасения. Исследование Faros AI показало, что пропускная способность задач на разработчика выросла на 33.7%, а скорость слияния запросов на изменение (PR) — на 16.2%. При этом соотношение инцидентов к PR увеличилось на 242.7%, а количество ошибок на разработчика — на 54%. Исследование DORA от Google также выявило, что активное внедрение ИИ связано с ухудшением стабильности поставки продукта. Кодовые базы, созданные с помощью ИИ, могут быстро терять единообразие, что приводит к накоплению технического долга.

Чтобы «фабрика ПО» работала эффективно, необходимо придерживаться нескольких ключевых принципов:

  • Платформа вместо инструментов: Настоящая фабрика ПО требует единой платформы, где инструменты обмениваются данными и работают как одна система.
  • Повторяемость и отслеживаемость: Система должна позволять отследить каждый шаг процесса и повторно запустить его для выявления и исправления ошибок.
  • Безопасность и защитные механизмы: Важно внедрять тестирование и контроль качества на ранних этапах, чтобы снизить стоимость исправления дефектов.
  • Стандартизация: Единообразие стилей кодирования должно быть заложено в процесс с самого начала, а не добавляться сверху.
  • Контроль качества: Качество должно быть встроено в каждый этап процесса, от спецификации до статического анализа кода, чтобы предотвращать дефекты, а не просто их обнаруживать в конце.

Увеличение скорости генерации кода не означает рост продуктивности, если не управлять последующими проблемами. Настоящая продуктивность — это превращение временных токенов в долговечные результаты. Побеждает та «фабрика ПО», которая производит меньше дефектов, а не больше кода.