Туториал Средний

Как проверять ИИ-код: чек-лист перед коммитом

Пошаговый порядок проверки сгенерированного кода: чтение, линтер и тесты, зависимости, безопасность и типичные слепые зоны генерации.

15 мин чтения Разработка

Сгенерированный код часто выглядит готовым: компилируется, проходит дымовый тест, красиво отформатирован. Именно поэтому он опасен — ошибки сидят не в синтаксисе, а в логике, граничных случаях и зависимостях. Вот порядок проверки, который занимает несколько минут и отсеивает большинство проблем.

Шаг 1. Прочитать и понять

Правило простое: непонятный код не попадает в проект. Прочитайте как ревьюер: что делает каждая функция, какие входы и выходы, где обработка ошибок. Если кусок не понимаете — попросите модель объяснить построчно или упростить. Вставка «как есть» превращает чужой черновик в вашу техническую задолженность.

Шаг 2. Автоматика: линтер и тесты

Прогоните линтер и статический анализ — они ловят устаревшие паттерны и потенциальные ошибки. Затем тесты: если их нет на этот кусок — попросите модель их написать, но проверьте, что тесты проверяют именно поведение, а не тавтологию (тест, написанный по ошибочному коду, закрепляет ошибку).

Шаг 3. Зависимости и API

Модель предсказывает правдоподобные имена, а не проверяет существование:

  • каждый импортированный пакет должен существовать в официальном реестре — выдуманное имя может оказаться вредоносным дублёром;
  • сигнатуры функций сверяйте с документацией вашей версии библиотеки: модель могла знать другую версию или предложить устаревший метод;
  • конфиги и миграции читайте особенно внимательно — там ошибки дороже всего.

Шаг 4. Безопасность

Быстрый список: секреты и ключи не захардкожены; пользовательский ввод валидируется; SQL-запросы собираются параметрами, а не конкатенацией; ошибки не отдают наружу внутренние детали; права проверяются на сервере, а не только в интерфейсе.

Шаг 5. Граничные случаи

Пустой ввод, ноль, отрицательные числа, очень длинная строка, одновременные запросы, недоступная сеть — генерация редко обрабатывает края сама. Попросите модель перечислить граничные случаи для этого кода и проверьте, что они покрыты.

Шаг 6. Маленькими порциями

Лучшая проверка — та, что почти не нужна: просите код небольшими кусками под конкретную задачу. Проверить 30 строк легко, 300 — уже работа, а 3000 — иллюзия проверки.

Что дальше

Место кода в общем процессе показывает «ИИ в цикле разработки ПО», а почему модели уверенно предлагают несуществующее — «Галлюцинации: почему ИИ ошибается и как проверять ответы».

Следующий материал →
ИИ и продуктовые решения: где помощь, а где вред
Читать
← Вернуться ко всем материалам