ИИ в разработке ПО: где он заменяет программистов, а где — нет

Источник: ИИ-фантазёры vs ИИ-отрицатели: где ИИ заменяет разрабов? от ElKornacio (Данила Симонов, программист с 15-летним стажем, технический директор)

Введение

Вокруг использования ИИ в разработке ПО сложилось два лагеря:

  • ИИ-фантазёры утверждают, что скоро 90-100% кода будет писать ИИ, а программисты станут не нужны.
  • ИИ-отрицатели считают, что ИИ генерирует «говнокод» и не способен на сложные задачи.

Автор видео последние 3 года активно использует ИИ (GitHub Copilot, Cursor и др.), создал два крупных проекта, где по его словам 95% кода написано ИИ.
Автор рассказывает, где ИИ действительно эффективен, а где — бесполезен.

Где ИИ справляется идеально

1. Документация

ИИ отлично генерирует:

  • API-документацию (Swagger, YAML, Markdown).
  • Описания модулей, автотестов, технические спецификации.

Раньше для этого нанимали технических писателей — теперь это можно автоматизировать.

2. Автотесты

ИИ пишет:

  • Unit-тесты, интеграционные, end-to-end тесты (кроме визуального тестирования).
  • Лайфхак: Настройте правило: «Задача считается выполненной, только если тесты проходят». ИИ сам исправляет ошибки, экономя ваше время.

3. Рутинные задачи

  • CRUD-операции, шаблонный код, простые микросервисы.
  • Если задача скучная и предсказуемая — ИИ справится за один проход.

4. DevOps

  • Bash-скрипты, Docker-файлы (учитывает кэширование!), Helm-чарты, Terraform, Ansible.
  • Для популярных языков (Node.js, Go, Java) создаёт оптимизированные конфиги.

5. Корпоративные инструменты

  • Небольшие утилиты для CRM, обработки данных, сортировки документов.
  • В идеале даже менеджер может написать такой код без навыков программирования.

Где ИИ бесполезен (или опасен)

1. Нестандартные реализации популярных паттернов

Пример: WebSocket с нумерацией пакетов. ИИ знает базовый паттерн, но кастомные изменения игнорирует — придётся писать вручную.

2. Новые версии библиотек

Если в библиотеке были breaking changes (например, Tailwind CSS v4), ИИ упорно будет предлагать старый синтаксис, несмотря на ваши промпты.

3. Сложные монолитные системы

  • Высокая связность модулей, большой контекст — ИИ «теряет» файлы и выдаёт нерелевантный код.
  • Пример: ядро агентской системы с 20 взаимозависимыми файлами.

4. Высокооптимизированный код

Если вам нужен код с точностью до символа (например, для highload-систем), ИИ не справится. У него нет вашей экспертизы.

5. Общее правило: «Лошадь сдохла — слезь»

Если после 5-6 промптов ИИ не выдаёт рабочий код — остановитесь. Не тратьте время, пишите вручную.

Какие инструменты использовать?

  • Cursor — лидер с автономными агентами, интеграцией с терминалом и поиском по коду.
  • Roo Code — умеет проектировать архитектуру, гибко настраивается.
  • GitHub Copilot — слабее в автономности, но хорош для автодополнения.

Вывод

ИИ — мощный инструмент, но не замена разработчику. Он идеален для рутины, документации и тестов, но беспомощен в сложных архитектурных решениях.

Главное:

  1. Используйте ИИ там, где он силён.
  2. Настройте пайплайн работы (доки → тесты → автоисправления).
  3. Не пытайтесь «дожать» ИИ там, где он явно не справляется.

Если внедрить ИИ грамотно, он сэкономит сотни часов, но требует контроля и понимания ограничений.