textmachine/docs/experiments/14-quality-empirics.md

34 KiB
Raw Blame History

Эксперимент 14. Эмпирика рычагов качества zh→ru (нарезка × ПРОМПТ + фронтир-диагностика + кривая нарезки)

Статус: полигон-сессия exp14 (D36, приоритет №1). Мандат — docs/POLYGON_QUALITY_EMPIRICS_SESSION_PROMPT.md + D35/D36. Пре-скрин планки «2 претензии владельца» (ИНТЕРИМ, D35 — НЕ пилот Ф2.5). Смену дефолта ратифицирует ОРКЕСТРАТОР (D-блоком) — не эта сессия. Зона: eval/ + этот файл + секция PROGRESS «Полигон» + курация глоссария (вне git). Бэкенд не трогаю (2 живые сессии; git status перед касанием дерева; стейджинг не нужен — не коммичу код). Артефакты: сэмплы/выходы/сырьё судей — /home/ubuntu/books/gu-zhenren/exp14/ (ВНЕ git; в доке — только числа и цитаты ≤15 слов). Каждый платный скрипт персистит usage/cost (D30.10). Полигонное Python-зеркало ↔ Go: при расхождении верить Go.


0. Онбординг-факты (контракт, на которых стоит дизайн)

  • Триггер (D35): пере-прогон 25 глав связкой (draft deepseek-v4-flash v1-reflow → editor glm-5 v2-bilingual-reflow + сид v2 + reflow + санитайзер) → вердикт владельца «лучше (из-за сида), но крайне слабо художественно»: (1) нет логической редактуры абзацев / конвенций РЯ; (2) места, где модель не понимает связей/смысла. Диагноз «Ф2-недострой + near-term рычаги, НЕ баг» верифицирован исполнением.
  • Ключевая невыжатая ось (D35.3): exp04/12/13 крутили только МОДЕЛЬ в фикс-нарезке с уже-вшитым reflow-промптом. exp14 крутит нарезку × ПРОМПТ.
  • Вход-ресёрч (D36): research/18-quality-levers.md (Claude, ACCEPT_WITH_FIXES) + research/18-quality-levers-chatgpt.md (ACCEPT). Скелет протокола — из ChatGPT §C; содержание дискурс-reflow-промпта (5 техник Ван Цуй) + COGS-модель — из Claude §C. §A обоих заморожены до чтения стека; вывод «потолок скорее в ОРГАНИЗАЦИИ (нарезка/промпт/контекст), не в сырой дешёвой модели» — гипотеза к ЗАМЕРУ, не факт.
  • Механизм-как-есть (backend/prompts/{translator,editor}.md, chunker.go): по-чанково draft → по-чанково bilingual edit; каждый чанк в ИЗОЛЯЦИИ; единственная кросс-чанк-память — глоссарий. Обе reflow-инструкции ПРИСУТСТВУЮТ в промптах и практически ИНЕРТНЫ (замер: медиана 1 предл./нарратив-абзац, ниже §1.3).
  • Провайдер-квирки (experiments/00-provider-quirks.md, обязательно): deepseek thinking ON ВСЕГДА (эхо-мина; disabled→эхо на плотном CJK); gemini слаг ТОЛЬКО gemini-3.1-pro-preview, mandatory thinking, additive_total-биллинг, PROHIBITED_CONTENT неконфигурируем; grok reasoning-ON = аддитивный биллинг, grok на архаичной ch1 — эхо-риск D22.5 (исключён из ch1-армов); glm thinking {type:disabled}; gpt-5 — max_completion_tokens, без temperature, reasoning_effort.
  • Уроки судейского слоя (exp12/13, мемо eval-aggregation-no-manufactured-convergence): ложная «сходимость» ловилась ДВАЖДЫ. Судьи span-цитирующие, reasoning-ON, стиль/верность РАЗДЕЛЬНО, кросс-семейно (author≠reviewer, self-family exclusion), ≥3 повтора со свапом, leave-one-judge-out, катастроф-скрин к ПОБЕДИТЕЛЮ тоже, per-call кап (НЕ group-level — exp13 переоврал +10%). НИКОГДА не гейтить художественность на BLEU/COMET (zh→ru инверсия WMT24).
  • Fidelity re-gate (D34.3, rerun/FIDELITY_REGATE_HANDOFF.md) — гоню ПАРАЛЛЕЛЬНО, независимо (§3 ниже). Пере-прогон НЕ засчитан до пройденного re-gate.
  • Харнес-факты (реплика eval/): call-ядро — refusal_bench.call_provider (eval/refusal_bench.py:151); usage→$ с тремя reasoning-режимами subset/additive/additive_total (exp13_translate.py:106, ветвление по models.yaml reasoning:); цены — backend/configs/models.yaml (единственный источник, prices_checked 2026-07-10); токенайзеры — tokenizers.Tokenizer.from_file (glm-4.6, deepseek-v3.2 присутствуют; deepseek-v4/kimi-k2 — БЕЗ tokenizer.json, использую deepseek-v3.2 как прокси BPE-семейства); реконструкция инъекции — retrieval_state.injected_ids + exp12_blocks.py (боевой блок не персистится, детерминированно пересчитывается); блайнд — seeded-shuffle + отдельный ключ-файл (exp13_monitor.py).

1. ПРЕ-РЕГИСТРАЦИЯ (заморожена коммитом ДО первого платного вызова — D30.10)

Всё в §1 зафиксировано до генерации армов и оценки. Промпты армов ЗАМОРОЖЕНЫ — никакого промпт-инжиниринга по ходу (урок exp04: сломанная слепота однажды уже дала дефолт-редактора). Path-scoped коммит: только этот файл.

1.0. Материал

Срез: те же 25 глав пере-прогона (rerun/records.json, 57 чанков; source/draft/final/disposition/флаги). Char-длины (замер): source min/медиана/max = 8 / 1639 / 1812; final = 0 / 5015 / 6184 (0 = 2 обнулённых чанка). Исключено (экспорт-баг D35.4a): ch5.0 и ch20.0 — единственные edit_flag='sanitizer_defect', final-длина = 0 (финалы пусты, спутают оценку). Если нужен их текст — edit-выход из checkpoints store (тело цело, дефект = ведущий ###). ch16 — единственный escalated=1 (эхо-эскалация flash→pro, RESCUED).

1.0.1. Trap-набор (Ступень I — ЛОВУШКИ, размечены ДО генерации). Поля тип/chapter.chunk/supporting_span(zh)/допустимый_смысл/P0-наблюдение/гейт. Обязательны 2 места владельца (T1/T2, воспроизведены оркестратором фактически; входят и в fidelity re-gate).

ID Тип ch.chunk supporting_span (zh, ≤15 слов) допустимый_смысл P0-наблюдение (пере-прогон) Гейт-класс
T1 (c) внутри-чанк, КАТАСТРОФА 7.0 古月族人没有一个不知道的 все/каждый в роду Гуюэ ЗНАЛИ это предание (двойное отрицание = «нет ни одного, кто не знал») «не знал в роду Гуюэ ни один человек» = НИКТО не знал — инверсия полярности (дефект в черновике, редактор НЕ починил) любая инверсия участника/действия = дисквалиф. независимо от ранга
T2 (c) внутри-чанк + глава, chengyu 8.0 (заглавие) + 8.1 物是人非 контраст «вещи/места прежние — люди уже не те» (物是 «вещи те же» + 人非 «люди иные») заглавие гл.8 и тело → «Всё изменилось» — сплющено, потерян контраст 物是 потеря смыслового атома (половина идиомы)
T3 (a) абзацы (нарратив-слияние) 10.0 прогон подряд идущих однопредложенческих нарратив-строк (один непрерывный ход) слить в ≤2 многопредложенческих русских абзаца ~1:1 строка→абзац (43 строки → 43 абзаца; reflow добавил разделители, НЕ слил) нельзя «побеждать» только МЕНЬШИМ числом абзацев
T4 (b) диалог-конвенция (КОНТРОЛЬ/регресс-гард) 9.0 обмен репликами 1:N (слова автора + реплики дядя/тётя/Фан Чжэн) реплики с «—», слова автора в своём абзаце (Розенталь) P0 в целом КОРРЕКТНО (диалог-тире работает; атрибуция на месте) арм НЕ должен СЛОМАТЬ то, что P0 сделал верно
T5 (d) кросс-граница, prev-supported 24.0→24.1 24.1 откр.: 这当然不是他的肌肤本色,而是一种铜皮蛊的效果 «это [бронзовый цвет кожи наставника, описан в 24.0] — не природный, а эффект гу медной кожи» chunk-изолированный редактор 24.1 не видит антецедент «这/他的» (в 24.0) perturbation: correct-prev vs shuffled-prev не должен совпасть
T6 (d) кросс-граница, prev-supported #2 11.0→11.1 11.1 откр.: 那隐藏在暗处的人马,见到沈翠这般出来 «те, кто прятался в засаде [люди舅父/舅母, введены в 11.0], увидев так вышедшую Шэнь Цуй…» «那…人马» без введения в изолированном 11.1 perturbation (как T5); prev-support робастность

Оговорка (честная): чистого next-supported / катафора-трапа в раннем срезе (гл.225, ранняя арка деревни) не нашлось дёшево — кросс-граница здесь prev-доминирована (T5/T6). Next/chapter-support факторизуется частично: T2 несёт chapter-supported измерение (полный вес 物是人非 раскрывается сменой отношений братьев по главе), gl.7-легенда (T1) полно рассказана в гл.13. Ограничение логирую; ±1-абляция next-плеча всё равно гонится (может не дать лифта на этих трапах — это валидный результат).

1.0.2. Главы для Ступени II (слепое чтение владельца — 3 чистые главы разной диалого-плотности). Отбор детерминированной формулой (как exp12 §1.1: D = доля символов внутри «“…”» от не-пробельных; high/mid/low), из чистых глав (все чанки disposition=ok, postcheck_miss=0, style_flags=0, 0 flagged/escalated), исключая ch1 (архаика), ch5, ch20. Заморожены:

Регистр Глава D (замер) реализованный характер чанков
нарратив/низкий диалог гл. 19 0.061 почти без прямой речи 2
смешанный (медиана) гл. 17 0.246 нарратив + диалог 2
диалого-плотный (high) гл. 18 0.440 самая чистая высоко-диалоговая глава 3

D — детерминированно (exp14_material.py dialogue_D, доля символов в «“…”»), $0 до генерации; при равенстве — меньший номер главы. Гл.9/12 плотнее по диалогу, но несут по 1 минорному postcheck_miss/style_flag → взяты чистые.

1.0.3. Trap-чанки (Ступень I — все армы гоняются на этом объединении): {7.0, 8.0, 8.1, 9.0, 10.0, 11.0, 11.1, 24.0, 24.1} = 9 чанков (T5/T6 требуют обоих чанков главы для кросс-граничной опоры).

1.0.4. Реконструкция глоссарий-инъекции (rig-фиделити, как exp12 A1). Боевой блок инъекции НЕ персистится — детерминированная функция (сид v2 + нормализованный чанк). Воспроизвожу из retrieval_state.injected_ids (JSON-массив композит-ключей src\x1fsense\x1fsince\x1funtil) приёмочного store + guzhenren-seed-v2.yaml (57 терминов, 47 approved/10 draft, status гейтит):

  • Editor-блок (renderEditorConstraintBlock): заголовок «КАНОНИЧЕСКИЕ ПЕРЕВОДЫ имён и терминов (…приводи к ним любые расхождения, склоняя по контексту…):», далее - «dst» (dst-only, CONFIRMED/approved-only, dedup по dst).
  • Translator-блок (renderGlossaryBlock): заголовок «ГЛОССАРИЙ (…):», далее src → dst, ambiguous → суффикс ⟨проверить⟩.
  • Layout: system(стабильный префикс, CacheBoundary) → system(инъекция) → user (render.go:174 MessagesWithInjection). Верификация: реконструированный injected_ids побайтно = store per-chunk. Sticky-инерция (n_sticky) — union chunk0chunk1 внутри главы (как exp12).

1.1. Армы — ось НАРЕЗКА × ПРОМПТ (полный 2×2 — мандат D36) + аблации

Прямые вызовы, ручная упаковка (НЕ через прод-пайплайн). Дешёвый прод-микс (draft deepseek-v4-flash thinking-ON @temp 0.3 → editor glm-5 билингв @temp 0.4, thinking-disabled) — якорь. Brief-vars из rerun/book.yaml: source_lang=zh, target_lang=ru, genre=вебновелла, audience=взрослые читатели вебновелл, title=蛊真人, honorifics=keep, transcription=palladius, venuti=0.6, footnotes=minimal. floor max_tokens=8000 (D24.3). Черновик держу общим для editor-армов (варьируем editor-стадию), кроме армов, где нарезка/промпт меняет и черновик.

Арм Нарезка Промпт (editor) Черновик Смысл Источник/цена
P0 baseline чанк (прод 1.5k) ТЕКУЩИЙ прод v2-bilingual-reflow flash v1-reflow Нулевая точка обеих претензий (= пере-прогон на trap-наборе) records.json reuse, $0 (rig-фиделити A1)
P1a чанк сильный дискурс-reflow (§1.2) тот же flash-draft Промпт-рычаг при фикс-нарезке glm-5 live
P1b глава целиком ТЕКУЩИЙ прод flash-draft главы (склеен) ⚠ ячейка, которую НИ ОДИН отчёт не крутил — «бо́льшая единица САМА помогает без нового промпта?» glm-5 live
P1c глава целиком сильный дискурс-reflow flash-draft главы Верхняя near-term точка нарезка+промпт glm-5 live

Аблации (на базе P1a, чанк-нарезка; ChatGPT §C2):

  • A-layout — draft-layout ablation: перед editor заменить пустые строки/построчную разбивку draft на нейтральные сепараторы ИЛИ пронумерованные смысловые атомы (финал удаляет ID) → изолирует ЯКОРЕНИЕ редактора на форме черновика. Победа = дешёвый ПРОД-МИНОР (не менять нарезку).
  • A-2pass — semantic-first vs combined: один combined-editor (=P1a) против двух узких пассов (билингв семантика-репэйр → target-only литературный reflow) под ОДНИМ coverage-гейтом → снимает конкуренцию мандатов; замерить реальный output-множитель (≤~2× editor-output).
  • A-ref-prev / A-ref-next / A-ref-both — ±1 reference-контекст: пред-source+пред-target хвост / след-source-абзац до границы сцены / оба, явно REFERENCE — НЕ ПЕРЕВОДИТЬ. Три РАЗДЕЛЬНЫЕ абляции (не сливать). Цель — кросс-граница (T5/T6), нулевые подлежащие, катафора. Только на чанках с кросс-граничными трапами (11., 24.).

1.2. Сильный дискурс-reflow промпт — ЭТО АРМ ДЛЯ ЗАМЕРА (не «оптимальный промпт»)

Ядро (Claude §C1#1 + ChatGPT §C3; содержание zh→ru — из Ван Цуй, Вестник МГУ Сер.22, прескрипция ТЕХНИКИ; норму держат Розенталь/Правила-1956). Добавляется к editor.md-мандату (не заменяет сверку смысла/полноту/глоссарий):

  1. Молча определи смысловые ходы: единый фокал/наблюдатель; действие + непосредственная реакция; одна тема рассуждения; смена говорящего/времени/места/фокала.
  2. Один повествовательный ход — обычно один русский абзац, ДАЖЕ если китайский разбит на однофразовые строки (паратаксис→гипотаксис). Инструмент слияния — причастные/деепричастные обороты + подчинительные союзы/связки (5 техник Ван Цуй: иерархия → сегментация по смыслу → маркировка вида/времени предиката → варьирование лексики → добавление связок). Не сливать ТОЛЬКО ради длины.
  3. Каждая реплика — с нового абзаца через тире; слова автора при той же реплике — в её абзаце (Розенталь).
  4. Разрешено объединять/делить русские предложения; ЗАПРЕЩЕНО терять смысловые атомы (число предложений/абзацев совпадать не обязано).
  5. REFERENCE-блоки — только для разрешения связей; не переводить/не пересказывать в выходе.

Few-shot — минимальные, ортогональные: narrative N:1, dialogue 1:N, focal-shift boundary (target-side русский якорь, ≤3). Для DeepSeek-thinking (если гоню его переводчиком/редактором с дискурс-промптом) — сначала zero-shot против few-shot (модель-специфика research/15; не переносить между моделями); ручной verbose CoT reasoning-модели НЕ добавлять. Точный текст промпта и few-shot — в eval/exp14_prompts.py, sha256 фиксируется в §2 при заморозке армов.

1.3. Фронтир-арм — ДИАГНОСТИКА потолка (capability-vs-activation)

2×2 (первичный): держу ЧЕРНОВИК константным (дешёвый flash-draft, общий), варьирую EDITOR × промпт:

baseline-промпт дискурс-промпт
дешёвая (glm-5) = P0 (reuse $0) = P1a
фронтир (gpt-5.4) F-base F-disc

Разводит: фронтир верстает/чинит, дешёвая нет → gap способности; ни та ни другая → недоспецифицированный промпт; краткое правило/пример чинит дешёвую → активация. Плюс спот-чек фронтир-как-ПЕРЕВОДЧИК на T1/T2 (2 fidelity-трапа): избегает ли сильный ЧЕРНОВИК инверсии gl.7 в принципе (потолок на translate-стадии vs edit-стадии).

Фронтир (слаги live-фактчекнуты 2026-07-11, /models): gpt-5.4 — ОСНОВНОЙ (OpenAI ~$9; standard-тир, не pro); gemini-3.1-pro-preview — ЭКОНОМНО, преим. кросс-семейный мета-ревьюер (остаток €2.6, output $12/M+thinking = быстро сгорит); grok-4.3 — доп, но НЕ на архаичной ch1 (D22.5, эхо-риск) — в exp14 ch1 и так исключена; НЕ Claude/Opus (нет ключа). Мета-ревьюер — self-family exclusion (если Gemini переводил/редактировал — мета-ревьюер GPT, и наоборот; span-цитаты: где ломается смысл + какой механизм чинит). Гарды: эхо/refusal-скрин на ВСЕХ выходах; per-call predicted-cost кап ДО вызова (НЕ group-level); пре-регистрация армов заморожена коммитом.

1.4. Кривая размер-чанка ↔ качество ↔ биллинг ↔ ретраи

  • Размеры 0.75k / 1.5k / 3k / глава × две политики границ (жадная упаковка | сцен/дискурс-граница) при сопоставимом бюджете (иначе размер спутается с качеством границ).
  • Бюджет чанка — в ВЫХОДНЫХ токенах на реальном токенизаторе (кириллица-фертильность ~22.5×, Petrov NeurIPS 2023; glm-4.6/deepseek-v3.2 токенайзеры). Оптимизировать на retry-adjusted output-cost; связность давать кэшированным carryover, НЕ размером единицы.
  • Cache-ordering: статику (system+glossary) ПЕРВОЙ, volatile (running summary/reference) ПОСЛЕ — иначе кэш бьётся.
  • Снимать (пре-рег): in/out/reasoning-токены, латентность, retry-rate ПО ПРИЧИНАМ (timeout/refusal/length/echo/sanitizer/decode — РАЗДЕЛЬНО), доля ПОВТОРНО ОПЛАЧЕННЫХ токенов (не только retry-rate — урон одного крупного сбоя), coverage, слепое предпочтение, KPI-абзацы, trap-теги.

1.5. Метрики и гейты — ПРЕ-РЕГИСТРИРОВАНЫ (C4 ChatGPT + §C10 Claude)

Ось Первичный показатель Аварийный гейт
Претензия 1 (абзацы) детерминированный структурный KPI БЕЗ судьи: распределение предложений/нарратив-абзац (P0-baseline замер exp14_material.py: медиана 1.0, среднее 1.701, доля 1-предл. абзацев 0.579, n=1378 нарратив-абзацев/55 чанков) + слепое чтение нельзя «побеждать» только МЕНЬШИМ числом абзацев (парно с atom-coverage)
Претензия 2 внутри-чанк билингв span-цитирующая trap-accuracy (обязательный supporting_span) на T1/T2 любая инверсия действия/участника (T1) = КАТАСТРОФА независимо от среднего ранга
Претензия 2 кросс-граница accuracy РАЗДЕЛЬНО prev-/next-/chapter-supported (T5/T6 prev) perturbation: correct-context vs random/shuffled НЕ должен дать тот же результат (иначе контекст не используется — Mohammed&Niculae)
Полнота покрытие смысловых АТОМОВ (не совпадение числа предложений) пропуск заголовка/события дисквалифицирует арм на фрагменте
Операционность $, in/out/reasoning-токены, латентность, retry-по-причинам, повторно-оплаченные токены per-call predicted-cost кап; НЕ group-level
Робастность leave-one-judge-out + отдельный катастроф-скрин коррелированные колонки одного судьи ≠ независимые сигналы

НИКОГДА не гейтить художественность/связность на BLEU/COMET (zh→ru инверсия WMT24). Судьи: span-цитирующие, reasoning-ON, верность/стиль РАЗДЕЛЬНО, кросс-семейно (self-family exclusion), ≥3 повтора со свапом, parse-чек полноты ранжирования. Судьи-модели: gemini-3.1-pro-preview, gpt-5-mini, kimi-k2.6 (кросс-семейно к переводившим glm-5/deepseek/gpt-5.4/mistral — семья судьи ≠ семья арма для каждого трапа).

1.6. Заморожённая таблица моделей/цен (единый источник models.yaml; фронтир — live-фактчек 2026-07-11)

модель in $/1M out $/1M cached-in reasoning-режим роль в exp14
deepseek-v4-flash 0.14 0.28 0.0028 subset (thinking ON) черновик (общий)
deepseek-v4-pro 0.435 0.87 0.003625 subset эскалация черновика
glm-5 1.0 3.2 0.2 subset (thinking disabled) editor (дешёвый прод-якорь)
grok-4.3 1.25 2.50 1.25 additive (reasoning-ON) доп-фронтир (НЕ ch1)
gemini-3.1-pro-preview 2.0 12.0 0.20 additive_total (mandatory) судья / кросс-семейный мета-ревьюер (экономно)
gpt-5-mini 0.25 2.0 0.025 subset судья (second-opinion)
gpt-5.4 2.50 15.0 0.25 subset (reasoning⊆completion) ОСНОВНОЙ фронтир (live 2026-07-11: gpt-5.4-2026-03-05; pricing developers.openai.com — gpt-5.5/5.6=$5/$30, 5.5-pro=$30/$180 → дорого, взят 5.4)
kimi-k2.6 0.95 4.0 0.16 subset (temp=1, floor 16k) судья
mistral-large-2512 0.5 1.5 0.5 subset (не reasoning) доп-фронтир/канал-B справка

usage→$: (in·pin + (comp + reason)·pout)/1e6; reason= из completion (subset), отдельного поля (additive/grok), либо totalpromptcompletion (additive_total/gemini). Fallback-якорь неизвестной модели — цена deepseek-v4-flash (никогда $0).

1.7. Бюджет по ключам + per-call кап (обязателен ДО каждого платного вызова — exp13 +10%)

Бюджеты владельца (D36.1): OpenAI ~$9, Gemini ~€2.6 (крошечный — беречь), DeepSeek/ZAI/Kimi/xAI/Mistral ~$9 каждый. Отдельный owner-ceiling не нужен — работаю в остатках. Заканчивается ключ → останавливаюсь на нём, не блокирую остальные армы. Near-term дешёвые армы — ПЕРВЫМИ; фронтир GPT — основная фронтир-статья; Gemini — точечно.

Оценка трат (замерю точно; предельные, не group-cap):

  • ZAI (glm-5 editor-армы): P1a/P1b/P1c + 5 аблаций + Stage-II + кривая ≈ ~$0.0150.02/чанк-edit; ~$1.52.5 суммарно (кап на вызов $0.08).
  • DeepSeek (flash re-drafts для нарезки/главы): ~$0.001/чанк; <$0.3 (кап $0.03).
  • OpenAI (gpt-5.4 фронтир 2×2 + translate-спот-чек): ~11 чанков × 2 cells + 4 спот ≈ ~$2 (кап на вызов $0.40).
  • Gemini (судья/мета-ревьюер, output $12/M): держать <$1 экв. (кап $0.30); ре-джадж на gpt-5-mini/kimi если жжётся.
  • Kimi/OpenAI-mini/… (судьи): ~$12 суммарно (кап $0.20).
  • xAI (grok доп-фронтир, опц.): ≤$1 (кап $0.40), НЕ ch1.
  • Итог-цель ≈ $58 суммарно, глубоко в остатках. Финальная сумма по ключам — в §2.

predict_cost(model, in_est, max_out) = in_est·pin + max_out·pout (in_est из токенайзера/char-эвристики; max_out = потолок max_tokens); отказ ДО вызова, если > кап модели. Каждый вызов персистит usage/cost в append-only JSONL немедленно (не батчить), running spent per-key.

1.8. Дерево решений (пре-рег, ChatGPT §C5)

  • P1a закрывает абзацы БЕЗ падения fidelity → катить дискурс-промпт, размер НЕ менять.
  • Помогает только A-layout → строить deformat/atom-rendering, не chapter-editor.
  • ±1 reference (A-ref-*) закрывает большинство кросс-граничных traps → строить малое context-window до Ф2-памяти.
  • Нужна chapter-card, но whole-chapter НЕ лучше → Ф2 state-extraction.
  • Whole-chapter (P1b/c) выигрывает по fidelity И абзацам И retry-adjusted COGS → проектировать per-stage гранулярность (повторить на длинной главе).
  • Фронтир выигрывает ОБЕ ячейки 2×2, организация почти не помогаетmodel floor (не строить сложную память ради слабой модели).
  • Организация помогает ОБЕИМ, фронтир+организация даёт доп-лифт → развести near-term context-fix и премиум-тир.

1.9. Гарды сессии

Слепота свята; пре-рег заморожен после коммита (промпты армов — sha256 в §2); аномалии провайдеров → вендор-дока + /models (не гадать); .env не читать; тексты книги в git-доки не тащить (≤15 слов); 18+ регистров в раннем срезе нет (перенос на 18+ — отдельная проба D22/exp10-11). Методика-guard (мемо eval-aggregation): fidelity-first агрегация, leave-one-out по судьям, катастроф-скрин к ПОБЕДИТЕЛЮ тоже, независимость сигналов до агрегации, ось решения (near-term-достаточность vs потолок-моделей). Git-координация: git status + опознание чужого перед касанием дерева; чужое не трогать; никаких reset/rebase/checkpoint-перезаписей.


2. Результаты (заполняется ПОСЛЕ заморозки §1 — не входит в freeze-commit)

(пусто до прогонов; sha256 замороженных промптов армов, точные D глав Ступени II, таблицы армов — KPI-абзацы / trap-accuracy со спанами / perturbation / retry-по-причинам / цена — кривые размер↔качество↔биллинг↔ретраи — capability-vs-activation вывод — рекомендация near-term конфига + что строить под ROI — 3 финалиста для слепого чтения — суммарная трата по ключам.)

3. Fidelity re-gate (ПАРАЛЛЕЛЬНО, D34.3 — независим от §1-§2)

Span-цитирующий, reasoning-ON, раздельно стиль/верность, охота на КЛАСС ИНВЕРСИЙ редактуры (ch11/0 аутлайер: editor расширил 3009→4631, sim 0.064), катастроф-скрин терминов у победителя, author≠reviewer (не glm-5/deepseek), leave-one-out. Вход — rerun/rerun-parallel.txt (57 чанков, выровнено ОРИГ|ПЕРЕВОД) + records.json. Пере-прогон НЕ засчитан до пройденного re-gate. (результаты — ниже, после прогона.)