Карта / AI-ассистенты / Ревью AI-кода

Ревью AI-кода

AI-код требует такого же code review, как код джуна. Скорость генерации обманывает: кажется, раз быстро — значит проверено. Нет. AI уверенно пишет неправильный код.

Чеклист при ревью AI-сгенерированного кода:

  • Логика верна? Проверьте граничные случаи, null, пустые коллекции — AI часто их игнорирует.
  • Безопасность: нет ли конкатенации строк в SQL, нет ли лишних открытых данных в ответе API.
  • Производительность: нет ли N+1 запросов (AI легко генерирует цикл с запросом внутри), правильные ли индексы используются.
  • Соответствие архитектуре: AI не знает ваших соглашений. Проверьте: правильный ли слой, правильные ли аннотации, не нарушает ли конвенции.
  • Тесты: AI-тесты часто тестируют реализацию, а не поведение, или мокают слишком много.

Галлюцинации — AI уверенно называет методы и классы, которых не существует:

// AI написал — но такого метода нет в Spring Data:
repo.findByEmailAndStatusAndCreatedAfterOrderByRatingDescWithPagination(...)

Всегда проверяйте, что вызванные методы и классы реально существуют в той версии библиотеки, которую используете.

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

Почему AI «галлюцинирует». Языковые модели предсказывают вероятный следующий токен на основе обучающих данных. Когда реальный API не представлен в обучении или задача нестандартная — модель генерирует «правдоподобное» имя метода по паттернам, не зная существует ли оно. Это не баг — это фундаментальное ограничение текущих LLM.

AI для code review в другую сторону. AI можно использовать и для review вашего кода: «посмотри на этот метод, найди потенциальные проблемы». Хорошо находит: неочевидные NPE, потенциальные race conditions, несоответствия между названием и логикой. Не заменяет human review, но как первый проход — полезно.

Тренд: AI + тесты как safety net. Хорошая практика при использовании AI: сначала написать тесты (TDD — см. тему «TDD»), потом просить AI сгенерировать реализацию под эти тесты. Тесты задают контракт — AI обязан ему соответствовать, тесты отловят галлюцинации.

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