Карта / AI-ассистенты / Copilot / ассистенты

Copilot / ассистенты

AI-ассистенты (GitHub Copilot, Cursor, JetBrains AI) ускоряют рутину, но не заменяют понимание. Хороший разработчик с AI работает быстрее. Разработчик без понимания основ с AI делает ошибки быстрее.

Где AI реально помогает:

  • Boilerplate код: геттеры, конструкторы, CRUD-методы, тесты на очевидные кейсы
  • Первый вариант реализации: «напиши pagination по cursor», потом адаптируете
  • Объяснение чужого кода: «что делает этот SQL-запрос?»
  • Написание тестов: быстро сгенерировать базовые test cases

Где нужна осторожность:

  • Сложная бизнес-логика — AI не знает ваших требований, генерирует правдоподобный, но неверный код
  • Безопасность — AI может сгенерировать уязвимый код (SQL через конкатенацию, открытые endpoints)
  • Новые библиотеки — может использовать устаревшее API или методы, которых не существует («галлюцинации»)

Практика: всегда проверяйте сгенерированный код, как проверяете код коллеги на code review. AI — быстрый коллега, который иногда ошибается.

Копнуть глубже

Промпт-инжиниринг для кода. Качество результата напрямую зависит от качества промпта. Хороший промпт: контекст (что это за класс, какая архитектура), конкретное требование, ограничения («без Spring Boot стартеров», «используй Java 21»). «Напиши сервис» — плохо. «Напиши Spring Boot @Service для управления заказами: создание, отмена, получение по ID; используй Result-паттерн вместо исключений для бизнес-ошибок» — хорошо.

AI не знает вашего кода (без context window). Copilot видит открытые файлы, Cursor видит больше контекста репозитория. Но AI не знает: бизнес-логику, архитектурные решения, договорённости команды. Поэтому сгенерированный код часто нарушает ваши конвенции и требует адаптации.

Обучение vs использование AI. Критически важно: при изучении новой темы старайтесь сначала сделать самостоятельно, потом смотреть на AI-решение. Если сразу просить AI — вы просто читаете чужой код, не строите понимание. AI как помощник работает только если у вас есть база для оценки его ответов.

🎤 Закрыл тему, если можешь объяснить:
• где AI-ассистенты реально помогают и где нужна осторожность;
• почему при изучении новых тем AI лучше использовать после, а не вместо самостоятельной работы (если дошёл до 2-го слоя).