From 65351ab6e746d47c35c7fa49bbbaa13573a7fac5 Mon Sep 17 00:00:00 2001 From: Anton Vakhrushev Date: Sat, 1 Aug 2026 15:06:58 +0300 Subject: [PATCH] =?UTF-8?q?fable=20=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=B4=D0=B2=D1=83=D0=BC=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D1=85=D0=BE=D0=B4=D0=B0=D0=BC=20=D1=80=D0=B5=D0=B2=D1=8C=D1=8E?= =?UTF-8?q?,=20=D0=BE=D1=81=D1=82=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B=D0=B5=20?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D0=BD=D1=83=D0=BB=D0=B8=D1=81=D1=8C=20=D0=BD?= =?UTF-8?q?=D0=B0=20opus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - калибровка по первому прогону: самые ценные находки дали opus-проходы — idiom с тремя выполненными экспериментами и specs с 13 находками; разницы в пользу дорогой модели на опиниативных проходах не обнаружилось - fable у triage и architecture — их ошибка распространяется дальше собственной находки: триаж решает, что реализуется молча, архитектура работает до кода - reimpl намеренно на opus: его счёт определяется объёмом вывода, а ценность — независимостью взгляда, а не мощностью модели --- .claude/agents/healthlog-review-reimpl.md | 2 +- .claude/agents/healthlog-review-rubric.md | 2 +- .../skills/healthlog-review-pipeline/SKILL.md | 27 +++++++++++++++++-- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/.claude/agents/healthlog-review-reimpl.md b/.claude/agents/healthlog-review-reimpl.md index f5270ba..bbf6e66 100644 --- a/.claude/agents/healthlog-review-reimpl.md +++ b/.claude/agents/healthlog-review-reimpl.md @@ -2,7 +2,7 @@ name: healthlog-review-reimpl description: "Самый дорогой и самый ценный generative-проход ревью healthlog — получает спеку и контракты, пишет собственную реализацию в tmp/, НЕ ОТКРЫВАЯ существующую, и только потом диффит по решениям (декомпозиция, где обрабатываются ошибки, что вынесено в интерфейс, владение данными точки, протяжка context, модель конкурентности). Единственный проход, который системно достаёт «не знаю, чего не знаю». Существующий код не меняет." tools: Read, Grep, Glob, Bash, Write -model: fable +model: opus color: purple --- diff --git a/.claude/agents/healthlog-review-rubric.md b/.claude/agents/healthlog-review-rubric.md index 9cbb2aa..be0a854 100644 --- a/.claude/agents/healthlog-review-rubric.md +++ b/.claude/agents/healthlog-review-rubric.md @@ -2,7 +2,7 @@ name: healthlog-review-rubric description: "Generative-проход ревью healthlog — сперва, НЕ ВИДЯ КОДА, порождает 8–12 проверяемых свойств, по которым сильный Go-инженер судит узел такого назначения (разбор пакета HAE, HTTP-хендлер приёма, обработчик Read API, репозиторий часовых объектов, файловый архив с ретеншеном, CLI-команда import/reindex, адаптер MCP), и только потом читает код и оценивает по этой рубрике. Достаёт слой, которого нет ни в одной конвенции. Годится и до кода (профиль design) — тогда рубрика становится приёмочными критериями. Только чтение." tools: Read, Grep, Glob, Bash -model: fable +model: opus color: purple --- diff --git a/.claude/skills/healthlog-review-pipeline/SKILL.md b/.claude/skills/healthlog-review-pipeline/SKILL.md index de26803..65fa7ef 100644 --- a/.claude/skills/healthlog-review-pipeline/SKILL.md +++ b/.claude/skills/healthlog-review-pipeline/SKILL.md @@ -57,8 +57,31 @@ description: Конвейер ревью изменений healthlog — дет | Модель | Проходы | Почему | |---|---|---| | `sonnet` | gate, code, ops | вход структурный, критерий записан заранее | -| `opus` | specs, idiom, negative, adversary | суждение без опоры на инструмент | -| `fable` | rubric, reimpl, architecture, triage | качество порождённого и есть вся ценность | +| `opus` | specs, idiom, negative, adversary, rubric, reimpl | суждение без опоры на инструмент | +| `fable` | triage, architecture | ошибка распространяется дальше самой находки | + +**Fable — только двум проходам, и это калибровка, а не осторожность.** Первый +прогон конвейера (ревью дизайна `razbor-metrik-v-obekty`) показал, что самые +ценные находки дали **opus**-проходы: `idiom` поставил три эксперимента +(`SQLITE_BUSY_SNAPSHOT` 517 против `_txlock=immediate`, куча `map[string]any` +против `json.RawMessage`, потери `json.Marshal` без `UseNumber`), `specs` дал +13 находок с оракулами. Разницы в пользу более дорогой модели на опиниативных +проходах не обнаружилось — значит платить за неё там не за что. + +Двое, у кого fable остаётся, отобраны по одному признаку: **их ошибка +распространяется дальше собственной находки.** + +- `triage` — через него проходит всё, что оркестратор реализует **молча**: + ложноположительная находка становится кодом, потерянный `critical` — + дефектом. Ошибка триажа дороже ошибки любого отдельного прохода. +- `architecture` — запускается редко (только `deep` и `design`), потолок в + 3 находки делает его дешёвым по выходу, а находка на предложении стоит + абзаца против переписывания на готовом коде. Дёшево × высокое плечо. + +`reimpl` намеренно **не** в этом списке, хотя он самый ценный из generative: +его стоимость определяется объёмом вывода (он пишет реализацию целиком), так +что дорогая модель множит самый большой счёт. Ценность же его — в +**независимости** взгляда, а не в мощности модели. **Haiku не используется ни на одном проходе, и это не экономия наоборот.** Дешёвая модель на опиниативном проходе даёт правдоподобные находки, которые