Искусственный интеллект в разработке программного обеспечения: анализ реальной эффективности

Последние месяцы активное исследование современных инструментов искусственного интеллекта (ИИ) показало, что их интеграция в цикл разработки программного обеспечения (PDLC) может как значительно ускорить процессы, так и создать ложное ощущение продуктивности. Основное внимание уделялось не просто генерации кода, а переосмыслению всего цикла, от постановки задачи до тестирования, ревью и обеспечения безопасности.

Планирование: ощутимый выигрыш в эффективности

Один из наиболее очевидных преимуществ ИИ проявляется на этапе планирования. Использование ИИ-агентов для формулирования целей, ограничений, пограничных случаев и требований к безопасности позволяет значительно сократить время на подготовку спецификаций, критериев приемки, декомпозиции задач, черновиков архитектуры и списков рисков. Ручное ревью такого плана занимает от 30 до 60 минут, в то время как ранее на это требовалось один-два вечера. ИИ-агенты демонстрируют высокую стабильность в выявлении противоречий и упущенных сценариев.

Генерация кода: скорость с оговорками

В процессе генерации кода применялись различные инструменты, включая Cursor с Claude, GPT-4o и GigaCode, а также локальные модели Qwen2.5-Coder и DeepSeek-Coder через Ollama, наряду с LangGraph и OpenHands для более автономных задач. На типовых задачах, таких как CRUD-операции, API-интеграции, миграции, тесты и рефакторинг, ускорение достигало 2,5–4 раз. Однако при работе с новой бизнес-логикой и архитектурными решениями прирост скорости был скромнее, в пределах 1,3–1,8 раза, а иногда ИИ даже замедлял процесс.

Главная иллюзия продуктивности заключается в ощущении, что ИИ-агент создает 70–80% готового кода. На самом деле, значительная часть времени после генерации уходит на ревью, исправления, интеграцию и проверку качества. Вместо написания символов разработчик занимается проверкой и корректировкой. Среди типичных проблем, выявленных в сгенерированном коде, отмечались:

  • Ссылки на несуществующие методы и API.
  • Код, плохо интегрирующийся в существующую архитектуру проекта.
  • Пропущенные проверки и потенциальные уязвимости.
  • Чрезмерно уверенные, но ошибочные объяснения.

Ревью и тестирование: роль ИИ и человеческого фактора

В условиях индивидуальной разработки, где отсутствует полноценное code review, использовались ИИ-ревьюеры с заданными правилами проекта, статический анализ, автотесты и property-based тестирование. ИИ неплохо справляется с написанием unit-тестов, но сложные сценарии и сквозное (e2e) тестирование по-прежнему требуют значительного участия человека. Критически важные области, такие как безопасность, архитектура и сложная бизнес-логика, всегда подвергаются ручной проверке.

Безопасность: ключевое узкое место

Вопросы безопасности стали одним из главных препятствий. Даже в личных проектах ИИ-агенты регулярно предлагали небезопасные решения, включая SQL-инъекции, XSS-уязвимости, жестко закодированные секреты и некорректную обработку данных. К этому добавились специфические риски, такие как prompt injection через входные данные, утечки информации через логи агентов и риски цепочки поставок, связанные с используемыми инструментами и зависимостями.

Для снижения этих рисков были предприняты шаги: добавлен чек-лист безопасности в навыки агентов, введен отдельный security-ревью и требования безопасности стали описываться уже на этапе спецификации. Для работы с чувствительным кодом используются локальные модели. Эти меры снизили количество очевидных ошибок, но не отменили необходимость ручной проверки. Скорость генерации кода легко превосходит скорость его контроля.

Что работает, а что остается иллюзией

Реальная польза ИИ наблюдается в следующих областях:

  • Подготовка спецификаций и планирование.
  • Генерация типового кода и unit-тестов.
  • Исследование вариантов реализации.
  • Анализ и документирование существующего кода.

Иллюзии, создаваемые ИИ, включают:

  • Многократный рост скорости разработки без учета времени на ревью.
  • Представление о почти безошибочной работе ИИ-агентов.
  • Вера в отсутствие необходимости уделять внимание безопасности в проектах.