Модели и усилие
/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, а выбор усилия и модели для кодирующих агентов остаётся активной областью; настройте заново после нескольких реальных волн, а не считайте эту таблицу окончательной.