From baf6ae31bd878f6ba2b65b4c00d211b8f8a98eb8 Mon Sep 17 00:00:00 2001 From: "Claude (backend session)" Date: Sun, 5 Jul 2026 03:47:16 +0300 Subject: [PATCH] Augment the memory-v2 backend prompt with research/14's quantified post-check false-flag data, the stored-decl completeness caveat, and the E1 measurement assets --- docs/BACKEND_SESSION_PROMPT_MEMORY.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/BACKEND_SESSION_PROMPT_MEMORY.md b/docs/BACKEND_SESSION_PROMPT_MEMORY.md index 21a4a96..58e210f 100644 --- a/docs/BACKEND_SESSION_PROMPT_MEMORY.md +++ b/docs/BACKEND_SESSION_PROMPT_MEMORY.md @@ -125,4 +125,16 @@ Multi-pattern матч (Aho-Corasick / double-array trie) по `src`+алиас - **Раскладка инъекции: код-собранный injection-message в `Messages()`** (вариант «а»), НЕ новый `RenderVars`-плейсхолдер: держит шаблон стабильным (`Render` падает на неизвестном `{{}}`), инъекция = динамический per-chunk контент вне фикс-шаблона, кэш-граница остаётся на стабильном system-префиксе (Р5). - **Ruby-классификатор: детерминированное правило для ЯСНЫХ случаев** (фонетическая согласованность reading↔base / паттерн собственного имени → name-lock), **неоднозначное → флаг человеку**. Over-flag безопасно, блайнд-лок = mistranslation — зеркалит «точность > полнота» горячего пути. Не умничать: сомнение → флаг. +### research/14 (сессия «адаптивный слой памяти») — вход для шага 4 (оркестратор, 05.07) + +Сессия исследования гибрида завершена (`docs/research/14-adaptive-memory.md`) — она **не меняет твой скоуп** (обучающийся слой отклонён: kNN-MT/frontier-LoRA физически blocked живой пробой; демонстрации — пилот Ф2.5, не сейчас; твоя работа — чисто детерминированная, это подтверждено). Но она **эмпирически измерила** несущий риск E1, и это меняет, как ты к нему подходишь: + +- **E1 КОЛИЧЕСТВЕННО (главное).** Наивный регэксп-post-check даёт **18–36% ЛОЖНЫХ флагов** на трудном чанке (deepseek 2/11, grok 4/11 — склонённые формы, отрендеренные ВЕРНО, которые `\b`-регэксп теряет: «Вэйчжуане», «Бородатого Вана», «Дэна», «сюцая»). → **Порт `memory_hotpath.py` T1–T10 «как есть» = порт РЕГЭКСПА = этот шум.** Не порти accept-регэкспы дословно; матч обязан быть decl-осознанным (подтверждает выбор §8 «против записанных `decl`-форм»). +- **Но stored-decl не бесплатно надёжен.** Надёжность = функция **ПОЛНОТЫ** записанных `decl`-форм. Для OOV-транслит-имён склонение нетривиально (C4) → один дешёвый LLM-вызов при term-commit может недозаполнить падежи → те же ложные флаги. **Замеряй false-flag rate именно stored-decl-матчера на реальном СКЛОНЁННОМ русском выходе, не «примерно»** (это и есть E1-замер §0/§8 «до жёсткого гейта»). +- **Фолбэк де-рискнут (хорошая новость research/13 §2).** pymorphy3 (Python-сайдкар Ф2, C3) эмпирически **сворачивает OOV-транслит-склонение** (Вана→ван, Дэна→дэн, Вэйчжуане→вэйчжуан, Цзоу→цзоу). В Go сейчас НЕ тащи (нет годного pure-Go рус-лемматизатора — это и есть причина stored-decl в Ф1), но знай: если stored-decl шумит на замере — лемматизатор-сайдкар Ф2 валидированный фолбэк. +- **Готовые ассеты E1-замера** (зона Полигона — читать/портировать МЕТРИКУ в Go, не редактировать/коммитить): `eval/adaptive_reask.py` (strict-регэксп vs лемма на реальном zh→ru, канон Рогова — диагностика ложных флагов), `eval/adaptive_levers.py` (кривая L1-лемма-post-check / L2-recall-норм+alias+sticky / L3-re-ask на трудном чанке 11 сущностей). Это ровно тот «замер русской морфологии», что требует §8. +- **A3 подтверждён кейсом.** `钱` (односимвольный ключ, гомограф Цянь-фамилия / 钱=деньги) упорно матчится/инъектится не туда даже после re-ask → конкретный кейс в тест-корпус `min_key_len`/запрета одиночных ключей. +- **A4 подтверждён живым багом.** Неполная trad-карта (у меня не было `爺→爷`) **молча промахнула** 赵太爷 → это ровно «тихо пусто» A4. **Полный OpenCC, не мини-карта**; трап-корпус матчера (по образцу `retrieval_bench`) должен включать trad-варианты И склонённые ru-формы, иначе тест зелёный, а бой промахивается. +- **Подтверждение подхода (не расслабляйся).** Soft-глоссарий на реальном zh→ru индикативно тянет 0.458→~1.0 канон-консистентности (валидация банка этого на нашем направлении не мерила) — детерминированная инъекция на zh→ru эмпирически не пуста. Чанк был «лёгкий» (насытился); реальную кривую L1→L3 меряй на трудных чанках. + Welcome back to the backend. Валидируй старт, заморозь схему по реестру, построй горячий путь и инъекционную поверхность ОДИН раз, закрой F1 и post-check — и держи тихую деградацию громкой.