90 KiB
⚠ ЧЕРНОВИК (v1, НЕ действующая редакция). Рабочая версия отчёта research/24 до финального рерайта 04.08 — сохранена как архив-черновик: полная хроника сессии, пре-регистрации в исходной записи. Действующая редакция —
docs/research/24-bank-arbitration.md; при любом расхождении верить ей. Числа обоих файлов идентичны (сверено раундом 3 адверсариала).
research/24 — Арбитраж банка памяти: консилиум, уверенность моделей, инжект/фетч
Сессия ресёрч+полигон, 04.08.2026. Исполнение docs/BANK_ARBITRATION_RESEARCH_SESSION_PROMPT.md
(выдан D39.89; пере-запуск после прерванного захода 02.08 — артефактов того захода в дереве нет, D39.90 п.5).
Не закоммичено — лендит оркестратор.
Эхо-шапка
- Скоуп: проверка гипотезы владельца (консилиум без голоса · самооценка уверенности · инжект/фетч)
- прямой запрос владельца 04.08: общий взгляд на алгоритм банка, «хватает ли текущего», индустриальный стандарт, который могли пропустить.
- Подрезка D39.90 п.5 учтена: A целиком · B1 голд · B3 формы консилиума с контролем «одна модель N раз» · B2 свёрнута до под-пробы внутри B3 · C — малая адресная проба (владелец 04.08 назвал инжект явно, поэтому не отложена совсем, а сокращена).
- Деньги: потолок владельца 04.08 = $1.00 (перекрывает $2.00 промта и $1.20 подрезки); суб-потолки сессии: пробы B ≤ $0.70 · проба C ≤ $0.30. Факт — §Деньги в конце.
- Зона записи: этот файл +
eval/bank_arbitration/+ секция «Полигон» в PROGRESS. Сырьё моделей — durable в~/books/gu-zhenren/bank-arbitration/. Не коммичу. - Стенд: пробы своим харнессом против API напрямую (не через движок — в
backend/незакоммиченный пак живой сессии); перенос выводов в движок называется явно.coldrun-a— только чтение. - Базлайн качества банка = coldrun-a (D39.86: coldrun-b сломан транспортом, сравнение с ним запрещено).
§0. ПРЕ-РЕГИСТРАЦИЯ ПРОБ (записано ДО первого платного вызова; норма D39.46)
Дата/время фиксации: 2026-08-04, до каких-либо платных вызовов этой сессии. Голд (§B1) собран ДО пре-регистрации ($0), его числа: 53 approved сида → 45 в BANK-FULL coldrun-a, из них 34 со spread≥2.
Пассы (все — полный голд-набор одним батч-протоколом, engine-faithful RenderBatch):
| Пасс | Модель | Режим | Что несёт |
|---|---|---|---|
| ds1..ds3 | deepseek-v4-flash | reasoning_effort:"low", temp 0 |
S1 (свежий одиночный) + SC (само-согласованность N=3) + числовая уверенность 0–100 |
| dsw | deepseek-v4-flash | то же | словесная шкала уверенности (точно/скорее да/не уверен/не знаю) |
| glm1 | glm-5 | thinking disabled (форма движка) | второе семейство + числовая уверенность |
| mis1 | mistral-large-2512 | без reasoning | третье семейство + числовая уверенность |
| gro1 (опция при остатке бюджета) | grok-4.3 | дефолт (low) | четвёртое семейство, чувствительность состава совета |
Эффорты каждого пасса печатаются в отчёте (иначе числа несравнимы — §7 промта).
Формы арбитража (агрегация офлайн, $0):
- P0 — бесплатный базис §C2-3: топ-вариант ранжирования движка (колонка вариантов BANK-FULL, bankStopRows рендерит best-ranked first). Термы без вариантов → P0 пуст (честный отказ базиса).
- P1 — прод-референс: сведённый dst coldrun-a (терминолог на до-катоверных весах).
- S1 = ds1. SC = большинство(ds1,ds2,ds3), при 3-стороннем расхождении → ds1.
- C3 — равноправный совет: большинство(ds1, glm1, mis1) по нормализованному совпадению; полное расхождение → P0-топ, если хоть один голос совпал с ним, иначе ds1.
- C3conf — взвешенный: argmax по сумме заявленных уверенностей проголосовавших за вариант моделей.
- E1 — улики-первым: P0 стоит; «спорный» терм := (spread≥2 И разрыв top1−top2 по чанкам ≤1) ИЛИ singleton-улика (top1 предложен 1 чанком) → на спорных решает C3. Цена печатается долей от полного совета.
Метрики:
- Точность против голда: нормализованное точное совпадение (casefold · ё→е · схлоп пробелов · срез «»/кавычек). Промахи вскрываются глазами; спорные эквивалентности печатаются отдельно, автоматом НЕ засчитываются.
- Парные сравнения форм: счёт термов «A прав ∧ B неправ» против обратного (не голые проценты).
- Кластерная связность: семьи 古月-* (7 поверхностей, РАЗНОЙ длины — DetectSeries её не видит), 蛊-* (蛊师/蛊虫/月光蛊 + голова 蛊 вне банка), серии 等/转 (равнодлинные — детектируются). Метрика: консистентность конвенции внутри семьи у каждой формы (одна голова/конвенция у всех членов — да/нет), и отдельно: даёт ли по-терминный агрегатор химеру там, где одиночная модель консистентна.
- B2-под-проба (уверенность): AUC(уверенность → верно/неверно по голду) per-model (bootstrap 90% CI); устойчивость: медиана |Δconf| ds1↔ds2↔ds3 и доля флипов ответа; сравнимость шкал: |Δ средних conf| между моделями на одном наборе; канал отказа: счёт ⟦TM-NO-DST⟧ и его стабильность между ds1..ds3.
Критерии (успех/провал, зафиксированы ДО запуска):
- БАР (в): форма «бьёт базис P0», если парное преимущество (термы A-прав-P0-неправ минус обратные) ≥ +5 на 45 голд-термах. Меньше — «не бьёт» (на N=45 меньшее неотличимо от шума).
- Q2 (окупаются ли семейства): C3 против SC парное преимущество ≥ +3; меньше ⇒ «разные семейства не окупаются, хватает N прогонов одной модели» (легитимный исход).
- Уверенность разделяет, если AUC ≥ 0.70 и нижняя граница CI > 0.5 минимум у 2 моделей из 3; иначе — «уверенность как арбитр закрыта по нужности». Числа против слов: |ΔAUC| ≥ 0.05 решает форму. Шкалы несравнимы, если |Δ средних conf| > 20 п. ⇒ сырой кросс-модельный скор как решающее правило запрещён.
- Кластеры: ≥1 новая химера у C3 там, где SC/P1 консистентны ⇒ возражение §4 промта подтверждено (единица арбитража обязана быть кластером).
- Проба C (инжект, формат RenderGlossaryBlock/RenderEditorConstraintBlock байт-близко): 6 чанков × 4 арма (без инъекции · верный закон · НЕВЕРНАЯ строка законом · та же неверная строка с маркером ⟨проверить⟩), deepseek-v4-flash low, temp 0. Критерии: маркер «читается мягче закона», если послушание(закон-неверный) − послушание(⟨проверить⟩-неверный) ≥ 20 п.п.; «пометка = закон» (дефект), если < 10 п.п. Вред реален, если неверная строка законом принимается в ≥ 50% случаев. Между 10 и 20 п.п. — «неразделимо на N=6×набор строк», честно печатается.
Смета ДО запуска (проектная):
B: deepseek 4 пасса ≈ $0.02 · glm-5 ≈ $0.04 · mistral ≈ $0.02 · grok (опция) ≈ $0.05 → ≈ $0.13. C: 24 вызова flash-low ≈ $0.05. Итого ≈ $0.18 из $1.00. СТОП-условия: любой суб-потолок (B $0.70 / C $0.30) = стоп+релей.
(Секции §A–§D заполняются после исполнения; эта пре-регистрация после запуска не правится.)
§A. Критика текущего алгоритма в коде (Работа A, $0; диагноз, не правка)
Маршрут терма: miner/ (WHICH) → banknote.go (WHAT, голоса чанков) → terminology.go
Merge/AttachKWIC/ScoreVariants → series.go co-батчинг → classify.go тип-фаза → terminologist.go
(эмиссия auto/draft) → membank/memory.go Select/Render → mempostcheck.go. Классы дефектов:
сломано (неверный результат) · хрупко (верно случайно) · дорого (непропорциональная цена) ·
слепо (класс не покрыт/не виден). Все адреса перечитаны в HEAD этой сессией.
A1. Единица решения — строка; связность системы термов держится тремя СЛУЧАЙНЫМИ механизмами — «слепо»
ScoreVariantsранжирует варианты одного кандидата независимо (terminology.go:393-450); единственный межстрочный факторneighbourAgreesтребует УЖЕ подписанной строки (terminology.go:465-482) — на холодном/автономном банке мёртв (замер D39.65: сработал 2/23 и только на ничьих). Посылка промта подтверждена чтением.DetectSeriesловит ТОЛЬКО равнодлинные наборы с общей головой и одной варьирующей позицией (series.go:37-42, без транзитивного замыкания — осознанно). Семьи общего корня РАЗНОЙ длины не ловятся ничем: в живом BANK-FULL их две крупных — 古月-семья (15 поверхностей: 古月 · 古月博 · 古月冻土 · 古月山寨 …) и 蛊-семья (14: 蛊师 · 蛊虫 · 月光蛊 · 本命蛊 · 一转蛊师 …). Цена измерена голдом: конвенция 古月 («Гуюэ» одним словом против «Гу Юэ») стоила 8 из 45 голд-строк — восемь промахов ОДНИМ решением (§B1).- Третий, нигде не записанный компенсатор: Merge сортирует кандидатов по ключу (
terminology.go:212), поэтому ПРЕФИКСНЫЕ семьи (古月*) получают смежность в батче случайно — а СУФФИКСНЫЕ (X蛊 — голово-финальная морфология, главный класс CJK-реалий) рассеиваются: в батчах этой сессии 月光蛊 → батч 0, 本命蛊/蛊师/蛊虫 → батч 1, 一转蛊师/三转蛊师 → батч 3. Связность 蛊-семьи не защищена вообще. - Вердикт-тройка: посылка — верна и ШИРЕ записанной (в D-логе названы серии, префикс-лотерея не
названа); нужность — межстрочная связность подтверждена деньгами голда (8/45); форма — кластер-канал
«семья по общей морфеме» (кандидат уже назван в D39.65 п.4: «кластер по общей исходной морфеме»),
НЕ транзитивный, головой из
script-series.txt-данных; альтернатива «второй проход ре-чтения» дороже и не чинит рассеяние по батчам.
A2. Потолок арбитража-как-СЕЛЕКЦИИ измерен: 22 из 27 промахов не имели верного ответа в вариантах — гейт на класс дизайнов
По голду §B1: у 27 промахов прод-консолидации верный (подписанный) dst лежал в вариантах черновиков только у 5. Максимум ЛЮБОЙ формы «выбери лучший из предложенных» = 17/45 (12 у базиса §C2-3 + 5). Все дизайны вида «модели голосуют по вариантам / скор выбирает победителя» упираются в этот потолок ДО всякого вопроса о калибровке. Верный dst чаще требует ГЕНЕРАЦИИ по контексту (гора Цинмао · смертный · класс А) либо знания конвенции пары/владельца. Это сужение посылки гипотезы консилиума, полученное $0.
A3. Related/containmentRelations — обрезка на ПЕРВЫЕ 4 по алфавиту — «хрупко» (минор)
terminology.go:242-256: скан отсортированных mined-ключей, break на 4 — выбор лексикографический, не
по релевантности; для 蛊 с 14 родственными поверхностями показанные 4 произвольны. Заявка «контекст для
человека и модели, не индекс» честна, но выбор ЭТИХ четырёх ничем не мотивирован. Форма: тот же cap, но
по числу общих рун (механика веса уже написана в CanonFor, terminology.go:714-765). Нужность —
низкая, пока A1 не построен; вместе с кластер-каналом закрывается сама.
A4. Однопроходность: внутри-прогонные противоречия консолидаций не проверяет НИКТО — «слепо», $0-фикс-кандидат
- Канон читается один раз ДО всех батчей (
terminologist.go:284); решения батча i невидимы батчу i+1. CanonConflictsсверяет консолидации только с ПОДПИСАННЫМ банком (terminologist.go:335,terminology.go:787-812). Пара свежих консолидаций, противоречащих ДРУГ ДРУГУ (蛊师 ⊂ 一转蛊师 с потерянной головой; 空窍→«кунцяо» при 开窍→«открытие точки»), не проверяется ничем — хотя весь механизм (containment + lexemeSubset) уже написан строк на 20 выше. На автономном курсе (D39.59/67: подпись опциональна) подписанных строк ноль и деterministic-рубеж связности ПУСТ.- Вердикт-тройка: посылка — курс на автономность делает канон-якорь пустым на самом важном прогоне
(первом); нужность — прямая (это second-half дефекта A1); форма — прогнать СУЩЕСТВУЮЩИЙ
CanonConflictsпо парам consolidated×consolidated ($0, чистая функция) против альтернативы «второй платный проход само-ревью» (платный, не детерминированный).
A5. foldVariants фолдит только байт-идентичные dst — частотный фактор дробится об орфографию — «хрупко»
terminology.go:222-237. «лунный гу ×2» + «Лунный гу ×1» + «гу лунного света ×1» считаются разными
вариантами; §C2-3 видит осколки, а не конвенцию (живой пример — 月光蛊, spread=7 при фактических ~4
конвенциях). Реальную частоту конвенции не видит ни скоринг, ни владелец в колонке spread. Форма: голос
считать по НОРМАЛИЗОВАННОЙ цели (casefold + ё/е + схлоп дефис/пробел), поверхности показывать сырыми;
альтернатива «оставить как есть» завышает spread и раздаёт частотный фактор случайно.
A6. KWIC: сэмплинг = ПЕРВЫЕ N вхождений — смещение к началу книги — «слепо»; плюс строка 37 «дорого»
kwicFor берёт первые maxPer вхождений в порядке (chapter, chunk) (terminology.go:308-329) — термин,
чей смысл раскрывается/сдвигается поздно, показан ролью только ранними контекстами. Замер D39.50
(«3×40 достаточен, не пере-открывать») мерил РАЗМЕР сетки подача×ширина, не СТРАТЕГИЮ сэмплинга —
ось «первые-N против стратифицированных по книге» не мерена никем (не пере-открываю размер, называю
ось). Плюс подтверждена квадратичность строки 37: скан всех чанков на кандидата, window() пересчитывает
руны префикса на каждом вхождении (terminology.go:332-346); multi-pattern автомат уже есть в репо
(membank/memory.go:872-918) — переиспользовать, не писать новый.
A7. Наблюдаемость арбитража: «почему у терма такой dst» сегодня НЕОТВЕТИМО — «слепо», гейтит любой будущий арбитраж
Variant.Signals— аудит-трейл §C2-3 (terminology.go:86) — вычисляется и ВЫБРАСЫВАЕТСЯ: в стоп-таблицу идут только «dst ×N» (mining.go:256-270), Signals не читает ни один потребитель.reasoning_contentтерминолога не персистится нигде (grep поllm/+store/: единственное вхождение — док-комментcapability.go:63); чекпойнт хранит только content.- Сочинённый вне улик dst (10–15/75 по D39.65) не флагуется: колонки «dst ∉ вариантов черновиков» нет — а это $0-предикат по уже собранным данным.
- Итог: оператор видит «вот варианты, вот финал»; связать финал с уликой, контекстом или хотя бы фактом «финал изобретён вне улик» нельзя. Любой будущий консилиум/рецензент, чей выход тоже не будет трассируем, умножит эту слепоту, а не вылечит.
A8. Эмиссия (переквантифицировано голдом, чинить НЕ порогом): банк-автоном не видит 15% подписанного канона
8 из 53 подписанных термов вообще отсутствуют в BANK-FULL: 蛊 (голова книги — строка 18, сид-половина) · 修炼/修行 (класс term, recall 0.040 — D39.43/50, расширение закрыто механизмом) · 资质 · 长生 · 江牙 · 月影蛊 · 血颅蛊. Ничего нового против D39.50 — но это ЧИСЛО стоит держать рядом с любым разговором о качестве арбитража: у лучшего арбитра нет строк, которых нет.
A9. Инжект-сторона: точечные наблюдения
- Бюджет режется ПРЕФИКС-катом (
memory.go:615-628): первая переполнившая строка обрезает всё после себя, включая короткие строки, которые влезли бы. Порядок приоритетный, страдает наименее доверенный хвост — «дорого» в мягкой форме, недозаполнение шире необходимого. Минор. - Sticky-глубина 2 со сбросом на границе главы (
memory.go:112) — местоименная сцена глубже двух чанков теряет канон; осознанный дизайн, как дефект не измерен. - Двухсекционная инъекция: приор промта подтверждён — замера «⟨проверить⟩ читается мягче закона» не существовало (тесты пинят байты рендера, не поведение модели). Проба C этого пака — первый замер (транслятор-провод; редакторский провод остаётся немеряным — см. критик полноты).
- Пост-чек
mempostcheck.go— честный флаггер: decl-aware, sticky исключён, известный recall-класс назван в доке (mempostcheck.go:160-176). Дефектов сверх записанного не нашёл.
A10. Банкнота: форма верная
Невоспроизводимость (Жаккар 0.077–0.40) компенсируется агрегацией по ВСЕМ прогонам с голосами по чанкам
(banknote.go:470-505), суперседед-ответы включены осознанно; порядок колонок восстанавливается
инвариантом засвидетельствованности. Дефектов сверх записанного не нашёл.
§B. Арбитраж: голд · базисы · формы консилиума · уверенность
B1. Голд-набор и его смещение ($0)
Сборка: eval/bank_arbitration/build_gold.py → gold/gold.jsonl (провенанс на каждой строке).
Ядро = сид v2 (~/books/gu-zhenren/guzhenren-seed-v2.yaml): 53 записи status:approved с подписанным
dst. Джойн по нормализованной поверхности (src + алиасы) против банка coldrun-a (BANK-FULL.tsv 150
поверхностей + KWIC/варианты из bank-stop таблицы):
- 45 из 53 в банке; из них 34 со spread≥2 (есть из чего выбирать).
- 8 не в банке — и это ровно известные дыры эмиссии, переквантифицированные голдом (§A8): 蛊 · 修炼 · 修行 · 资质 · 长生 · 江牙 · 月影蛊 · 血颅蛊.
Смещение, честно: (1) сид = термы, до которых у владельца дошли руки — сдвиг к важным и уже спорным; (2) сид писался ПОСЛЕ прогонов exp13–16, часть подписей могла быть сформулирована при виде машинных вариантов — «независимость» голда от машинного словаря неполная; (3) один голд — одна книга одной пары; (4) термы с «вкусовым» dst (класс А/Б/В/Г; Монах Цветочного Вина) недостижимы для модели без брифа — это не дефект голда, а свойство задачи (D39.47), но долю таких строк надо помнить при чтении точностей. Мини-голд алиасов §E-1 research/20 в этот голд НЕ входит (запрос владельцу — §Вопросы).
B2-предварительное. Бесплатные базисы против голда ($0, score_baselines.py)
| Базис | Точность | Комментарий |
|---|---|---|
| P0 — топ-вариант §C2-3 (ранжирование движка, колонка BANK-FULL) | 12/45 | бесплатный детерминированный базис БАР-(в) |
| P1 — сведённый dst терминолога coldrun-a (до-катоверные веса) | 18/45 | парно к P0: +7/−1 — платная консолидация УЖЕ бьёт формулу |
Анатомия 27 промахов P1 (все единицы вскрыты в сырье скрипта):
- 8 промахов = ОДНА конвенция 古月 («Гу Юэ X» против подписанного «Гуюэ X» одним словом — правило Палладия для составной фамилии, ср. Сыма/Оуян; лежит в note сида). Кластерный дефект A1 в деньгах.
- 4 промаха = серия 等 («класс Цзя»/«ранг И»… против «класс А/Б/В/Г») — серийная несвязность + выбор регистра владельцем; подписанного ответа НЕТ ни в одном черновом варианте.
- Остальное — класс «слишком китаизированно»/реалия-транслит (空窍→кунцяо · 元海→Юаньхай · 真元→чжэньюань · 元石→юаньши · 青茅山→Цинмаошань · 花酒行者→Хуацзю Синчжэ …) + лексические выборы (凡人 · 困境 · 炼化).
- Ключевое число: только у 5 из 27 промахов верный dst вообще ЛЕЖАЛ в вариантах черновиков. ⇒ потолок ЛЮБОЙ формы «выбери из предложенного» = 17/45. Селекционные консилиумы («модели голосуют по вариантам», «скор выбирает победителя») упираются в потолок ДО вопроса о калибровке. Верный dst чаще требует генерации по контексту или знания конвенции пары/владельца.
- Оговорка адверсариального прохода: несправедливо засчитанных промахов 0 — нормализация уже фолдит регистр/ё/кавычки; единственная нефолдженная ось (пробел слитно/раздельно) НЕСЁТ подписанное решение владельца в обе стороны (古月→«Гуюэ» слитно, но 人祖→«Жэнь Цзу» раздельно), фолдить её нельзя. Если бы владелец когда-нибудь объявил эту ось неканоничной, P1 поднялся бы до 26/45 — сид фиксирует обратное.
B3. Формы консилиума против базиса (платные пассы; критерии §0)
Все пассы прошли начисто: 30+5 вызовов, каждый finish=stop, отказов и пустых тел ноль; эффорты в
таблице §0 (deepseek reasoning_effort:"low" — печатаю явно: на вендор-дефолте high бэнк-вызовы
покупают пустое, D39.86). Ответы всех пассов — 63/63 строк, парсер потерь не зафиксировал.
| Форма | Точность | Против P0 (парно) | Комментарий |
|---|---|---|---|
| P0 базис §C2-3 | 12/45 | — | ни одного термина, где P0 прав, а любая свежая форма неправа |
| P1 прод coldrun-a | 18/45 | +7/−1 | старые веса, era-конфаунд (см. критик полноты) |
| S1 deepseek-соло (low) | 20/45 | +8/−0 | |
| SC = 3× та же модель | 20/45 | +8/−0 | +0/−0 против S1 — само-согласованность не покупает ничего |
| C3 совет 3 семейств | 23/45 | +11/−0 | против SC: +3/−0 — ровно на пороге критерия 2 |
| C3conf взвешенный | 23/45 | +11/−0 | +0/−0 против C3 — веса из уверенности не двигают ничего |
| E1 улики-первым | 22/45 | +10/−0 | −1 против C3; создал химеру (см. B4) |
| glm-5 соло | 25/45 | лучший одиночка выше лучшего совета | |
| mistral-соло | 23/45 | ||
| grok-4.3 соло | 12/45 | худший — на уровне бесплатного базиса | |
| C4 = совет 4 семейств | 20/45 | добавление слабого члена УРОНИЛО совет 23→20 |
Вердикты по критериям §0:
- БАР (в) пройден — но не консилиумом, а СВЕЖЕСТЬЮ: уже одиночный deepseek на low бьёт базис +8/−0. Честная формула: «платная генеративная консолидация по KWIC бьёт бесплатную формулу» — это пере-подтверждение D39.65 (роль = эффективный консолидатор), теперь с голдом и знаком КАЧЕСТВА, которого у D39.65 не было.
- Q2 (окупаются ли семейства): формально +3 = порог, содержательно — НЕТ. Все три добычи C3 против SC — строки ОДНОЙ конвенции 古月 (glm+mistral переголосовали deepseek «слитно»). Это не три независимых выигрыша, а один кластерный. При этом: лучший одиночка (glm 25/45) > лучший совет (23/45); совет из 4 хуже совета из 3 (grok тянет к «Гу Юэ» и на паритетах ломает большинство); C3conf ≡ C3. Равноправный совет как прод-механизм закрыть; что остаётся жить — рецензент/эскалация спорных КЛАСТЕРОВ вторым семейством (замер Q2 строки 5 — см. §D).
- Уверенность (B2-под-проба): числовая самооценка РАЗДЕЛЯЕТ внутри модели — AUC ds 0.770 (CI90 0.656–0.879) · glm 0.851 (0.742–0.947) · mistral 0.825 (0.719–0.915); критерий «≥0.70 и CI>0.5 у ≥2 моделей» ВЫПОЛНЕН. Словесная шкала хуже числовой: AUC 0.630 (0.556–0.704), ΔAUC≈0.14 ≥ 0.05. Устойчивость: медиана размаха conf между тремя повторами 10 п., флипов ответа 9/45. НО: (а) все модели тотально overconfident — средняя conf 87.7–90.1 при точности 44–56%: как ВЕРОЯТНОСТЬ шкала не значит ничего, работает только как РАНГ внутри одной модели; (б) средние шкал между моделями совпали (Δ<3 п.) при РАЗНОЙ точности ⇒ одинаковое число ≠ одинаковое качество. ⚠ Пре-рег-метрика сравнимости (|Δ средних| > 20) при этом НЕ сработала — она слепа ровно к этому случаю «одинаково overconfident при разной точности»; вывод «сырой кросс-модельный скор как решающее правило запрещён» — ПОСТ-ХОК уточнение неудачной операционализации, и держится он на пре-зарегистрированной ФОРМЕ C3conf, которая дала +0/−0 делом; (в) согласуется с литературой (Kadavath 2022 · Tian 2023 · «Overconfidence is Key» 2024 — см. §D-индустрия). Форма жизни уверенности: ordinal-очередь ревью, не арбитр.
- Канал отказа: ⟦TM-NO-DST⟧ = 0 использований во всех 7 пассах — модели никогда не отказываются. Оговорка субстрата: D39.50 мерил размах сентинела на ХВОСТЕ расширенной эмиссии; наш субстрат — банк-строки голда, так что пере-подтверждена половина приора («роль всегда отвечает строкой»), не весь.
B4. Кластерная связность (возражение §4 промта — проверено)
Три семьи с голдом: 古月 (8 строк, разнодлинная — DetectSeries НЕ видит), серии 转 и 等 (равнодлинные — видит и со-батчит; в пробе со-батчены по форме движка):
| Семья | P1 (прод) | S1 (соло) | C3 (совет) | E1 (улики-первым) |
|---|---|---|---|---|
| 古月 | консистентна («Гу Юэ» — раздельно, ПРОТИВ подписи) | ХИМЕРА (4׫Гу Юэ» + 4׫Гуюэ») | консистентна («Гуюэ» = подпись) | консистентна |
| 转 | консистентна («ранг») | консистентна | консистентна | ХИМЕРА («оборот»+«ранг») |
| 等 | ХИМЕРА («класс Цзя»/«ранг И» — дефект D39.65) | консистентна («уровень X», мимо голда) | консистентна | консистентна |
- Химера S1 на 古月 воспроизведена ПРИЧИННО на границе батча: семья разрезана батчами 0 и 2 (ключ-сортировка дала смежность, но пакер разрезал), и deepseek дал «Гу Юэ» ровно членам батча 2 и «Гуюэ» ровно членам батча 0. Это дефект класса D39.65 строка 21 (甲等→«класс»/乙等→«ранг» через границу батча), повторённый на СЕМЬЕ, которую серия-детектор не со-батчит. Механизм лечения известен и уже ратифицирован для серий (§1 D39.69) — его надо расширить на семьи (§D п.1).
- E1 создал химеру там, где ВСЕ голосующие консистентны: для неспорного 一转 E1 взял P0-топ «первый оборот», для спорных членов — советское «ранг». Честно к пре-регу: критерий 4 §0 буквально зарегистрирован для C3 — и у C3 он НЕ сработал (совет химер не создал); химеру дала по-терминная МАРШРУТИЗАЦИЯ E1 — тот же класс дефекта, шире зарегистрированного носителя. Содержательный вывод стоит на E1-факте: любой роутинг (какому арбитру отдать строку) обязан быть кластерным, не построчным — иначе он ломает серию так же, как по-терминный argmax.
- Совет химер не создал (модели внутренне консистентны и согласны 2:1 в одну сторону на всех строках семьи) — и один раз химеру ПОЧИНИЛ. Опасность совета — не химера, а систематически неверная конвенция при согласии слабых членов (C4: grok+deepseek-батч-2 давали «Гу Юэ»-большинство на части строк).
B5. Стоимость в терминах КНИГИ (обязательство §4 промта)
Измеренные цены пассов на 63-термовом голд-ростере (5 батчей, engine-faithful): deepseek-low ≈ $0.0063/пасс (среднее трёх; медиана $0.0068) · glm-5 $0.0185 · mistral $0.0128 · grok $0.0265. Пер-терм: ds ≈ $0.0001 · glm ≈ $0.0003 · mis ≈ $0.0002 · grok ≈ $0.0004.
Допущение о словаре (названо): книга 1000 глав ≈ 1000–3000 РАЗЛИЧНЫХ банк-строк (насыщение по Хипсу; стенд: 10 глав → 150 эмитированных при cap 200; альфавит кандидатов книги 13 246 — но эмиссия капится). На 2000 строк:
| Механизм | $ на книгу 1000 глав |
|---|---|
| Терминолог-соло (сегодня, low) | $0.20–0.60 |
| + серия/семья-со-батч + intra-run чек + наблюдаемость (§D п.1–3) | то же + центы |
| Совет 3 семейств полный | $1.2–3.6 |
| Рецензент спорных кластеров (2-я модель, доля спорных 50% по BANK-FULL) | $0.5–1.5 |
| Инжект-ось (для сравнения): ≤800 ток/чанк × ~4600 чанк-вызовов двух волн | ≤$0.5–2 инпут-токенов ГРАНИЦА СВЕРХУ (реальный блок много меньше потолка; кэш удешевляет) |
Рабочая гипотеза промта «в арбитраже можно покупать расточительно, в инжекте каждая строка платная» подтверждается НАПОЛОВИНУ: оси действительно разные (арбитраж насыщается, инжект рекуррентен), но на сегодняшних flash-ценах и 800-токовом потолке они СОИЗМЕРИМЫ ($ единицы за книгу и там и там), порядки разойдутся только на дорогих моделях/больших потолках. Расточительность в арбитраже дёшева — но §B3 показал, что покупать расточительно НЕЧЕГО: совет не приносит.
§C. Инжект/фетч: послушание и вред (проба C, $0.0097)
6 окон источника (500–570 симв., 2–6 голд-термов каждое, разнесены по главам) × 4 арма ×
deepseek-flash-low, temp 0, формат движка байт-близко (блок = glossary_header + «src → dst»,
инъекция вторым system-сообщением — MessagesWithInjection, render.go:246-262). 24 вызова, все stop.
| Арм | Верные строки: dst в выходе | Неверная строка: WRONG в выходе |
|---|---|---|
| A без инъекции | 9/21 (43%) — спонтанное совпадение с каноном | 0/6 |
| B верный закон | 20/21 (95%) | 0/6 |
| C НЕВЕРНАЯ строка законом | 20/21 (по верным) | 6/6 (100%) |
| D та же строка с ⟨проверить⟩ | 21/21 (по верным) | 6/6 (100%) |
Вердикты по критериям §0 п.5:
- Инъекция — мощный управляемый рычаг: 43% → 95% следования канону. Рычаг есть; recall банка (0.918, D39.58) не был продуктовой метрикой — вот продуктовая.
- Вред симметричен и тотален: неверная строка законом принимается 6/6. В 5 из 6 окон неверный вариант ПОЛНОСТЬЮ вытеснил верный (единственное исключение — w1 真元, где модель употребила оба). Доктрина «банк обязан приходить верным автономно» (D39.59/67/77) получает цену ошибки числом: каждая неверная строка банка = ~100% заражение всех чанков, где терм встречается.
- Маркер ⟨проверить⟩ на транслятор-проводе НЕ смягчает ничего: Δ послушания = 0 п.п. (6/6 против 6/6; критерий дефекта «<10 п.п.» сработал). Заявленная семантика «неподтверждённый кандидат» байт-честно доезжает до провода и поведенчески НЕ отличается от закона. N=6 — интервал широкий (точечная оценка 100%, нижняя граница 61%), но нулевую дельту на этом N не отличить от малой — а вот от «смягчает вдвое» уже отличить можно.
- Оговорка: это ТРАНСЛЯТОР-провод (черновая волна). Редакторский провод (двухсекционный
RenderEditorConstraintBlockс «вправе перевести иначе») НЕ мерен — см. критик полноты. Фетч-сторону (Select/precision) не трогали: recall уже измерен, эмбеддинг-ретривал закрыт D39.69 и данными этой сессии не реоткрывается.
§D. Рекомендации (Работа D) — инженерно, тремя корзинами
Сначала индустриальная рамка (веб-обзор этой сессии, 7 направлений, источники с URL в сырье агента; ключевые: DelTA ICLR'25 · CRAT · DITING/AgentEval'25 · WMT24-Literary zh→ru · WMT25-Terminology findings · Kadavath'22/Tian'23 (калибровка) · TBX ISO 30042/MQM/memoQ · Netflix KNP · Bergmanis&Pinnis EACL'21):
- Индустриального стандарта «как арбитрировать перевод ТЕРМИНА» не существует. MBR/COMET/QE-метрики тренированы на предложениях и документированно слепы к именованным сущностям — к короткой строке неприменимы; word-level QE требует своей разметки. Человеческая индустрия (TBX/memoQ/Netflix KNP) решает это ПРОЦЕССОМ (роли+статусы+трассировка), автоматического арбитра ни у кого нет.
- Наш дизайн на фоне академии не отстаёт, а опережает: ближайший аналог банка — DelTA (proper-noun records) — использует «первый перевод фиксируется», что мы опровергли у себя же (first-occurrence-тест D39.69); наш скоринг+терминолог строго сильнее. Пропущенных «стандартов харнессов» обзор НЕ нашёл.
- Что индустрия ЗНАЕТ, а мы ещё нет (входы в корзины ниже): негативный слой термбазы (deprecated/forbidden, TBX) · лемма-инъекция/лемма-верификация для морфологически богатой цели (Bergmanis&Pinnis: +47.7 п.п. term accuracy на латышском; у нас decl-half уже есть) · причинный A/B «no/proper/random glossary» как штатная самопроверка ценности банка (WMT25) · эскалация только спорных с двумя оценщиками и арбитром (AgentEval) · вербализованная уверенность = ordinal внутри модели, никогда кросс-модельно (Kadavath/Tian — наш замер §B3 п.3 совпал с литературой точь-в-точь).
Корзина 1 — СТРОИТЬ СЕЙЧАС (дёшево, детерминированно, под измеренную нужду)
- Кластер-канал «семья по общей морфеме» в со-батчинг (лечит §A1; основание: химера 古月
воспроизведена причинно на границе батча — §B4; серия-со-батч уже доказал лечение — D39.65/D39.69 §1).
Форма: детект «≥K поверхностей делят морфему из ≥N рун» БЕЗ транзитивного замыкания, голово-стороннее
правило из
script-series.txt-данных (пара без данных — инертна; ревью-вопрос общности проходит). Фолд-цена: меняется состав батчей → перекупка батчей бэнк-ролей (центы), волны/снапшоты не двигаются. - Intra-run чек связности:
CanonConflictsпо парам consolidated×consolidated (лечит §A4; $0, чистая функция уже написана, нужен второй вызов + WARN/колонка в стоп-таблице). Фолд: нет (evidence). Ценность промерена на живом банке (value_demo.py): 18 невидимых сегодня противоречий на 149 финалов coldrun-a (12%) — 空窍→«кунцяо» при 开窍→«открытие точки», 元海空窍→«полость Юаньхая» при 元海→«Юаньхай», 四代族长 без «главы клана» и т.д. - Наблюдаемость арбитража (лечит §A7): (а) печатать
Variant.Signalsв стоп-таблицу; (б) колонка «invented» = dst ∉ вариантов черновиков ($0-предикат; D39.65 мерил 10–15/75 вручную — станет бесплатным счётчиком); (в) колонка conf терминолога (см. п.4). Фолд: нет. - Уверенность как ordinal-очередь ревью (основание §B3 п.3: AUC 0.77–0.85 внутри модели, повтор
стабилен ±10 п.): третье поле в ответе терминолога, в стоп-таблице сортировка «сначала неуверенное».
ЗАПРЕЩЁННАЯ форма зафиксирована: кросс-модельное сравнение и «скор решает» (C3conf: +0; шкалы
overconfident ~88 при точности ~50%). Фолд: правка промпт-файла = PromptSHA256 → перекупка батчей
терминолога один раз. ⚠ Ловушка реализации:
ParseReplyсегодня джойнит ВСЁ после первого поля в dst (terminology.go:885— защита от двойного пробела в имени) — числовой хвост-уверенность надо снимать ДО джойна, иначе conf молча въедет в dst и пройдётwellFormedLemma. - Голос §C2-3 по нормализованной цели в
foldVariants— ПОНИЖЕНО до косметики после замера (value_demo.py): частотный топ честно сдвигается лишь у 1/75 строк со spread≥2 (первая версия замера давала 38 — ловушка тай-брейка, поймана самопроверкой). Реальная ценность — честная колонка spread для владельца (сегодня 月光蛊 показывает spread=7 при ~4 конвенциях), не качество выбора. Делать заодно с п.3, отдельного касания не стоит.
Корзина 2 — ИЗМЕРИТЬ ПРЕЖДЕ ЧЕМ РЕШАТЬ
- Рецензент-второе-семейство на СПОРНЫХ КЛАСТЕРАХ (наследник Q2/строки 5; это НЕ равноправный совет — тот закрыт корзиной 3). Числа этой сессии — вход: glm-соло 25/45 лучший; спорных 50% полного банка; роутинг обязан быть кластерным (E1-химера, §B4). Замер добора: рецензент только на кластерах с несогласием/низким conf, счёт «чинит/ломает/цена» против терминолог-соло. Слот при ре-пробе 74 уже ратифицирован (D39.70 Q2, D39.79 п.6). Инвариант §0 п.4 — явно, как требует промт: выход рецензента — та же draft/⟨проверить⟩-эмиссия и колонка несогласия в стоп-таблице; согласие двух моделей НЕ поднимает статус и НИЧЕГО не утверждает — эмиссионные ветки auto/draft не трогаются.
- KWIC-сэмплинг: первые-N против стратифицированных по книге (§A6; ~$0.02 на харнессе этой сессии; размер сетки НЕ пере-открывать — D39.50).
- Причинный A/B банка по-WMT25 (no/proper/random) на первой edit-волне добора идеала — цена/вред банка на продуктовой метрике; random-арм у нас теперь откалиброван пробой C (вред 100% на транслятор-проводе — ждём цифру редакторского контура).
- Редакторский провод двухсекционки (§C-оговорка): та же проба на editor.md с CONFIRMED-секцией против «вправе перевести иначе»-секции. Если и там Δ≈0 — вся конструкция «неподтверждённое С ПОМЕТКОЙ» (D39.42 п.3) стоит на несуществующем поведенческом различии, и это вопрос владельцу уровня доктрины.
- Негативный слой (TBX deprecated/forbidden): $0-замер на coldrun-финалах — как часто отвергнутые варианты подписанных термов рецидивируют в выходах; ненулевой поток → дешёвый линт по леммам отвергнутых форм (дом — существующий пост-чек, не новый механизм).
- Конвенция составных фамилий (Палладий: слитно) как данные пар-промпта терминолога/классификатора: дата-правка, чинит 8/45 голд-строк «бесплатно» (glm/mistral уже следуют ей сами). Замер: N составных фамилий на второй книге пары до/после. ⚠ это ПАР-ПРАВИЛО транскрипции (класс Z-B3-узкого правила, ратифицированного), не жанровый словарь — D39.47 не задет; подтверждение владельца всё же спрошено (§Вопросы), потому что «Гуюэ» стоит в его подписи, а не в нашем правиле.
Корзина 3 — ЗАКРЫТЬ ПО НУЖНОСТИ (все — числами этой сессии)
- Равноправный консилиум N семейств как прод-механизм — прирост к SC = одна конвенция (+3 строки одного кластера); лучший одиночка (25/45) > лучший совет (23/45); C4 хуже C3 (слабый член вычитает); цена ×3–5. Гипотеза владельца «консилиум без голоса» на этих данных НЕ окупается.
- Взвешенный арбитраж кросс-модельной уверенностью — C3conf ≡ C3 (+0/−0); шкалы overconfident и несравнимы между моделями (наш замер + литература). Закрыть как решающее правило (ordinal-очередь — корзина 1 п.4 — живёт).
- Само-согласованность «одна модель N раз» — SC−S1 = +0/−0 при 9/45 флипах: разброс есть, информации в нём нет. (thinking-режим DeepSeek игнорирует temperature — управляемой вариативности для self-consistency-ансамбля просто нет.)
- Селекционный арбитраж (« выбери лучший из вариантов черновиков») — потолок 17/45 по построению (§B2), закрыть классом, не формой.
- Канал отказа/⟦TM-NO-DST⟧ как сигнал уверенности — 0 использований на 7 пассах × 3 семействах; D39.50 пере-подтверждён. Строить на отказе нечего.
- Эмбеддинг-фетч — закрыт D39.69; наши данные (recall не мерили, послушание уже 95% на точном матче) реопен-условия не создают.
Обязательные оси §6 промта, не закрытые корзинами выше
- Холодный старт против накопленного банка: все пробы этой сессии — холодные (канон-якорь пуст, как в автономном первом прогоне). На накопленном банке появляется ⟦TM-CANON⟧ и фактор соседей — механика «дозревания» (подписанная строка чинит соседей через якорь) НЕ мерена никем; вход в замер добора идеала: та же проба с непустым каноном.
- Вторая пара (ja→ru): не двигается этими данными; не-CJK-детектора нет (строка 35) — кластер-канал
корзины 1 обязан прийти данными (
script-series.txt-класс), не Go-веткой, тогда пара без данных инертна и ревью-вопрос общности проходит. - Серийный шаринг банка (48а/48б): не двигается; заметка — экспортируемый сид-YAML уже несёт конвенции (Гуюэ-класс) в следующую книгу серии, то есть шаринг = ещё один канал доставки конвенций, усиливающий довод корзины 1 п.11.
Свободная критика (процессное правило №4 — куда на самом деле смотрит качество банка)
Гипотеза владельца проверена и в своей сильной форме («равноправный совет», «уверенность решает») НЕ подтверждена. Но проверка показала, где качество банка лежит на самом деле, числами:
- Достоверность строк важнее арбитража формы — инъекция исполняется на 95% и заражает на 100%; один неверный dst = все чанки терма. Дешевле всего чинится КЛАСТЕРНЫМИ решениями (8/45 одной конвенцией) и наблюдаемостью (invented/conf/Signals), а не советом.
- Reachability: 8/53 подписанных термов банк вообще не видит (включая головной 蛊) — лучший арбитр бессилен без строки. Сид-половина строки 18 и Q7-замер стоят выше по рычагу, чем любой консилиум.
- Пометка ⟨проверить⟩ поведенчески пуста на транслятор-проводе — «худшее, что может сделать плохой вызов» (инвариант §0 п.4) на практике равно «положить неверный канон в книгу до подписи». Это усиливает и доктрину автономной верности банка, и цену п.1.
- Владельческий регистр («класс А/Б/В/Г», «Монах Цветочного Вина») автономно недостижим ПО ПОСТРОЕНИЮ (D39.47 прав) — доля таких строк в голде ≈ четверть промахов; единственный канал их доставки — сид/бриф/шаринг серии, и никакой арбитраж это не изменит.
Вопросы владельцу (короткий список)
- Мини-голд алиасов (§E-1 research/20, висит с 17.07): для кластер-канала корзины 1 он полезен, но не гейт. Если делать — конкретный запрос: подписать алиас-поверхности сущностей слайса-25 по списку, который сгенерит код (~20–30 мин, метод уже описан в research/20 §E-1). Решение: делать/нет?
- Конвенция составных фамилий (корзина 2 п.11): подтвердить, что «Гуюэ слитно (ср. Сыма, Оуян)» — ПАР-норма транскрипции Палладия, а не вкус этой книги. Если да — дата-правка пар-промпта (батчи терминолога перекупятся один раз, центы). Если это вкус книги — канал доставки только сид, правка не делается.
- Двухсекционка редактора (корзина 2 п.9): санкция на ~$0.05-пробу редакторского провода. Если и там Δ≈0 — доктрину «неподписанное С ПОМЕТКОЙ» надо будет пере-обсуждать (сегодня она защищает меньше, чем записано).
- Сводный: корзину 1 (пп.1–5, $0-код + центовые перекупки батчей) — передавать бэкенду одним фикс-паком по образцу D39.71?
Критик полноты (против себя)
- Один голд, одна книга, одна пара, 45 строк. Все точности — с широкими интервалами (±14 п.п.); парные сравнения честнее точечных, но 古月-кластер коррелирует 8 строк — эффективный N меньше номинального. Кросс-книжная воспроизводимость не проверена.
- Era-конфаунд P1: прод-референс — терминолог на ДО-катоверных весах; S1−P1=+2 может быть весами, а не свежестью. На вывод «совет не окупается» не влияет (сравнение C3↔SC↔S1 — одна эра), на «свежий соло бьёт прод» — влияет, оговорено.
- Пробы — только холодный старт (без канон-якоря); поведение с непустым ⟦TM-CANON⟧ не мерено.
- Проба C: N=6 неверных строк, один транслятор, один арм-порядок. Редакторский провод не мерен вовсе. Вред 100% — точечная оценка с нижней границей 61%.
gro1 видел на один терм больше— оговорка СНЯТА адверсариальным раундом 2 пере-проверкой сырья: все 7 пассов видели идентичный 63-термовый ростер (二转 лёг в ростер ДО старта процесса пассов;### 二转стоит в батче 3 каждого пасса, 63/63 ответов у всех). Ранняя версия оговорки опиралась на память сессии, а не на сырьё — ошибка была консервативной (ослабляла выводы зря).- Словесная шкала уверенности мерена на одной модели (deepseek); вывод «числа > слова» — внутри-deepseek-овый.
- Кластерные метрики — 3 семьи; регистры обращений и алиас-графы (два других класса из §4 промта) голдом не покрыты — мини-голд алиасов (вопрос 1) закрыл бы третий.
- E1-правило «спорный» — одно из возможных; не тюнил и не перебирал (пре-рег), химера E1 может быть свойством именно этого правила; вывод «роутинг обязан быть кластерным» от этого не зависит (химера возникает у любого правила, режущего семью).
- Инжект-смета книги — верхняя граница по потолку 800 ток.; фактический размер блока на живой книге не считан.
Адверсариальный проход (author≠reviewer)
- Раунд 1 (до платных выводов): два независимых агента-скептика. Кодовый: 7/7 клеймов §A
CONFIRMED с file:line (один нит — механика равной длины серий живёт в
series.go:46-66, а не только 37-42; принято). Голд-скептик: числа воспроизведены пере-раном байт-в-байт; гипотеза «промахи несправедливы из-за нормализации» ОПРОВЕРГНУТА (0 несправедливых; ось пробела несёт подпись владельца в обе стороны — Гуюэ слитно, Жэнь Цзу раздельно); джойн сида чист (пере-джойн точным равенством дал тот же сплит 45/8); порядок вариантов BANK-FULL = §C2-3-ранжирование (байт-сверка со стоп-таблицей, 150/150). - Раунд 2 (по готовому отчёту, платные выводы §B/§C): два независимых агента (числа · логика/комплаенс). Числовой: все 11 точностей форм, все парные сравнения, AUC с CI (бутстрап сидирован — до 3-го знака), устойчивость, вся таблица пробы C и деньги до 6-го знака — CONFIRMED пере-раном; корреляция химеры S1 с границей батча подтверждена ШИРЕ голда (ds1-b0: все 6 членов слитно, включая не-голдовые 古月藻榭/古月陈博; ds1-b2: все 7 раздельно). Поймано и вправлено этим же лендингом: (1) «3×Гу Юэ» → 4× (счёт семьи); (2) ячейки 等-серии печатались скриптом как химера из-за грубого фильтра голов — метрика починена (голова = первое не-числительное слово), скрипт теперь печатает ровно таблицу §B4; (3) «медиана» → «среднее» у цены ds-пасса. Логический: пре-рег-комплаенс критериев 1/5 — буквальный; расхождение «порог +3 формально пройден, а совет закрыт» признано ЧЕСТНЫМ (вскрытие единиц обязательно по норме, коррелированный кластер 8 строк ≈ эффективный N~1 — и это уже стояло в тексте); критерий 4 переформулирован честно (сработал у E1, не у зарегистрированного C3); правило сравнимости шкал помечено пост-хок уточнением; оговорка про gro1/二转 ОПРОВЕРГНУТА сырьём и снята; инвариант «терминолог не может утвердить» рекомендациями §D не нарушен (проверено по-пунктно), к п.6 корзины 2 дописана явная draft/auto-клауза; чужие зоны не тронуты (git status: только свои файлы + PROGRESS-секция по мандату).
Заявление = команда (приёмка пере-ранит)
Все скрипты — eval/bank_arbitration/, питон eval/.venv/bin/python3:
| Число | Команда |
|---|---|
| 53/45/8, голд | build_gold.py |
| P0 12/45 · P1 18/45 · 27 промахов · 5-в-вариантах | score_baselines.py |
| пассы ds/glm/mis/dsw | consilium_probe.py --passes ds1,ds2,ds3,dsw,glm1,mis1 (+ retry_mis_b4.py после 429) |
| grok-пасс | consilium_probe.py --passes gro1 |
| формы S1/SC/C3/C3conf/E1, AUC, кластеры, деньги-2-путь | arbitrate.py |
| серии BANK-FULL · spread≥2 50% · соло-точности · C4 · деньги | extras_checks.py all |
| проба C: прогон / счёт | inject_probe.py / inject_probe.py --score |
| A4-демо 18/149 · A5-демо 1/75 | value_demo.py |
| §E ja/en: прогон / счёт | multilang_probe.py / multilang_probe.py --score |
| §F: прогон / джойн 45 пар | crosslang_bank.py --part all / python -c "from crosslang_bank import score_f1; score_f1()" |
Сырьё (полные тела запросов/ответов, usage, цены): ~/books/gu-zhenren/bank-arbitration/*.json —
35 файлов консилиума + 24 инжекта. Провенанс голда — поле provenance каждой строки gold.jsonl.
§E. Достройка по вопросам владельца 04.08 (пре-регистрация ДО запуска — здесь; результаты ниже)
Вопрос владельца: «не слишком ли подвержен влиянию zh→ru пары? на диске есть ja и en книги».
Признание честное: ВСЯ эмпирика §B/§C — одна пара. Два самых переносимых вывода до-меряются на
isekai_majutsushi_jp.txt (ja→ru) и fifty_shades_1_en.txt (en→ru), multilang_probe.py, deepseek-low:
- E-inject (2 ja-окна + 1 en-окно × 4 арма A/B/C/D, дизайн §C): критерии ТЕ ЖЕ, что §0 п.5 — маркер «пуст», если Δ послушания wrong-строке закон↔⟨проверить⟩ < 10 п.п.; вред реален при ≥50% принятия. Перенос подтверждён, если направление ja/en совпадает с zh (рычаг ↑, вред ~100%, маркер ~0).
- E-family (ja): семья общего корня РАЗНОЙ длины 魔術/魔術師 намеренно разрезана границей двух батчей терминолог-структурного промпта. Критерий: если корневые конвенции dst разошлись через границу — батч-граничная химера НЕ zh-специфична.
- Оговорки, названные до запуска: ja/en-паков в репо нет ⇒ промпты пробы НЕ engine-faithful (проба феномена, не движка); голда для ja/en нет ⇒ скорится ПОВЕДЕНИЕ (послушание/связность), не правильность против канона. Смета ≤$0.04; суб-потолок C не пересекается (отдельная достройка в общем потолке $1.00).
(результаты §E вписываются после прогона, пре-рег не правится)
§E-результаты ($0.006472, 14 вызовов, все stop; multilang_probe.py --score)
E-inject — направление zh-выводов ПЕРЕНОСИТСЯ на обе пары:
| Пара | A (без инъекции) | B (закон) | C (wrong закон) | D (wrong ⟨проверить⟩) |
|---|---|---|---|---|
| ja→ru, верные строки | 1/3 | 3/3 | 3/3 | 2/3 |
| ja→ru, WRONG принят | 0/2 | 0/2 | 2/2 | 2/2 (Δ=0) |
| en→ru, верные строки | 2/2 | 2/2 | 2/2 | 2/2 |
| en→ru, WRONG принят | 0/1 | 0/1 | 1/1 | 1/1 (Δ=0) |
Инъекция слушается ≈полностью, неверная строка принимается, маркер ⟨проверить⟩ не смягчает ничего — на ja и en ровно как на zh (§C). N крошечный (ja 2 окна, en 1) — это проверка НАПРАВЛЕНИЯ, не величины; единицы вскрыты глазами (en: «Кому: Кристиан Грэй» — неверная орфография въехала даже в шапку письма).
E-family — задуманный тест связности корня не состоялся, но поймал находку крупнее: на ja-входе
батч 0 бэнк-структурного вызова вернул «переводы» УПРОЩЁННЫМ КИТАЙСКИМ (魔術→魔术 · 洗脳→洗脑 ·
国王→国王) при чистом батче 1 (魔術師→маг · 魔力→мана · 勇者→герой). Это off-language класс на
не-родной паре, и он подтверждает ДВЕ вещи: (1) экран языка ответа (ParseReply/OffLanguage,
парослепой по построению) для будущей ja-пары — не гигиена, а несущая защита: он эти строки отбил бы
громко; (2) root-связность 魔術↔魔術師 через границу батча осталась НЕизмеренной (батч 0 негоден) —
честно в критик полноты. Оговорка §E-пре-рега в силе: промпты пробы не engine-faithful, это проба
феномена.
§F. Кросс-пары по слову владельца 04.08: zh→en (близость к банку) и en→zh (Кристофф) — пре-регистрация
Слово владельца: «мало ориентироваться только на мой банк — он однобокий; оцени в т.ч. художественность лично на свой вкус; пары zh→en (близость к моему банку) и en→zh (книга Кристоффа)».
- F1 zh→en: тот же 63-термовый ростер, тот же терминолог-протокол, target=английский (транскрипция pinyin). Метрики: (а) стратегия-близость — по каждому голд-терму сравнивается КЛАСС решения (смысловой перевод / транслит / гибрид) у en-выхода против подписанного ru владельца; доля совпадений классов = «примерная близость банка к тому, что выбрала бы свежая en-редакция»; (б) сверка с fan-каноном Reverend Insanity ПО ПАМЯТИ МОДЕЛИ-автора отчёта — помечается как справочная (память, не источник); неуверенные строки честно пропускаются; (в) личная оценка художественности en-выбора автором отчёта — субъективная, так и лейблится.
- F2 en→zh:
Empire of the Dawn(Кристофф, epub на диске; книга 2026 года — претрейн-контаминация минимальна). Майнинг ~12 рекуррентных термов + 2 окна прозы; терминолог-проход en→zh и перевод окон (deepseek-low и glm-5 — китайско-родная модель для контраста). Метрики: связность семей терминов; личная оценка художественности zh-прозы автором отчёта (регистр, каденс, кальки) — субъективная. - Критерий «близость к банку» (F1): ≥70% совпадения классов решения = «банк владельца НЕ однобокий, его выборы совпадают с независимой en-редакцией»; <50% = «банк несёт сильную ru-специфику» (обе формулировки легитимны — это описание, не экзамен).
- Смета ≤$0.08. Оговорка: en→zh и zh→en паков в движке нет — проба переносимости ПОДХОДА, не движка.
§F-результаты ($0.011310, 11 вызовов, все stop; crosslang_bank.py, джойн — score_f1())
F1 zh→en: банк владельца НЕ однобокий — 41/45 (91%) совпадений класса решения с независимой свежей en-редакцией (порог пре-рега 70% взят с запасом; классификация ручная, автор отчёта; полный джойн печатается командой). Самое сильное:
- Свежая en-редакция дала «Rank 1..9», «Grade A/B/C/D», «Aperture», «Gu Master», «Spring-Autumn Cicada», «Mortal» — то есть РОВНО классы подписей владельца («ранг», «класс А/Б/В/Г», «апертура», «гу-мастер», «Весенне-осенняя цикада», «смертный»), включая буквенный маппинг 甲→A, который ни один ru-черновик и ни одна ru-модель не выдали. Выбор владельца — не идиосинкразия, а конвергентная редакторская логика; ru-модели до неё не дотягиваются приором — ещё один довод за канал сид/бриф.
- Сверка с fan-каноном Reverend Insanity ПО ПАМЯТИ автора отчёта (помечено: память, не источник): уверенно помню Gu Master · aperture · Spring Autumn Cicada · Rank N · A-grade aptitude · Fang Yuan · Gu Yue · Bai Ning Bing · Ren Zu · Hope Gu · Moonlight Gu · primeval stone/sea — свежий en-проход совпал почти всюду, а где разошёлся (元石 «Yuan Stone» против fan «primeval stone»), fan-канон оказался ближе к владельцу («первобытный камень» = дословно primeval stone). Банк владельца ≈ анг. fan-канон даже теснее, чем свежая модель.
- 4 расхождения класса: 白家寨/熊家寨 (en транслит против семантики владельца — при том что 古月山寨 en сам перевёл «Gu Yue Village»: та же семейная несвязность 寨-семьи воспроизвелась в en-проходе, дефект A1 кросс-языковой) · 元石/元海 (en гибрид, владелец семантика).
- Ру-специфика подтверждена ровно одна: слитность «Гуюэ» (en-канон пишет «Gu Yue» двумя словами — правило Палладия для составных фамилий действительно живёт только в ru-транскрипции).
- Оговорка: en-проход видел ru-варианты черновиков как улики смысла (велено явно «not as English candidates»); следование им не слепое — на 元石 модель ушла от ru-улики.
F2 en→zh (Кристофф, Empire of the Dawn 2026 — контаминация минимальна):
- Терм-таблицы: deepseek дал *идеальную корневую связность семьи -blood (冷血者/高血者/苍血者 —
единый шаблон X血者), а glm-5 сломал корень ВНУТРИ одного батча (冷血者/高血族/苍白血 — три
разных шаблона): со-батчинг необходим, но НЕ достаточен — межмодельная и внутримодельная дисперсия
связности реальна и вне CJK-источника. Плюс deepseek выдумал 5 незапрошенных строк (Patience,
Liathe, Ashdrinker…) — ровно класс, который экран
want[key]вParseReplyотбивает; кросс-парное подтверждение нужности этого гарда. - Проза (2 окна × 2 модели, читал лично; оценки субъективные, так и лейблятся): оба черновика — добротный жанровый уровень, стилистическая разница меньше терминологической. deepseek: точнее к термам и образам («银钢为歌,转轮火枪为鼓» — отличная передача «silversteel their song…»; «墓志铭» для меча Epitaph — верно), местами буквален («完好无损» для unbroken — смысловой промах). glm: местами идиоматичнее («勒得我骨节作响», «任凭时光流转、潮汐更替,也无法锈蚀»), но с реальными дефектами: оставил английское слово в переводе («兄弟 forever»), выронил клаузу, «红痰» (красная мокрота) — регистр-провал, «克斯特尔»-класс ошибок у deepseek — транслит говорящего названия Kestrels против glm-ского верного «红隼». И несущая единица: glm сам разошёлся в имени Aaron между двумя соседними окнами (艾伦 ↔ 亚伦) — межчанковый дрейф имени, ровно то, от чего банк существует, воспроизведён на en→zh за два вызова.
- Личный вывод по художественности (вкус автора, не мера): прозовое качество дешёвых моделей на en→zh и zh→en уже «редактируемо-издательское»; узкое место всех четырёх направлений одно и то же — дисциплина термов и конвенций, не слог. Ставка проекта на банк как центральную ценность этим подтверждается с третьей стороны.
§G. Дизайн-синк: как я бы доработал алгоритмы банка в бэкенде (код читан HEAD, не правлен)
Конкретика уровня функций — готовый вход для фикс-пака класса D39.71. Всё сохраняет инварианты: эмиссия auto/draft не трогается, терминолог не может утвердить, Select/пост-чек/эскалация без изменений.
G1. DetectFamilies рядом с DetectSeries (terminology/series.go). Вход тот же []Candidate +
FamilyParams из ДАННЫХ (script-series.txt, новая колонка; пара без данных — канал инертен):
- реалии: общий СУФФИКС-морфема длины ≥MinRootRunes при head-final письме (семьи 蛊-*, *-寨, -血); имена (тип после классификатора §2): общий ПРЕФИКС ≥2 рун (семья 古月-) — асимметрия имя/реалия тоже данные, не Go-ветка;
- БЕЗ транзитивного замыкания: якорь группы = сама корневая морфема; кандидат входит в ≤1 семью, приоритет более длинного корня (специфичное бьёт общее), затем большей семьи; серия (G-существующая) сильнее семьи — серийные члены из семей исключаются (等-серия не должна утонуть в 等-семье);
- выход — тот же
map[string]int, мёржится с seriesID передBatch(со-батч механизм уже готов, oversize-WARN уже есть). Цена фолда: состав батчей → RequestHash бэнк-батчей — перекупка батчей один раз (центы), волны/снапшоты не двигаются. Замер-основание: §B4 (химера на границе батча), §F2 (семья *-blood), §A1 (8/45 голда одной конвенцией).
G2. ConsolidationConflicts(cands, out) (terminology/terminology.go). Тонкий брат
CanonConflicts: те же containment+lexemeSubset, но правая сторона — сами консолидации прогона.
Вызов в runTerminologist после сборки out (рядом с :335), WARN с именованными парами + счётчик в
terminologyResult + колонка стоп-таблицы. $0, не фолдится (evidence-сторона). Замер-основание:
18/149 невидимых противоречий на живом банке (value_demo.py).
G3. Наблюдаемость (mining.go + terminology.go): BankStopRow += Signals []string (уже
вычислены — просто печать), Invented bool (норм-dst ∉ вариантов), Conf int; ParseReply — если
ПОСЛЕДНЕЕ поле \d{1,3} — снять его как conf ДО джойна f[1:] (иначе conf молча въезжает в dst);
строка «третье поле — уверенность 0–100» в промпт-файл роли (дата-правка, PromptSHA → перекупка
батчей тем же разом, что G1). reasoning_content в схему НЕ заводить — debug-сайдкар рядом со
стоп-таблицей за флагом гейта. Основание: §A7, AUC 0.77–0.85 (§B3).
G4. Правило кластерного роутинга — в дизайн замера рецензента (строка 5): любой селективный арбитраж (спорные к рецензенту) маршрутизирует ТОЛЬКО целыми family/series-юнитами. Основание: E1-химера §B4. Это правило дизайна, кода сейчас не требует.
G5. foldVariants: счёт голосов по NormalizeTargetForm-фолду, показ сырых форм; рядом со
spread — «конвенций» (folded spread). Косметика (двигает топ 1/75 — §D п.5), делать заодно с G3.
G6. Не делать (замеры этого пака): равноправный совет · кросс-модельные веса · self-consistency · селекция из вариантов · отказ-сигнал · эмбеддинг-фетч (§D корзина 3). Series-детектор, Merge, AttachKWIC-семантика (кроме строки 37-перфа), Select, пост-чек — не трогать.
Порядок: G1+G2+G3+G5 — один фикс-пак (одна перекупка батчей, голден не движется); G4 — вход замера строки 5 при ре-пробе 74; строка 37 (перф AttachKWIC через готовый Aho-Corasick из membank) — по желанию тем же паком.
Деньги
| Проба | Потолок | Факт |
|---|---|---|
| B: ds1+ds2+ds3+dsw | — | $0.021991 |
| B: glm1 | — | $0.018495 |
| B: mis1 | — | $0.012808 |
| B: gro1 (опция) | — | $0.026546 |
| Итого B | ≤$0.70 | $0.079840 |
| Проба C (инжект) | ≤$0.30 | $0.009713 |
| §E мультиязычная достройка (по вопросу владельца, тот же день) | — | $0.006472 |
| §F кросс-пары zh→en / en→zh (по слову владельца, тот же день) | ≤$0.08 | $0.011310 |
| ВСЕГО | ≤$1.00 (слово владельца 04.08) | $0.107335 |
Суб-потолки не тронуты и близко; СТОП-условий не наступало. Эффорты: deepseek — reasoning_effort:"low"
во всех вызовах (в сырье каждый файл несёт поле effort); glm-5 — thinking disabled (форма движка);
mistral/grok — вендор-дефолт. Слаги фактчекнуты live /models перед пассами.