Задача: что решает этот промпт

К 2026 году 92% американских разработчиков используют AI-инструменты ежедневно. Вайб-кодинг стал нормой — но за ним пришла новая проблема: AI-генерированный код в 2,74× раза чаще содержит уязвимости безопасности по сравнению с кодом, написанным человеком (анализ 470 GitHub PR, декабрь 2025).

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

Этот промпт превращает любую LLM в старшего код-ревьюера, который за секунды находит баги, уязвимости и проблемы производительности — с приоритетами и готовыми фиксами.

Лучший момент для ревью — до пуша в репозиторий, а не после того, как баг ушёл в прод.


Для кого

  • Разработчики, активно использующие вайб-кодинг (Cursor, Claude Code, Copilot)
  • Джуны и мидлы, которым не хватает опытного ревьюера рядом
  • Соло-основатели, пишущие MVP без команды
  • QA-инженеры, ищущие баги до тест-сессии

Промпт

Ты — опытный senior-разработчик с 10+ годами практики в [ЯЗЫК/СТЕК].
Проведи детальный code review следующего кода.

<code>
[ВСТАВЬ КОД СЮДА]
</code>

Контекст:
- Проект: [например, REST API на FastAPI, фронтенд на React, CLI-скрипт]
- Окружение: [например, production, публичный сервис, внутренний инструмент]
- Особые требования: [например, обрабатывает финансовые данные, работает с user input]

Проверь по следующим категориям и для КАЖДОЙ найденной проблемы укажи:
- Строку (или диапазон строк)
- Приоритет: 🔴 Critical / 🟠 High / 🟡 Medium / 🟢 Low
- Описание: что именно не так и почему это проблема
- Исправление: конкретный код или чёткий шаг

### Категории проверки:

**1. Безопасность**
- Инъекции (SQL, command, SSTI, XSS, SSRF)
- Небезопасная десериализация
- Открытые секреты / API-ключи в коде
- Сломанная аутентификация или авторизация
- Раскрытие чувствительных данных в логах или ответах

**2. Логические баги**
- Off-by-one ошибки
- Неправильная обработка граничных случаев (null, пустые массивы, нулевое деление)
- Race conditions
- Неверная бизнес-логика

**3. Производительность**
- N+1 запросы к БД
- Лишние вычисления в циклах
- Утечки памяти
- Синхронные блокирующие вызовы там, где нужен async

**4. Качество кода**
- Нарушения принципов SOLID / DRY
- Жёстко заданные значения, которые должны быть конфигом
- Неинформативные имена переменных
- Отсутствующая или неправильная обработка ошибок

В конце дай **итоговую оценку**:
- Общий риск: 🔴 Высокий / 🟡 Средний / 🟢 Низкий
- Топ-3 проблемы, которые нужно исправить в первую очередь
- Что сделано хорошо (если есть)
💡 Совет по использованию
Заполни все три поля контекста перед отправкой. Чем точнее ты описываешь окружение («публичный API с user input» vs «внутренний скрипт»), тем более релевантными будут находки по безопасности.

Пример результата

Входной код (Python/FastAPI):

@app.get("/users/{user_id}")
def get_user(user_id: str):
    query = f"SELECT * FROM users WHERE id = '{user_id}'"
    result = db.execute(query)
    return result

Ответ AI:


🔴 Critical — Строка 3: SQL-инъекция

Переменная user_id подставляется напрямую в строку запроса. Атакующий может передать ' OR '1'='1 и получить доступ ко всей таблице users.

Исправление:

result = db.execute("SELECT * FROM users WHERE id = :user_id", {"user_id": user_id})

🟠 High — Строка 4: Раскрытие чувствительных данных

SELECT * возвращает все поля, включая хэши паролей, токены и другие чувствительные данные. Никогда не возвращай * клиенту.

Исправление:

result = db.execute("SELECT id, username, email, created_at FROM users WHERE id = :user_id", ...)

🟡 Medium — Строка 2: Нет валидации типа user_id

user_id принят как str, но если это UUID или int — лучше объявить тип явно, чтобы FastAPI валидировал автоматически.


Итоговая оценка: 🔴 Высокий риск. Топ-1: SQL-инъекция — немедленно патчить.


Как работает промпт: схема


graph TD
    A[Вставляешь код] --> B[Указываешь контекст]
    B --> C{AI-ревьюер}
    C --> D[🔴 Безопасность]
    C --> E[🟠 Логические баги]
    C --> F[🟡 Производительность]
    C --> G[🟢 Качество кода]
    D --> H[Приоритет + строка + фикс]
    E --> H
    F --> H
    G --> H
    H --> I[Итоговая оценка риска]


Вариации и настройки

ВариантЧто меняешьДля чего
Только безопасностьУбери категории 3 и 4PR перед деплоем в прод
Только багиОставь только категорию 2Быстрое санити-чек
Стиль конкретной командыДобавь «Следуй Google Style Guide для Python»Соблюдение code style
Ревью диффаВставь git diff вместо файлаРевью конкретных изменений
Для джуновДобавь «Объясняй каждую проблему простыми словами»Обучение
Краткий режимДобавь «Выдай только Critical и High, без Low»Экономия токенов
ℹ Какую модель выбрать
Claude 3.7 Sonnet / Claude 4 — лучший выбор для безопасности: понимает нюансы уязвимостей и пишет корректные фиксы. GPT-4o — хорош для рефакторинга и стиля. Gemini 2.0 Pro — удобен если код длинный (большое контекстное окно).

Советы по улучшению результата

1. Давай контекст, а не просто код

Плохо: вставить 500 строк без объяснений. Хорошо: «Это эндпоинт публичного API, который обрабатывает платёжные данные пользователей».

2. Используй RACE-фреймворк

Промпт построен по принципу RACE: Role (senior-разработчик) → Action (провести ревью) → Context (стек, окружение) → Expectation (формат с приоритетами и фиксами). Это даёт структурированный, а не расплывчатый ответ.

3. Разбивай большие файлы

Исследования показывают, что качество рассуждений LLM деградирует примерно после 3 000 токенов. Файл на 500+ строк лучше ревьюить по функциям или классам.

4. Итеративный ревью

После того как исправил Critical-проблемы — прогони промпт снова. AI может найти новые Medium-проблемы, которые раньше были скрыты за более серьёзными.

⚠ AI-ревью — не замена человеку
AI отлично ловит известные паттерны уязвимостей и типичные баги, но может пропустить сложную бизнес-логику или архитектурные проблемы. Используй его как первый фильтр, а не последний.

5. Сохрани как сниппет

В Cursor, Claude Code или VS Code сохрани этот промпт как slash-команду /review или пользовательский сниппет — и запускай в один клик на любом файле.


Быстрые промпты-вариации (копируй сразу)

Только уязвимости OWASP Top 10:

Проверь код на уязвимости из OWASP Top 10. Язык: [ЯЗЫК].
Для каждой: название уязвимости, строка, CWE-номер, фикс.
[КОД]

Ревью git diff перед PR:

Ты — ревьюер безопасности. Проверь этот diff на баги и уязвимости.
Комментируй только изменённые строки, не весь контекст.
[GIT DIFF]

Объяснение для джунов:

Проверь код и найди все проблемы. Объясни каждую простыми словами,
как будто объясняешь стажёру без опыта. Приведи аналогию из реальной жизни.
[КОД]