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 лучше использовать после, а не вместо самостоятельной работы (если дошёл до 2-го слоя).