Ревью кода с Codex: как находить реальные дефекты

Codex может провести отдельное review незакоммиченных изменений, коммита или diff относительно базовой ветки. Цель ревью — найти ошибки, которые автор захочет исправить:…

Краткий ответ

Codex может провести отдельное review незакоммиченных изменений, коммита или diff относительно базовой ветки. Цель ревью — найти ошибки, которые автор захочет исправить: нарушение поведения, потерю данных, уязвимость, гонку или отсутствующую проверку.

Codex может провести отдельное review незакоммиченных изменений, коммита или diff относительно базовой ветки. Цель ревью — найти ошибки, которые автор захочет исправить: нарушение поведения, потерю данных, уязвимость, гонку или отсутствующую проверку. Пересказ diff не является finding.

Сначала зафиксируйте scope

Укажите точный набор изменений:

Команда /review в поддерживаемых поверхностях предлагает готовые области и запускает dedicated reviewer без изменения working tree. При этом review pane показывает состояние Git, включая пользовательские правки, а не только строки, созданные Codex.

Формат полезного замечания

Каждый finding должен содержать:

1. серьёзность; 2. файл и минимальный диапазон; 3. сценарий, при котором возникает проблема; 4. наблюдаемое последствие; 5. почему существующая защита не срабатывает; 6. направление исправления без ненужного переписывания.

Пример:

HIGH — profile.service.ts, обновление email.
Два параллельных запроса проходят проверку уникальности до записи.
Один из них завершится ошибкой базы и превратится в 500 вместо ожидаемого 409.
Обработайте duplicate-key на границе записи и добавьте конкурентный
integration test; предварительную проверку можно оставить для UX.

Комментарий воспроизводим и не утверждает, что «код выглядит подозрительно».

Проверяйте изменение в контексте

Diff показывает новую строку, но ошибка часто зависит от вызывающего кода, схемы или старых данных. Reviewer должен прочитать непосредственно поддерживающий контекст, не превращая review конкретной ветки в аудит всего репозитория.

Особенно важны:

Разделяйте review и исправление

Первый проход полезно выполнять read-only: так findings не смешиваются с собственной реализацией reviewer. После того как владелец принимает замечание, Codex может исправить его в обычных sandbox/approval границах.

Цикл:

1. получить findings; 2. проверить сценарий и серьёзность; 3. выбрать замечания для исправления; 4. внести минимальный patch; 5. добавить регрессионный тест; 6. повторно проверить изменённый diff.

Не нужно автоматически «исправлять» вкусовые замечания, если они не нарушают соглашения проекта.

Review checklist по риску

Для backend:

Для frontend:

Checklist направляет внимание, но finding появляется только при доказуемом сценарии.

Практика: два прохода

Проведите review одного diff дважды:

1. correctness — логика, данные, конкуренция и тесты; 2. security — ввод, auth, secrets, filesystem и network.

Для каждого замечания потребуйте сценарий отказа. Затем удалите пересказы, общие пожелания и пункты без связи с изменённым кодом. Оставшиеся findings отсортируйте по ущербу.

Частые вопросы

Может ли /review изменить мои файлы?

Официальный режим review сообщает findings и не меняет working tree. Если после этого попросить применить исправления, начнётся обычная задача с текущими разрешениями.

Нужно ли исправлять все замечания Codex?

Нет. Проверяйте доказательство, область и приоритет. Ложноположительное замечание следует отклонить с причиной; полезное — превратить в тест и минимальное исправление.

Почему reviewer должен видеть базовую ветку?

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

Что важно запомнить

https://yadro-code.ru/lessons/without-university/codex-agent-workflows/codex-agent-14