textmachine/docs/RESEARCHER_BANK_MINING_SESSION_PROMPT.md

72 lines
9.4 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.

# Промт: сессия-РЕСЁРЧЕР — research/20: авто-формирование банка из черновиков (W1.5 / банк-майнинг), 2026-07-16
> **⚠ HOLD-ГЕЙТ: запускать ПОСЛЕ пре-рег фриза exp15** (первый коммит полигон-сессии) — фокус полигона
> не разбавляем (решение владельца/ресёрчера-19). Эта сессия — РЕСЁРЧ-стадия пакета
> «ресёрч → полигон → бэкенд-дизайн»; полигон-стадию (эмпирика детектора) выдаёт оркестратор ОТДЕЛЬНЫМ
> промтом после этого отчёта И после завершения exp15. Слой-1 (чанкер) этим пакетом НЕ гейтится.
## Что это (диспозиция D39.3)
Проработка **авто-формирования глоссария-банка из черновиков волны W1** (research/19 §B3-бис: W1.5 —
глобальный майнинг термин-кандидатов по всем черновикам → реконсиляция → подпись владельца). Закрывает
NEVER_CLOSED `H15` (аудит `08`) и владельческие V4-п4 (как строить глоссарий: контекст вхождений, жанр)
+ V4-п1-эскиз (переводчик выносит кандидатов сносками → парсим → банк → редактор чинит термины).
**Гипотеза №1 (владелец, ПРОВЕРЯЕМАЯ, не пресуппозиция): «чистый код сам разметит всё»** — сначала
измерить потолок бескодового-LLM пути, LLM звать только в доказанные слепые зоны.
## Зона/протокол
`docs/research/` (отчёт `20-bank-mining.md`); не коммитить (лендит оркестратор). Гардрейлы CLAUDE.md
(`.env`/18+/books — не трогать; счётчики ок). **Анти-анкоринг как research/18/19:** §A (внешняя фактура)
заморожен sha256 ДО чтения стека сверх этого промта; несущие клеймы — адверсариальная верификация по
первоисточникам (author≠reviewer внутри сессии); мандат самопроверки исполнением.
## Прайор-арт в репо (читать ПОСЛЕ заморозки §A)
- **exp06 / research/06:** локальная NER-экстракция РАБОТАЕТ (9B на стенде, $0) — «спот=локаль/
рендер=облако» (G1-эскиз реестра рисков `06-memory-risk-registry`).
- **Память v2** (`memory.go`): Aho-Corasick, disposition, longest-match trust-gate (D39.2), сид-схема
(`memseed.go`, глоссарий-yaml; поле gender одобрено владельцем 16.07 — транспорт в exp15-преп).
- **Сид v2 = ground truth** (57+ термов, алиасы, подписан владельцем) — детектор меряется против него
(нашёл ли код то, что человек курировал). Данные черновиков УЖЕ есть ($0): 25-глав rerun
(`records.json`, source+draft пары), артефакты exp14/exp15.
- **research/19 §B3-бис (W1.5):** глобальная пост-хок консолидация качественно бьёт онлайн-замок
первого перевода (LTCR-отравление; BooookScore — иерархическая сборка > инкрементальной).
- **H15-аудит:** НЕ исследованы query-time context-recording, жанр-кондиционирование, сигналы/пороги/
сведение. Web-fetch-тир (V4-п4) — за trust boundary D25.5 (Ф3), в дизайн заложить как слот, не строить.
## Вопросы пакета (ядро — из записки ресёрчера-19, ратифицировано)
**(а) Хватает ли ЧИСТОГО КОДА?** Спроектировать **23 ВАРИАНТА детерминированного детектора** (не один
дизайн; например: минимальный частотно-контрастный → +разброс переводов → +NER-паттерны) **с
trade-off-таблицей** (recall/precision/сложность/хрупкость порогов), и **тест recall/precision против
сида v2 — ДО любого LLM**; §D сравнивает варианты АРМАМИ против одного ground truth (все — код за $0;
выбор по данным, не «первый предложенный дизайн победил»). Сигналы: частота × PMI/termhood
(c-value-класс) × **разброс переводов в черновиках** (новый сигнал: сущность, которую draft-модель
переводит НЕконсистентно между чанками, — первый кандидат в банк) × NER-маркеры (титул/имя-паттерны).
Пороги, их устойчивость, честный протокол замера (train/test-раскол по главам, чтобы пороги не
подгонялись).
**(а-бис) Кластеризация алиасов — ЯВНАЯ отдельная подзадача (самое нетривиальное место
детерминированного пути).** 方源 / 方公子 / «четвёртый Фан» — поверхностно непохожие строки: по общим
иероглифам код кластеризует легко, титулы/прозвища — уже кореференция. Провести **честную границу**:
что кластеризует код (какими правилами, с какой ожидаемой ошибкой), что — слепая зона (г) для
LLM/локальной-9B, что остаётся человеку при подписи. Не схлопывать в одну фразу.
**(б) Канал «сноска переводчика» vs код-детектор vs гибрид** — по recall и цене (~$0.004 vs $0 vs
~$0.02/ранобэ — оценки ресёрчера-19, пере-верифицировать). Сноска: строгий разделитель, срез КОДОМ на
границе волн, **редактор её не видит**. ⚠ Проработать интеграционные точки канала сноски с
детерминированными гейтами — она затрагивает: sanitizer trailing-note класс (срез ДО санитайзера),
coverage/excision (сноска ≠ перевод — не в знаменатель), max_tokens-сайзинг (+токены сноски),
echo-гейт, request_hash/детерминизм (формат сноски версионируется). Перечислить ВСЕ.
**(в) Консолидация (W1.5):** выбор канона по ВСЕМ вхождениям (не первый-победил), кластеры алиасов +
пол, контексты вхождений + жанр (V4-п4), статус draft/подпись владельца — **дисциплина сида НЕ
меняется** (approved-инвариант, спорное = draft до подписи).
**(г) Слепые зоны кода — где нужен LLM:** консистентно-НЕВЕРНЫЙ перевод (сигнал разброса слеп, когда
модель стабильно ошибается — класс 蛊→«гусеницы»), полисемия 转-класса, редкие реалии. Для каждой зоны:
детектируема ли она дёшево (локальная 9B, exp06-паттерн) vs требует облачного судьи vs остаётся
человеку; спот=локаль/рендер=облако как рамка.
## Deliverable
`docs/research/20-bank-mining.md`: §A (заморожен: внешняя фактура — ATE/терм-майнинг, PMI/c-value,
bilingual terminology mining, translation-consistency сигналы, NER для литературного zh/ja) · §B (дифф
§A↔репо + **спеки 23 вариантов детектора с trade-off-таблицей** + явная подзадача алиас-кластеризации
с границей «код vs слепая зона (г)» + спека канала сноски) · §C (консолидация W1.5 + схема потока
данных до сида) · §D (**пре-рег дизайн полигон-эмпирики**: варианты детектора АРМАМИ по
recall/precision против сида v2 на СУЩЕСТВУЮЩИХ черновиках $0; арм-сравнение канала (б);
методология-guard D32.4) · §E (открытые вопросы владельцу/бэкенду).
Полигон исполняет §D отдельным промтом ПОСЛЕ exp15 (author≠reviewer).