textmachine/docs/experiments/14b-meaning-battery.md

80 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Эксперимент 14b. Батарея смысл-трапов (нога-2) + ранг P1a↔F-disc
> **Статус:** полигон-сессия exp14b (D37, приоритет №1). Прямое продолжение exp14. ИНТЕРИМ пре-скрин планки «2 претензии» (D35 — НЕ пилот Ф2.5). Смену дефолта ратифицирует ОРКЕСТРАТОР — не эта сессия.
> **Зона:** `eval/` + этот файл + PROGRESS «Полигон». Прямые API-вызовы. **Коммичу ТОЛЬКО пре-рег §1** (урок D37: exp14 закоммитил 6 батчей сам → впредь фризю только пре-рег, остальное лендит оркестратор). Артефакты — ВНЕ git (`/home/ubuntu/books/gu-zhenren/exp14b/`).
## 0. Мандат (D37) — что домеряем и какие поправки exp14 обязан учесть
- **Претензия-1 (абзацы) ЗАКРЫТА и ратифицирована** (D37): рычаг ПРОМПТА/активации, не модель; дискурс-промпт реверстает у всех семей; A-2pass НЕ рекомендован (2-й пасс дрейфует). Сюда НЕ возвращаемся.
- **Нога-2 НЕДО-МОЩНА (HOLD D37):** «только gpt-5.4 чинит смысл-инверсию» верифицировано на **1 конструкции** (двойное отрицание T1) + **одно-судейно на фронтире** (gpt-5-mini self-excluded → F-* судил только kimi; §2.5 exp14 «оба судьи чистят фронтир» — НЕВЕРНО). **Задача: батарея ≥35 классов × ≥2 инстанса, ≥2 КРОСС-семейных судьи на фронтире → робастна ли «только gpt-5.4», или конструкция-специфична; доля смысл-трапов, что валит дешёвая → COGS-оценка селективной эскалации.**
- **P1a (рекомендованный near-term конфиг) НИКОГДА не ранжировался против фронтира** (финалисты exp14 = {P0, A-2pass, F-disc}). **Задача: P1a ↔ F-disc head-to-head** (насколько дешёвый одинарный дискурс близок к фронтиру по прозе И span-верности).
- **Поправки exp14, которые НЕ повторяю (D37-ревью):** (1) НЕ дисконтировать свою панель ради фронтира (§2Б.3 «литерал-смещение → P0 не вернее» = ПЕРЕ-НАТЯЖКА: панель единогласно ставит P0 вернее IN-SAMPLE на ch17/18/19; T1-катастрофа — в ch7, ВНЕ выборки = категориальная ошибка; на типовых главах верность дешёвой В ПОРЯДКЕ). (2) floor-клейм требует ≥3 конструкций, не n=1. (3) катастроф-скрин к ПОБЕДИТЕЛЮ тоже. (4) **честный учёт ошибок/ретраев** (exp14 «0 ошибок» = на деле 36 ошиблись+билленулись, 105 вызовов не 64). (5) «13 катастроф» re-gate ЗАВЫШЕНО (реальный хвост ≈56; kimi оверфлагнул).
## 1. ПРЕ-РЕГИСТРАЦИЯ (заморожена коммитом ДО первого платного вызова — D30.10; path-scoped только этот док)
### 1.0. Батарея смысл-трапов — размечена ДО генерации
Классы конструкций × ≥2 инстанса, `supporting_span`(zh, ≤15 слов) + опустимый_смысл`. **Скоринг: DET = детерминированный по правилу (полярность/число/ранг/направление) + span-цитата; SOFT = ≥2 кросс-семейных span-цитирующих судьи.** Срез — `rerun/records.json` (ch5.0/ch20.0 исключены — экспорт-баг).
| # | Класс | Скор | ch.chunk | supporting_span | допустимый_смысл | правило DET |
|---|---|---|---|---|---|---|
| a1 | полярность/двойн.отриц | DET | 7.0 | `古月族人没有一个不知道的` | ВСЕ в роду Гуюэ знали (нет ни одного, кто не знал) | НЕ «никто/ни один не знал» |
| a2 | полярность (无不) | DET | 7.0 | `目光中无不充满了羡慕嫉妒` | ВСЕ взгляды полны зависти (无不 = нет без) | НЕ «никто не завидовал» |
| b1 | числа/дроби | DET | 10.1 | `蛊虫只祭炼了十二分之一…消耗了整整三成` | гу очищен на 1/12; истрачено ровно 3 десятых (30%) истинной ци | 十二分之一=1/12; 三成=30% (НЕ 3%/3/3×) |
| b2 | числа/масштаб | DET | 6.0 | `海面…只有四成四` (丙-предел) | уровень моря = 44% апертуры (四成四 = 4 дес. 4) | 四成四=44% (НЕ 4.4/4%) |
| c1 | ранг/иерархия | DET | 17.0 | `成为人上之人` | подняться НАД обычными людьми (人上之人) | НЕ «человек среди людей» (инверсия иерархии) |
| c2 | ранг/грейд | DET | 9.1 | `方源只有丙等资质` | Фан Юань — 丙 (ТРЕТИЙ) разряд = класс В | 丙=3-й=В/C (НЕ Б/2-й); консистентно |
| c3 | ранг/титул | DET | 16.0 | `四代族长` (в контексте) | глава клана 4-го поколения (族长=глава/патриарх) | НЕ «старейшина»/«家老-管家» |
| d1 | контрфактив (контроль) | DET | 19.0 | `幸亏春秋蝉虚弱…否则自己麻烦就大了` | к счастью цикада была слаба, ИНАЧЕ были бы крупные проблемы | сохранить 幸亏(к счастью)+否则(иначе бы); контроль — НЕ ломаться |
| d2 | контрфактив (контроль) | DET | 7.0 | `只恨我没有早生几百年,否则…揭破他` | жаль, не родился на века раньше, ИНАЧЕ разоблачил бы того злодея | сохранить контрфактив-направление |
| e1 | чэнъюй-сплющивание | SOFT | 8.1 | `物是人非` | контраст «вещи те же — люди уже не те» | судьи: сохранён ли контраст 物是/人非 |
| e2 | чэнъюй | SOFT | 2.1 | `韬光养晦` | «скрывать блеск, выжидать» (таиться, копить силы) | судьи: передан ли смысл сокрытия/выжидания |
| f1 | кореференция/субъект | SOFT | 16.0 | `这促使它不得不外出,寻找野生的酒囊花` | «это вынудило ЕГО (酒虫/Винного червя) выйти искать…» | судьи: верный ли субъект «оно/червь», не спутан |
| f2 | нулевое подлежащее/пол | SOFT | 11.1 | `他们的身形隐没在阴影中…分不清男女` | двое (пол неясен) в тени; НЕ навязывать род | судьи: не выдуман ли пол/референт |
**DET-классов 9 инстансов (a/b/c/d), SOFT — 4 (e/f).** Оговорка: c2/c3 частично зависят от глоссария (грейды/титулы) — скорю рендер vs канон сида + span.
### 1.1. Армы — ПРОМПТ константен (дискурс-reflow), варьируем РЕДАКТОРА-модель
Общий flash-черновик (`deepseek-v4-flash` thinking-ON, из `records.json`); editor = дискурс-промпт (тот же frozen `editor_discourse`, sha `b3b4f604…` exp14). Три модели:
| Арм | Editor-модель | = exp14-арм | reasoning |
|---|---|---|---|
| **C** (cheap) | glm-5 | = P1a | thinking disabled |
| **F** (frontier) | gpt-5.4 | = F-disc | reasoning_effort medium (subset) |
| **X** (frontier) | grok-4.3 | = X-disc | **reasoning-ON** (аддитив; НЕ на архаичной ch1 — в батарее ch1 нет) |
**Gemini ДРОПНУТ как арм** (остаток €0.39 — почти пусто; exp14 показал: инвертирует T1 + COGS-враждебен). Максимум — 0 вызовов (беречь); фиксирую как честную оговорку, НЕ 4-й арм.
**Реюз exp14** (не пере-оплачиваю): ch7.0, ch8.1, ch11.1 — C/F/X уже есть; ch17.0/19.* — F есть (stage2), доснять C/X. НОВЫЕ чанки (ch10.1, ch6.0, ch16.0, ch19.0, ch2.1, ch9.1) — все 3 модели. Каждый вызов персистит usage/cost + **ЧЕСТНЫЙ учёт ошибок/ретраев/finish=length** (не «0 ошибок»).
### 1.2. Скоринг + гейты (пре-рег)
- **DET-классы (a/b/c/d):** программное правило + span-цитата на каждый (арм × инстанс) → fix/fail. Пер-конструкция fix-rate: C vs F vs X. **Вывод-ось: робастна ли «только gpt-5.4 (F)» по КЛАССАМ, или отдельные классы чинит и X/дешёвый C.**
- **SOFT-классы (e/f):** **≥2 КРОСС-семейных span-цитирующих судьи** (self-family exclusion: для C(glm/zai) — судьи gpt-5-mini+kimi+mistral; для F(gpt) — kimi+mistral(+gemini-спот НЕ по бюджету); для X(grok) — gpt-5-mini+kimi+mistral). НЕ один судья на арм (урок D37). leave-one-judge-out.
- **Катастроф-скрин к ПОБЕДИТЕЛЮ тоже** (инверсия полярности/участника/направления = катастрофа независимо от среднего). **≥2 независимых глаза на любую катастрофу** (exp14: A-2pass-катастрофу поймал 1 из 2 → n=1 мало).
- **Omission-гард:** агрессивный reflow ↔ пропуски — считать смысловые АТОМЫ (не число предложений); длина не должна коллапсировать.
- **COGS-оценка:** доля чанков с DET-fail у дешёвого C × цена gpt-5.4-эскалации → стоит ли routing.
- **НИКОГДА не гейтить художественность на BLEU/COMET** (zh→ru инверсия WMT24).
### 1.3. P1a ↔ F-disc head-to-head (§2 deliverable)
На 3 чистых главах **17/18/19** (исключая ch5/ch20): собрать **P1a (=арм C, glm-5 одинарный дискурс)** и **F-disc (=арм F, gpt-5.4 дискурс)** → слепой пакет (monitor-паттерн, метки перемешаны по главам, ключ ОТДЕЛЬНО, вне git — копирайт). Оси РАЗДЕЛЬНО: **стиль** + **span-верность**; ≥2 независимых глаза на катастрофу; владелец может дать слепой вердикт. **Цель: насколько близко дешёвый P1a подходит к фронтиру** — если близко по ОБЕИМ осям, дорогой gpt-5.4 не нужен и на прозе (а нога-2 решает точечную эскалацию, не тотальный фронтир).
### 1.4. Бюджет + дисциплина
- **Остатки (D37):** OpenAI ~$6.77, Gemini ~€0.39 (беречь/дроп), Kimi ~$5.80, ZAI ~$8.31, xAI ~$8.85, DeepSeek ~$8.98, Mistral ~$9. **Кап exp14b ≤$5.** Per-call predicted-cost кап ОБЯЗАТЕЛЕН до каждого вызова (НЕ group). Кончился ключ → стоп на нём.
- Ожидаемо: F(gpt-5.4) ~8 новых чанков × ~$0.09 ≈ $0.7; C(glm) ~15 × $0.015 ≈ $0.25; X(grok) ~15 × $0.015 ≈ $0.25; судьи (SOFT 4 инстанса × 3 арма × 3 судьи + head-to-head) ~$12. **Итог-цель ≈ $23, под капом $5.**
### 1.5. Гарды (методика-guard, мемо eval-aggregation — ловил 3×)
Детерм.-скоринг где можно (чище судьи); ≥2 кросс-семейных судьи на soft; leave-one-out; катастроф-скрин к ПОБЕДИТЕЛЮ; независимость сигналов до агрегации; **НЕ дисконтировать свою панель ради фронтира; floor-клейм — ≥3 конструкций, не n=1; честный учёт ошибок**. Слепота свята; пре-рег заморожен коммитом; аномалии провайдеров → вендор-дока+`/models`; `.env` не читать; тексты книги ≤15 слов.
### 1.6. Дешёвый фикс (параллельно, вне критпути — в отчёт как готовое бэкенду)
Глоссарий разрядов **甲/乙/丙/丁 → кириллица «класс А/Б/В/Г»** (владелец зафиксировал D37) + принудительная сверка; развести с `转`→«ранг/оборот». Курация сида — зона полигона; спорное → владельцу.
---
## 2. Результаты (пост-freeze; НЕ входит в freeze-commit; лендит оркестратор)
*(пусто до прогонов; таблица fix-rate по конструкциям×моделям — DET+судьи со спанами — вывод по ноге-2 (нужен ли gpt-5.4, на каких классах, COGS) — P1a↔F-disc ранг — рекомендация; честный учёт ошибок/трат.)*