Перейти к содержимому

Модели и усилие

/emet автоматически выбирает модель и уровень рассуждения для каждой роли; вручную переключать ничего посреди запуска не нужно. Каждый ключ описан в справочнике по конфигурации.

Роль Модель Усилие Кем задаётся
Планирование (фазы 1–4) Opus, через opusplan как в вашей сессии вами, один раз
Координатор, с фазы 5 Sonnet, через opusplan как в вашей сессии вами, один раз
Воркеры (фаза 7) Sonnet medium agents/emet-worker.md или models.worker
Ревью, уровень passive (diff только с документами) нет — emet assess
Ревью, уровень medium (обычное изменение кода) Opus medium models.reviewer.medium
Ревью, уровень high (рискованные пути или sink) Opus по умолчанию medium models.reviewer.high
Триаж логов CI (фаза 8) Haiku — models.triage

Два определения агентов (install.sh устанавливает их в ~/.claude/agents/) сами фиксируют model/effort во frontmatter, поэтому выбор модели и усилия координатором никогда не попадает в воркера или ревьюера. emet doctor сообщает (но никогда не блокирует), если один из этих файлов пропал. emet preflight блокирует диспетчеризацию, если отсутствует emet-worker или emet-reviewer, потому что фазы 6 и 8 диспетчеризуют по subagent_type.

Маршрутизация по уровню риска

Фаза 8 запускает emet assess --base <trunk> --head <integration branch>, который детерминированно классифицирует diff и выводит JSON с уровнем, причинами и рекомендуемой моделью и усилием ревьюера:

  • passive: diff только с документами; ревьюер не запускается.
  • medium: ревьюер работает на models.reviewer.medium.
  • high: diff затрагивает аутентификацию, безопасность, платежи, вебхуки, CI, установщик, lock-файлы, миграции, опасный sink (сырой SQL, pipe-to-shell и подобное) или путь, подходящий под review.highRiskPaths. Ревьюер работает на models.reviewer.high, а автослияние приземляет PR только при зелёных проверках и без открытых замечаний ревью.

Тикет, затрагивающий пути с высоким риском, может содержать строку Model: (например, Model: opus или Model: opus/high), которая переопределяет models.worker только для этого воркера.

Триаж на Haiku

Координатор никогда не читает лог CI целиком. Упавшая проверка передаётся агенту на models.triage (по умолчанию haiku), который возвращает не более примерно 2k токенов с указателями file:line для исправления.

Конфигурация

Каждый ключ необязателен, а значения по умолчанию воспроизводят таблицу выше:

{
"models": {
"worker": { "model": "sonnet", "effort": "medium" },
"reviewer": {
"medium": { "model": "opus", "effort": "medium" },
"high": { "model": "opus", "effort": "medium" }
},
"triage": "haiku"
},
"review": { "highRiskPaths": [] }
}

review.highRiskPaths — это список дополнительных подстрок путей без учёта регистра, которые принудительно задают уровень high. Чтобы усилить проверку рискованных волн, повысьте models.reviewer.high.effort (например, до high).

Почему один ревьюер

Почему один ревьюер со свежим контекстом, а не веер из нескольких ракурсов: ни один публичный бенчмарк не сравнивает их напрямую, но веер перечитывает весь diff по разу на каждый ракурс и в этом репозитории зависал более чем на час, а отчёты Anthropic и сторонних авторов о моделях класса Opus говорят, что обновление модели даёт не меньше, чем дополнительные ракурсы. Для волны с высокими ставками после неё вручную запустите /code-review ultra; /emet никогда не запускает его сам.

Что вы задаёте один раз сами

/emet не может переключить это посреди запуска:

  • model: "opusplan" в ~/.claude/settings.json: именно это заставляет фазы 1–4 работать на Opus, а начиная с фазы 5 — на Sonnet, без /model. emet doctor предупреждает (но никогда не правит ваши настройки), если значение не задано.
  • Усилие сессии medium или high, а не xhigh: воркеры и ревьюер уже несут собственное усилие независимо от вашего, а высокое глобальное значение по умолчанию в основном увеличивает расходы на собственные ходы координатора (учёт диспетчеризации, слияния, отчёты), которым оно не нужно.
  • permissions.defaultMode, позволяющий работать без присмотра (auto, acceptEdits или bypassPermissions), а также правила permissions.deny, блокирующие git push * main|master и git push --force *. emet doctor предупреждает об обоих, поскольку волна, которая застревает на запросе разрешения или может силой пройти мимо основной ветки, лишает смысла запуск без присмотра.

Это отправные точки, а не окончательные цифры. Opus 5.5 вышел 2026-09-22, а выбор усилия и модели для кодирующих агентов остаётся активной областью; настройте заново после нескольких реальных волн, а не считайте эту таблицу окончательной.