Какие модели сравнить
Не называйте модель лучшей без своей выборки. Соберите закрытые PR с известными дефектами, уберите секреты и прогоните через каждый маршрут один и тот же prompt. Считайте принятые находки, отклонённые, сбои парсера, время и расход.
| Сценарий | Кандидаты из текущего каталога | Критерий выбора |
|---|---|---|
| Обычный diff | claude-sonnet-5, gpt-6-sol | Доля полезных замечаний и время ответа |
| Авторизация и миграции | claude-opus-5-5, gpt-6.1-sol, gpt-6-astra | Находит ли бот риск с шагом воспроизведения |
| Узкий diff со строгим рубрикатором | claude-fable-5-1, gpt-6-luna | Разбираемый вывод и осмысленный пустой результат |
| Быстрый предварительный фильтр | deepseek-v4-flash, gemini-3.7-flash | Стабильный формат и низкая доля шума |
| Второе мнение | claude-opus-5, gpt-5.6-sol или другая модель из разрешённого списка | Совпадение по подтверждённым находкам |
ID проверены в live catalog codexkey 4 октября 2026 года. Таблица задаёт план эксперимента. Независимого рейтинга в ней нет, и одинаковой точности на чужом коде она не обещает.
Архитектура review pipeline
| Шаг | Вход | Результат | Защита |
|---|---|---|---|
| Триггер | Pull request и SHA | Одно событие на commit | Идемпотентный ключ |
| Сбор контекста | Diff, контракты, тесты, правила | Ограниченный пакет | Исключение секретов и дампов |
| AI-проход | Prompt и ID модели | Кандидаты на находки | Запрет общих советов |
| Проверка | Линтер, typecheck, тесты | Подтверждённые риски | Не публиковать без доказательства |
| Публикация | Черновик или комментарий | Обратная связь по строке | Решение человека |
Безопасный процесс для CI
- Workflow получает SHA и строит diff относительно базовой ветки.
- Фильтр вычищает
.env, ключи, production-дампы и крупные бинарные файлы. - Сборщик докладывает изменённые интерфейсы, тесты и локальные правила проекта.
- Модель обязана вернуть JSON с файлом, строкой, последствием и шагом проверки.
- CI запускает затронутые тесты, линтер и typecheck.
- Публикатор оставляет draft, если команда не подтвердила находку.
- Владелец PR решает, нужен ли фикс. Бот не мержит ветку и без отдельной команды не меняет код.
В prompt запретите фразы «можно улучшить» и «стоит рассмотреть». Каждая находка отвечает на три вопроса: какой сценарий ломается, почему это следует из diff и как повторить проблему. Путь должен входить в изменённые файлы, а строка в diff. Если доказательств нет, пусть модель вернёт пустой список.
Комментарии и строки внутри diff остаются данными, но могут нести текст, который пытается переписать политику ревью. Политику держите в системном сообщении, diff ограничивайте разделителями. Ключ API лежит в secret CI и подставляется только в job ревью. Для повторных запусков берите request ID, commit SHA и ограничение параллельности.
Блокируйте PR при подтверждённой ошибке корректности, безопасности, потери данных или сборки. Зелёный статус модели лишь сообщает, что job отработал: нужны ещё обязательные тесты и защита ветки. Разбор облачного запуска: «Облачная автоматизация AI review». Общий pipeline с Claude и GPT: отдельное руководство. Чек-лист мейнтейнера: ревью AI-кода. Маршрутизация провайдеров и поведение при сбоях: Telegram-бот поддержки.
После регистрации в codexkey создайте отдельный ключ для CI, выставьте лимит и сначала прогоните бота на закрытых PR. Для каждого репозитория ведите свою статистику: полезные находки, подтверждённые дефекты, ложные срабатывания, время до комментария и стоимость запуска.
FAQ
Может ли review bot нажать merge?
Не выдавайте ему это право. Бот может собрать доказательства и поставить статус проверки, но merge должен зависеть от CI и ответственного человека.
Какой контекст передавать модели?
Diff, базовый контракт, затронутые тесты и правила репозитория. Полный монорепозиторий редко нужен и увеличивает шум.
Что делать при спорном комментарии?
Оставить его черновиком, приложить вывод теста и попросить автора подтвердить сценарий. Если воспроизведения нет, находку не следует публиковать как дефект.