books/gu-zhenren/rerun2/RERUN_REPORT.md

17 KiB
Raw Blame History

Пере-прогон rerun2 — отчёт (蛊真人, главы 15, zh→ru)

Сессия: операционная, пост-D39.19 (промт docs/PERERUN_SESSION_PROMPT.md). Дата: 2026-07-23. Стенд: /home/ubuntu/books/gu-zhenren/rerun2/ (всё ВНЕ git). backend/+docs/ — не трогались (read-only). Прогон: ОДИН --resnapshot fresh-translate среза глав 15 через прод-стек D38.5, три арма редактора.


0. Итог одной строкой

Прод-путь отработал чисто. Несущий инвариант D39 «переоплата ОДНА» подтверждён живьём: драфт-волна оплачена ОДИН раз ($0.0109) и резюмится за $0 во всех трёх армах редактора (0 новых draft-вызовов на арм; draft-снапшот 4ed6cdd97fae бит-стабилен). Эхо-мины нет нигде (echo_draft=0, echo_edit=0). Три арма разошлись по качеству: glm-5 — чистый (0 флагов), mistral — дешёвый но рубленее и хуже по глоссарию, deepseek-pro — лучшая структура/глоссарий, но 3 катастрофы CJK-leak (оставляет китайские заголовки глав).


1. Деньги — реальный итог эксперимента (леджер)

Реальные траты = сумма ОТДЕЛЬНЫХ вызовов (драфт — один раз; каждый арм — своя edit-волна; судья). Пер-DB committed НЕ суммировать — арм-DB это КОПИИ базового (несут скопированный glm-edit; двойной учёт).

Волна / арм Модель Вызовы $ (реальные)
Драфт-волна (единожды) deepseek-v4-flash (thinking-ON) 10 $0.010931
Edit — арм base glm-5 7 $0.076583
Edit — арм mistral mistral-large-2512 7 $0.040093
Edit — арм deepseek-pro deepseek-v4-pro 7 $0.040555
Судья-риг (probe+floor+cat+pairwise) gemini-3.1-pro-preview + grok-4.3 140 $6.461700
ИТОГО ЭКСПЕРИМЕНТА $6.633102

Реальный API-расход = пайплайн $0.171402 + судья $6.461700 = $6.63 — под потолком $15 книжным/дневным. Судья — доминирующая статья (полные окна + gemini thinking + grok-фолбэк на 3-0). Порог «50% до конца base edit» ($7.50) не сработал (к концу base-edit потрачено <$0.09). Прогон завершён 23.07; платных deepseek-вызовов на 24.07 (катовер слагов) нет — прайс-ре-чек не требуется (судья на gemini/grok).

Пер-арм COGS-проверка (5 глав): glm $0.0766 · mistral $0.0401 · deepseek-pro $0.0406. Свап-армы дешевле базы (совпадает с планом 11 §6(g): свап-редакторы дешевле glm).


2. Подтверждение $0-резюма драфта (несущий D39-инвариант)

На КАЖДОМ из трёх армов translate --resnapshot резюмил драфт-волну за $0.000000 — ни одного нового вызова deepseek-v4-flash:

Арм draft model-calls в прогоне draft committed draft snapshot
base (glm) 0 (все «stage resolved from chunk_status») $0.010931 (без изменений) 4ed6cdd97fae
mistral 0 (grep подтверждён) $0.010931 4ed6cdd97fae
deepseek-pro 0 $0.010931 4ed6cdd97fae

Механика: mined_delta = Source:mined → двигает ТОЛЬКО enriched (edit) снапшот; base-банк (draft) не меняется → baseMemoryVersion стабилен → draft-чекпоинты под snapshot_draft не пере-гоняются. Каждый арм = отдельный snapshot_edit (glm 211b6aac48ea / mistral e71b99087601 / deepseek-pro d769c9f7d51d), edit пере-пиннится+пере-оплачивается, draft — нет. Армы гонялись на КОПИЯХ базового DB (draft-чекпоинты переиспользованы, не пере-оплачены).


3. Майнинг-стоп (W1.5) и ТАЧПОЙНТ №1

Драфт-волна → банк-майнинг-стоп (exit 3 = WaveSignatureStop), карта у guzhenren-rerun2.db.mined-signature.yaml. Предложено 3 новых терма (сверх 52 подписанных из exp16-карты — все 52 уже в seed-v2, майнер их исключил).

Терм occ Что это Решение владельца
和智慧 7 ложное срабатывание (和=«и»; строка «力量蛊和智慧蛊») reject → mined_rejects
花海 8 нарицательное «море цветов» (поле 月兰花) reject → mined_rejects
陈博 6 второстеп. персонаж (古月陈博, провалил тест) promote → «Чэньбо» (m), alias 古月陈博

Плюс владелец добавил 2 гу-типа, которые майнер не поймал/сегментировал неверно (за 和智慧 спрятаны): 智慧蛊→«гу Мудрости», 力量蛊→«гу Силы» (третья пара 人祖三蛊, консистентно с seeded 希望蛊→«гу Надежды»).

Счётчики майнинг-стопа: предложено 3 · покрыто exp16-картой 0 (все её термы уже в seed) · резидуал 3 (2 reject + 1 promote) · доп. добавлено 2. Merged seed+mined lint (60 термов) = 0 коллизий. Пере-запуск → дельта пуста → auto-continue.

Материализация в выводе (проверено): 南疆→«Южные земли» (гл.4), 陈博→«Гуюэ Чэньбо» (гл.4), 力量蛊/智慧蛊→«гу Силы»/«гу Мудрости» (гл.5) — все отработали.


4. Детерминированные сигналы качества (наблюдаемость, не гейт) — по армам

Сигнал glm-5 (base) mistral deepseek-pro
edit $ 0.0766 0.0401 0.0406
hard-флаги 0 0 3 (sanitizer_stripped)
exit code 0 0 2 (completed-with-flags)
echo_draft / echo_edit 0 / 0 0 / 0 0 / 0
structure: предл./нарратив-абзац 2.65 2.16 (рубленее) 3.43 (лучшая)
dialogue-dash 4 1 0
glossary-misses 3 5 (худшая) 1 (лучшая)
cosmetic-strip units 0 0 3 (42.9%)
post-check miss 0 0 1 (开窍)

deepseek-pro — 3 катастрофы CJK-leak (санитайзер D30.3 поймал и вырезал, флаг+skip; сырьё в export НЕ течёт):

  • гл.1/чанк0: 第一节, 纵身亡魔心仍不悔 (маркер+заголовок главы оставлены по-китайски)
  • гл.4/чанк0: 第四节
  • гл.5/чанк0: 改善

Т.е. deepseek-v4-pro как редактор оставляет китайские заголовки глав в русском выводе — санитайзер их стрипает → у этих глав в export может отсутствовать заголовок. glm/mistral заголовки переводят («Глава 1…», «Раздел 2…»). Мелочь глазами (glm): открыл их again (гл.1, латиница), войть (гл.2), Вперди (гл.3) — авто-QA поймал again.

Сигналы бэкенда идут РЯДОМ с вердиктами судьи (§6), НЕ сливаются в одну цифру (без сфабрикованной сходимости).


5. Время волн

Волна старт→конец (UTC) длит.
Драфт (10 чанков, 4 воркера) 19:35:52 → 19:37:14 ~82 с
Edit base glm-5 (7 ед., 4 воркера) 19:47:45 → 19:49:48 ~123 с
Edit mistral (7 ед., rate-guard=2) 19:53:26 → 19:56:03 ~157 с
Edit deepseek-pro (7 ед., thinking) 19:56:20 → 19:58:39 ~139 с

mistral медленнее из-за rate-guard (max_concurrency 2 вместо 4) — но ноль retry-fails (без гуарда полигон ловил ~48%). Гуард отработал.


6. Судья-риг (D39.7) — gemini-3.1-pro-preview (+ grok-4.3 фолбэк)

Полные окна (без обрезки), per-vote JSONL, position-swap, катастроф-скрин ко ВСЕМ армам, floor-пасс. 140 вызовов, $6.4617 (105 gemini + 17 grok-фолбэк + ранние без judge-тега); 0 аномалий. Рига — eval/rerun2_judge/judge.py, результаты — judge/judge_results.json, per-vote — judge/votes_*.jsonl.

Аномалия→вендор-дока (правило двух направлений): на ед. 3-0 (сцена Шэнь Цуй, мягкий сексуальный подтекст) gemini fail-closed content_filter: PROHIBITED_CONTENT — задокументированный квирк D22.6 (Gemini 3.x неконфигурируемо фейлит на сексуальном; судья такого — Grok). НЕ гадал: добавил grok-4.3-фолбэк (кросс-семейный к zh→ru редакторам, не author==reviewer) → ед. 3-0 судил grok.

Floor (judge-noise): 14/14 tie на identical-тексте → шум 0. Судья ни разу не предпочёл идентичное идентичному → pairwise-предпочтения = реальный сигнал (floor не мешает).

Pairwise (56 игр/арм, win=1/tie=0.5):

Арм win-rate очки
deepseek-v4-pro 0.679 38
glm-5 0.589 33
mistral 0.232 13

Head-to-head: glm>mistral 22:6 · dspro>glm 17:11 · dspro>mistral 20:6. Ранг: dspro > glm >> mistral. Order-consistency: flip-rate 0.214 (79% устойчивы к перестановке) — сильные предпочтения (обе руки ≫ mistral) переживают; зазор glm-vs-dspro (17:11) ближе к шуму.

Катастроф-скрин (dedicated, по армам): glm 5/7 · mistral 6/7 · dspro 5/7 — но по ТЯЖЕСТИ расходятся кардинально:

  • mistral — CRITICAL: пропуск целого абзаца (про природу гу, 2-0), пропуск заголовков глав (4-0/5-0) и имён (古月藻榭), числа (千万→«тысячи», 数十万→«десятки тысяч»), искажение смысла (资质→«Ресурсы»), катастрофа сюжета (4-1: приписал жульничество 陈城→Фан Юаню, сломал родство), систематически теряет 蛊师. → наименее верный.
  • glm — MAJOR: только 时辰-единицы + сломанные словоформы («глава клан»/«войть»/«было десятки») + латиница («again»). НИ ОДНОГО пропуска/числа/искажения смысла. → наиболее верный по содержанию.
  • dspro — MAJOR: урон от CJK-strip (пропали заголовки 第一/四/五节), сломанное «лять» (из 改善), ошибка рода в диалоге (1-0: реплика обесчещенной женщины → от муж. лица).
  • Дисконт: ед. 3-0 у ВСЕХ трёх — ложная катастрофа (grok не знал сид-конвенции 甲乙丙丁→А/Б/В/Г, счёл верное «класс В» ошибкой). Не считать против армов.

СИСТЕМНАЯ находка (ко ВСЕМ армам, draft-уровень) → ПИНГ ОРКЕСТРАТОРУ: 时辰 переведён как «час» (三个时辰=6ч→«три часа»; 半个时辰=1ч→«полчаса»). Дефект ЧЕРНОВИКА (deepseek-v4-flash translator), редакторы не чинят. Глоссарий/промпт: 时辰=2 часа. Класс из пере-прогонного дефект-леджера D39.8.

Вывод (метрики НОМИНИРУЮТ, чтение РАТИФИЦИРУЕТ): судья ставит dspro первым по прозе/верности (лучшая структура 3.43 + лучший глоссарий), НО у dspro урон от CJK-strip (пропавшие заголовки) — чинибельный дефект санитайзера/промпта, не фундамент. glm — безопасный чистый второй (0 hard-флагов, наиболее верный по содержанию). mistral — вон (критические пропуски/искажения, которые детерминированные гейты НЕ ловят). Backend-сигналы (§4) и судья РАЗОШЛИСЬ по mistral (детерм.: «0 флагов, чисто»; судья: worst) — расхождение ОЖИДАЕМО и ИНФОРМАТИВНО (гейты ловят echo/CJK/преамбулы/стиль, НЕ пропуски/числа/смысл), сигналы РЯДОМ, не слиты (без сфабрикованной сходимости).


7. Блайнд-пакет (D39.8) — ТАЧПОЙНТ №2

blind/blind_read_packet.md — 3 версии каждой главы (A/B/C), метки перетасованы пер-главно (защита от кросс-главной де-анонимизации), исходник для сверки, авто-QA перед читателем. Ключ соответствия — blind/blind_read_KEY.json, владельцу до вердикта не показан. Экстракция только через tmctl export (инвариант №8).


8. Девиации от промта (списком, с обоснованием)

  1. mined_delta пуст + 2 правки в seed, а не «карта→mined_delta». Все 52 подписанных терма exp16-карты УЖЕ в seed-v2; литеральная загрузка в mined_delta = крэш прогона (UNIQUE(book_id,src,sense,since_ch,until_ch) без source; плоский INSERT — store/migrate.go:202, glossary.go:134). Правки владельца 南疆/青丝蛊 применены к копии seed (guzhenren-seed-rerun2.yaml). Согласовано с владельцем на гейте. mined_delta наполнен живьём на майнинг-стопе.
  2. Срез = только главы (第一节→), без метадаты-преамбулы. Выбор владельца на гейте (чище для чтения; преамбульные термы всё равно в seed).
  3. budget_usd=3.0 (не снапшот-фолдится) — включает draft echo-эскалацию (D22.11); waves.workers=4 (транспорт, не снапшот).
  4. Армы через КОПИИ базового DB (draft переиспользован → $0). Пер-DB committed двоит скопированный glm-edit — реальный итог считаю по отдельным вызовам (§1).
  5. Судья max_tokens 12000→20000 — на крупной ед. (гл.3/ч0) gemini thinking+удвоенное окно упирались в 12000 → finish=length, пустой content. Поднял + None-safe. Полный A0↔A0' independent-regen floor DEFER (interim; ратифицирует чтение владельца) — floor замерен как position-bias на identical-тексте.

Прочее: B2-предупреждение культивация ← 修炼/修行 — намеренная черта seed (владелец свёл оба к «культивация»), наблюдаемость, не дефект. Все три арма: finish=stop только, аномалий провайдера ноль (кроме судейского max_tokens, вылечено).


9. Что в едином --resnapshot (манифест §8)

seed-v2 + 2 правки (南疆/青丝蛊) · langpack zh/zh-ru (palladius) · mining.contrast (jieba) · translator.md v1-reflow · editor.md v3-discourse-reflow · sanitizer ON · segmentation (draft 1797 / edit 3200 / fertility 1.1978·cjk+0.3852) · mined-delta (陈博/智慧蛊/力量蛊, Source:mined, только edit-снапшот). Draft-снапшот 4ed6cdd97fae · edit-снапшоты пер-арм.