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

Зачем несколько моделей

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

I. Та же сессия, та же модель.
Агент перечитывает свой код. Он уже решил, что код правильный, и повторное чтение это решение не меняет.
II. Новая сессия, та же модель.
Контекст чистый, модель прежняя. У неё то же обучение и те же привычки, поэтому она пропускает ошибки, которые написала бы сама.
III. Другая модель, отдельная сессия.
Другая модель действительно находит настоящие ошибки. Но теперь у вас два мнения, и когда они расходятся, решать, кто прав, приходится вам.
IV. Rejudge: три модели и судья.
Все три модели получают один и тот же вопрос одновременно. Каждая работает в изолированном контексте и сама вызывает инструменты, поэтому ни одна не видит, что делают другие. Судья читает все три отчёта, задаёт уточняющие вопросы там, где они расходятся, и пишет один ответ. Если одну и ту же проблему нашли все три, на ней сошлись три независимые проверки. Если они разошлись, разбирается судья, а не вы.

Как это работает

Ваш агентзадаёт вопросМодель Xпишет свои выводыМодель Yпишет свои выводыМодель Zпишет свои выводыСудьясравнивает выводыОтветс учётом всех выводов+ ID запускадля продолженияВаш агентзадаёт вопросМодель Xпишет свои выводыМодель Yпишет свои выводыМодель Zпишет свои выводыСудьясравнивает выводыОтветс учётом всех выводов+ ID запускадля продолжения
  1. Каждая модель получает один и тот же запрос и разбирает его независимо от остальных.
  2. Судья проверяет ответы и, если нужно, задаёт дополнительные вопросы или отправляет на доработку.
  3. Судья отдаёт готовый ответ, собранный из того, что нашли модели.

Установка

01 Установите Rejudge и скиллы

npm install -g rejudge; npx skills add syabro/rejudge -g

02 Пользуетесь Pi? Добавьте расширение

pi install "$(npm root -g)/rejudge"

В Pi ход прогона видно вживую, и понятно, какая модель на каком шаге. У агента больше контроля над инструментом, чем над командной строкой.

03 Подключите провайдер

Уже пользуетесь Pi? Отдельно подключать ничего не нужно — Rejudge берёт настройки из Pi.

Rejudge работает поверх Pi и читает его настройки провайдеров, поэтому подойдёт любой ключ, который понимает Pi: ANTHROPIC_API_KEYOPENAI_API_KEYGEMINI_API_KEYOPENROUTER_API_KEYOPENCODE_API_KEY и другие — полный список в документации Pi.

Я сам пользуюсь OpenCode Go (реферальная ссылка: $5 вам, $5 мне), потому что за $10 в месяц он даёт охрененный набор разных моделей.

Используете подписку вместо API-ключей?

Для входа по подписке Rejudge пока использует Pi. Если Pi ещё не авторизован, запустите:

npx -y @earendil-works/pi-coding-agent

В Pi выполните /login и завершите вход у нужного провайдера подписки.

04 Выберите модели

Один раз создайте ~/.config/rejudge/config.json.

{
  "reviewers": [
    "opencode-go/deepseek-v4-pro@high",
    "opencode-go/mimo-v2.5-pro@high",
    "opencode-go/minimax-m3@high"
  ],
  "judge": "opencode-go/glm-5.1@high"
}

Минимум две проверяющие модели. Каждой нужен уровень рассуждений — чем он выше, тем дольше и тщательнее разбор: minimal, low, medium, high, xhigh.

05 Задайте вопрос

пусть rejudge разберёт src/payments и перечислит потенциальные дыры в безопасности
/rejudge сверь docs/adr/012-event-bus.md с кодом и перечисли расхождения
/rejudge-diff
rejudge "go through migrations/0042_add_index.sql and list the risks"
git diff | rejudge "review this change"
rejudge --resume <run-id> "what about the rollback path?"