textmachine/docs/research/15-voice-and-state.md

269 lines
99 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.

# 15 — Голос и состояние: контекст-инжиниринг сверх терминологии
**Дата:** 2026-07-09 · **Сессия:** «Голос и состояние» (промт `docs/VOICE_STATE_RESEARCH_SESSION_PROMPT.md`) · **Зона записи:** этот файл + секция в PROGRESS.
**Метод:** мультиагентный веб-ресёрч по образцу research/13/14 — 12 направлений-сборщиков → адверсариальная верификация каждого несущего клейма по первоисточникам (refute-by-default; ~60 верификаторов) → completeness-критик → 6 доборов пробелов; 91 агент, ~3.2M токенов, 0 отказов. Плюс **живые пробы** на чанках 蛊真人 (deepseek-v4-flash боевым промптом, судьи grok-4.3/gemini — кросс-семейно, свап позиций; потрачено **$0.28 из $4**; сырые выходы персистированы в scratchpad сессии, сводка — §Пробы). ⚠ Амендмент мандата 3-bis (коммит 17ccea4, эхо-мода) залетел ПОСЛЕ старта сессии и был увиден постфактум — веб-часть (а)(б) оказалась закрыта completeness-критиком до его прочтения, проба (в) выполнена дополнением (§Пробы P4) с учётом exp10/D19 полигона. Каждый факт — URL+дата (фетчи 2026-07-09); препринт ≠ peer-review, вендор-клейм ≠ замер. Вердикты: **CONFIRMED** (первоисточник прямо подтверждает) / **PLAUSIBLE** (правдоподобно, прямого подтверждения нет) / **REFUTED**.
**Зоны не тронуты:** `backend/`, `eval/`, `architecture/` — только чтение; ничего не закоммичено; текст книги и производные — вне git.
**Внешнее ревью оркестратора (09.07 ночь → D21):** 5 спот-чеков несущих клеймов по первоисточникам (DelTA — CONFIRMED точно; RoleLLM/Voita/similarity/WMT25 — CONFIRMED с нюансами атрибуции, вписаны пометками *(ревью: …)*), пробы пересчитаны поштучно из сырых артефактов — сходятся; фактические микро-правки счёта внесены оркестратором с пометками; оговорки ратификации — D-лог §D21. Сырые артефакты продублированы в `/home/ubuntu/books/gu-zhenren/research15-probes/` (вне git; /tmp волатилен).
---
## TL;DR — вердикт
1. **Клейм antipattern-дока «voice exemplars > прилагательных-дескрипторов» в универсальной форме НЕ подтверждён** — прямого сравнения для голоса персонажа не существует нигде (honest negative), а два ближайших прямых сравнения разнонаправлены. Но количественное ядро есть: **RoleLLM (Findings ACL 2024): описание роли 9.85% win-rate → +демо инлайном 30.19% → те же демо диалоговыми ходами 61.79%** *(ревью: числа arXiv-v1, судья GPT-3.5; в камере-реди ACL — 9.3→29.8→63.3, судья GPT-4, картина та же)* — exemplars главный рычаг, причём **формат важнее наличия**; **дистиллированный из реплик «voice sheet» бьёт сырой RAG-пример** (87/78% vs 39% win-rate); насыщение **~5 реплик**; **отбор по семантической близости ВРЕДИТ** (AA 69.3→36.0 — Enron, максимальное из четырёх падений; направление на всех датасетах). Итог: строить **гибрид** «1 строка регистра + 35 коротких разнообразных RU-реплик», не выбирать между экземплярами и дескрипторами. Наша проба на 蛊真人 подтвердила направление (§Пробы): гибрид — единогласный ранг-1 у судей двух семейств; детерминированный маркер (самоуничижение служанки 奴婢) — экземпляры/гибрид 4/4 vs база 1/4.
2. **Голос выигрывается на ДРАФТЕ, не на редактуре** (проба P3): монолингвальный grok-4.3 с узким мандатом вернул черновик **дословно** в 3 из 4 конфигураций — он не сгладил голос (страх §14 внешнего дока на этом сэмпле не воспроизвёлся), но и **не восстановил** сплющенный: voice-блок редактора не заставил его вернуть потерянное самоуничижение служанки. Инъекция голоса нужна переводчику; редактору — только констрейнты сохранения.
3. **Прайор-арт: «аналогов не найдено» стратревью — сузить, не снять.** Пер-персонажный голос в промышленном MT сериальной фикции **существует как продукт-клейм** (NAVER Webtoon «캐릭터 인식 번역» с БД речевых стилей, пресса 05.2026; Mantra — 口調-консистентность длинным контекстом; XL8 — файнтюн на серию), но **ни один механизм не раскрыт** публикацией или патентом. Детерминированный no-LLM словарный слой — массовая практика фан-стека (GalTransl 译前/译后/条件字典, LunaTranslator, SakuraLLM `src->dst #info`) — «учебник» найден; селективная инъекция по матчу — тоже НЕ уникальна (GalTransl/AiNiee). **Остаются уникальными:** спойлер-окна since/until (нигде, вкл. CAT и патентные индексы — скрининг, не FTO; ближайшее — NovelCrafter Codex Progressions, писательский тул), scene-state инъекция в MT, voice-exemplars в MT, и сама формула «disposition + окна + бюджет + детерминизм».
4. **Оси «голос персонажа» нет ни в одном бенче литературного MT** (DITING, WMT24-Literary, BlonDe — CONFIRMED), и потерю различимости голосов при MT никто не измерял — наш voice-флаггер и BWS-рука голоса будут первым замером. Измерительная база: детерминированные маркеры (ты/вы — тривиальный морфоматч; маркер-листы; NG-лексика) + **mStyleDistance** (Findings ACL 2025, 9 языков вкл. русский, MIT, 0.3B — но качество умеренное, AV ROC-AUC ~0.66 → только мягкий флаггер, не гейт).
5. **Scene-state: полная схема — ниша пуста** (никто не инъектил «кто где/с кем/что скрывает» в MT с замером). Доказанный числом срез один: **направленный регистр пары** — 37% контекстных ошибок En→Ru это деиксис, **67% из них — ты/вы** (Voita ACL 2019); контекст поднимает точность 50→83.5%; formality-тег управляет с 7392% acc (CoCoA-MT/IWSLT; *ревью: огибающая, RU там только zero-shot*). Второй опорный факт — **консистентность и качество развязаны** (DelTA, ICLR 2025, после сверки первоисточника: абляция Proper-Noun-Records +3.95 пп LTCR-1 при 0.02 sCOMET; на вебновеллах Guofeng +15.5…+32.7 пп сверх контекстного бейзлайна при ~+0.24 sCOMET) → выигрыш банка/реестров виден только специализированной осью, общие метрики его не покажут. Эпистемику/ложь в схему НЕ переносить: перевод сохраняет ложь исходника бесплатно.
6. **Эпистемическое состояние читателя в переводе — ниша пуста** (spoiler-aware MT: 0 работ). Механика у нас уже есть: reveal-точки = те же спойлер-окна (`reveal_ch` + pre/post-reveal алиасы «таинственный незнакомец»→«её брат»); механический спойлер-канал zh→ru — **род русского прошедшего времени** (перевод из безродового языка принудительно раскрывает пол). Имплицитному трекингу «кто что знает» доверять нельзя (FANToM: человек 87.5% vs GPT-4+CoT 26.6%); прецедент инъектируемой модели читателя — StoRM (Findings EMNLP 2022, генерация). Переводоведение фиксирует наш риск качественно: эксплицитация — универсалия перевода — снижает саспенс.
7. **Промптинг:** согласованное ядро вендоров — структурные блоки (XML хорошо, **JSON — худший** в long-context по замеру OpenAI), позитивные формулировки вместо голых запретов, reasoning-моделям не нужен ручной CoT; «сэндвич» инструкций (повтор ключевых констрейнтов после чанка) — дёшево и вендор-подтверждено. **NO_CHANGE редактору давать обязательно** (дефолт LLM — пере-редактирование: P51/R63 на GEC; правка безошибочного текста в минус COMET), но долю NO_CHANGE не читать как сигнал — эффект «опция-артефакт» (плацебо-опции срабатывают как «Unknown»: 15.75 пп, абстенция 32.9%). **«Двухпроходность в одном вызове» — арм НЕ ставить:** выигрыш мульти-проходности даёт refinement на готовом черновике (+1.05 COMET первый проход — это наш draft→editor), план/декомпозиция незначимы или в минус, DRT — файнтюн с ~12× output-токенов; self-check в том же completion наследует галлюцинации черновика.
8. **Параметры запроса: доказанной причины менять draft 0.3 / editor 0.4 нет** (ни одного замера temp для литперевода/худ-редактуры в 202426), но свип бессмыслен без двух wire-проверок: **thinking-режим DeepSeek МОЛЧА игнорирует temperature/top_p/penalties** (вендор-док) — наш draft temp 0.3 может быть **no-op**; у V3 был документирован маппинг API→model temp ×0.3 — в V4 не описан, нужен probe. Академические MT-кривые за ~0, вендор-рекомендация DeepSeek «1.3 для перевода» — за ось натуральности, которую академия не мерила. Gemini 3.x: temp=1.0 обязателен (вендор). min_p недоступен на всех наших API и научно оспорен.
9. **Живые грабли, пойманные пробами** (все на боевых ключах, 09.07): (а) **deepseek-эхо воспроизведено на приёмочной книге** — 2/3 сэмплов одной конфигурации вернули китайский исходник дословно (HTTP 200); (б) **gemini-2.5-flash интермиттентно 404 «no longer available»** (1 из 4 вызовов прошёл; модель ЕСТЬ в /models — «есть в /models ≠ работает») — это судья fidelity-оси `memory_eval` полигона; (в) **gemini-3.5-flash эмитит `finish_reason=content_filter: PROHIBITED_CONTENT`** на сцене насилия — вывод exp07 «ветку content_filter не эмитит ни один из 5 провайдеров» на новых моделях Gemini **мёртв**; (г) CJK-артефакт «每人» утёк в русский выход драфта (класс cjk_artifact — гейт нужен, работает).
10. **Эхо-митигции промптом работают и почти бесплатны, но модель-специфичны до инверсии (проба P4, мандат 3-bis/D19.2):** инструкция ПОСЛЕ текста и микро-few-shot сняли эхо **0/29 против базовых 3067% по армам (пул ~44%)** (grok-none база 3/10 — реплика exp10; deepseek thinking-ON база 2/3); префилл «Перевод:\n» (DeepSeek beta) — 0/6, но по токен-профилю **обходит thinking**; ⚠ явный языковой констрейнт на grok-none **инвертирует — 9/10 эха** (одна строка diff) → анти-эхо строки в боевые промпты только через per-model замер. Echo-гейт остаётся навсегда (рамка D19.2: митигация = экономия эскалаций, не замена гейта).
---
## Направление 1. Голос персонажа (центр мандата)
### 1.1 SOTA: что доказано, что дыра
- **SAMAS (arXiv:2602.19840, 23.02.2026) — поправка постановки: это НЕ speaker-aware метод.** «Spectrum-Guided Multi-Agent System for Style Fidelity in Literary Translation»: 81-мерный спектр из wavelet-преобразования **длин слов** детерминированно роутит текст в один из промпт-воркфлоу 6 агентов. Авторский стиль, не голоса персонажей; семантика мерена на нелитературных FLORES/WMT24, стиль — только human head-to-head без эффект-сайзов; неверный стилевой воркфлоу роняет ~5.5 XCOMET (абляция). **CONFIRMED** (препринт). Переносим только паттерн «дешёвый детерминированный сигнал → выбор промпт-варианта» — он проекту уже родной; сам метод не копировать.
- **Оси «голос/регистр говорящего» нет ни в одном стандартном бенче** литературного/вебновелльного MT: DITING (6 осей, 18.7k экспертных zh→en пар), WMT24 Literary (general quality + discourse awareness), BlonDe (entity/pronoun/tense). **CONFIRMED** (peer-reviewed). Прямого замера потери различимости голосов при MT (per-character stylometry источник vs перевод) не найдено — измерено только лексическое обеднение (MTLD 96→90 en→nl при MT, 2408.17308). **CONFIRMED-absence.** → Наша voice-ось — первый замер, строить самим (см. §1.5, пилот).
- **Измерительная технология существует, но EN-центрична:** стилевые эмбеддинги StyleDistance (2410.12757) — EN-only; **разрешение через добор: mStyleDistance (Findings ACL 2025) обучен на 9 языках ВКЛЮЧАЯ русский** (~40 стилевых фич, xlm-roberta-base 0.3B, MIT на HF) — но качество умеренное (AV ROC-AUC avg 0.66; STEL-or-Content: formality 0.71, остальные оси 0.300.37) → пригоден как **мягкий флаггер дрейфа, не гейт**. Персонажные эмбеддинги работают на фикшене: UAR+DramaCV — SOTA атрибуции цитат на 28 английских романах (Findings EMNLP 2024). Speaker-verification-as-eval: роль-плей LLM систематически **проваливает** верификацию спикера (2405.10150) — паттерн «различимы ли реплики без атрибуции» валиден как детектор потери голоса.
- **Доказанные механизмы удержания голоса** (API-совместимые): retrieval **курированных** реплик персонажа помогает, retrieval сырого текста книги «barely enhances» (CoSER, ICML 2025, 771 книга; потолок Character Fidelity фронтиров ~49%); переинъекция персоны ближе к концу контекста лечит **меж-ходовой** дрейф (SPR, COLM 2024 — к нашим stateless-чанкам дрейф-лора не применима, см. §3.2). Persona drift измерен: 0.75→0.55 за 8 раундов; ошибки long-form кластеризуются в середине нарратива (4060% длины); **люди ловят инжектированные ошибки консистентности с recall 17.1%** (авточекер 55% при precision 0.884) → холистическому чтению не доверять, нужны таргетные пробы.
- Для zh есть готовая рубрика: **CharacterEval** (peer-reviewed, 1785 мультитёрн-диалогов, 77 персонажей китайских романов, 13 метрик, отдельные оси speech style / behavior) — донор осей для судья-анкеты.
### 1.2 Клейм «exemplars > дескрипторов» — разбор (мандатный)
**Вердикт: REFUTED в универсальной форме, CONFIRMED в форме «гибрид с экземплярами в правильном формате».** Провенанс клейма — фольклор RP-практики (ChatHaruhi, на которую все ссылаются, количественной абляции НЕ содержит — проверено по ar5iv полнотекстом; Sec 6.4 — только качественное).
Что установлено первоисточниками:
- **RoleLLM (Findings ACL 2024, zh-бенч):** role description 9.85% win-rate → +демо **инлайном** 30.19% → те же демо **отдельными диалоговыми ходами** 61.79%. Формат подачи важнее наличия. **CONFIRMED с нюансами** *(ревью по первоисточнику: числа — arXiv-v1 c судьёй GPT-3.5; в камере-реди ACL те же условия = 9.3/29.8/63.3 с судьёй GPT-4; win-rate = частота ранга-1 среди трёх вариантов у LLM-судьи, не human; базовое zsp-условие включает catchphrases — микро-экземпляры, т.е. 9.85% ≠ «чистые дескрипторы»; «формат важнее наличия» — по win-rate-колонке, по Avg.Rank дельты сопоставимы; демо отбирались BM25-similarity; вывод статьи — «for GPT models». Направление и величины эффекта устойчивы в обеих версиях.)*
- **Против наивного few-shot:** для persona-диалога crafted-инструкция бьёт random 5-shot (0.191 vs 0.160, GPT-3.5; демо догоняют с ≥7) — **CONFIRMED**; дистиллированный из примеров структурированный «sheet» стиля бьёт RAG-пример (faithfulness win-rate 87/78% vs 39%, GPT-4o, 2502.13028) — **CONFIRMED**.
- **За экземпляры против нуля:** few-shot до 23.5× style-matching vs zero-shot (2509.24930); в художественном MT 20 примеров переводчика утраивают style precision (0.080.10→0.240.32) **при сохранном COMET** (2505.16612, peer-reviewed) — стилевые примеры, в отличие от шумного глоссария, верность не роняют. **CONFIRMED.**
- **Насыщение ~5:** от 2 до 10 примеров метрики имитации «меняются очень мало» (Findings EMNLP 2025). **CONFIRMED.**
- **Отбор по близости ВРЕДИТ:** topical-similarity selection роняет AA 69.33→36.00 (Enron — максимальное из четырёх падений; направление держится на всех датасетах и в AV; 2509.14543); retrieval с identical context — худший (0.094 vs random 0.160 той же таблицы при k=5; random в среднем по k — 0.188; первоисточник чисел — arXiv 2402.09954, persona-диалог: провенанс добавлен ревью). **CONFIRMED** *(нюанс ревью: катастрофичен именно near-duplicate retrieval; мягкая embedding-similarity ≈ random — бесполезна, не смертельна)*. → Фиксированный курированный набор, отбор по **разнообразию** — удачно совпадает с детерминизмом банка (RAG не нужен и вреден).
- **Дыры (honest):** контент-контаминация из стилевых exemplars количественно не исследована никем; **инъекция реплик персонажа при MT не описана нигде** (ни академия, ни бенчи) — наш пилотный арм закрывает реальную дыру литературы; вся эмпирика EN-центрична или X→EN.
### 1.3 Полевая эмпирика RP-сообществ (SillyTavern / NovelAI / AI Dungeon)
Готовый, обкатанный годами словарь механик — весь **без формальных замеров** (единственные числа — размеры и позиции, не эффект-сайзы; честно перепроверено — A/B-замеров форматов карточек не существует):
- **«Show don't tell» зафиксирован независимо** в Ali:Chat, PygmalionAI Wiki, Sukino Guides: голос держат образцы речи, не списки черт; рабочая доза **23 примера по ~150 токенов**; карточка ≤2000 ток., комьюнити-оптимум <600 permanent-токенов. **CONFIRMED (community).**
- **mes_example эфемерны by design:** SillyTavern вытесняет примеры диалогов из контекста поблочно при нехватке места голосонесущий материал по умолчанию расходный; поле отвечает переносом голоса в постоянные поля. **CONFIRMED (vendor-doc).**
- **Двухслотовый паттерн Trappu (PList+Ali:Chat):** факты/черты в Author's Note у конца промпта, голос (диалоги) в постоянный префикс, лор по триггерам. Доктрина трёх платформ «ниже в промпте = сильнее» (NovelAI AN на 3 абзаца от конца, «very strong effect»). **CONFIRMED.**
- **ST World Info = зрелый словарь селективной инъекции:** keys+secondary AND/NOT, scan depth, sticky/cooldown/delay, позиция/глубина вставки, бюджет (~25% контекста), inclusion groups, рекурсия; CCv3 стандартизовал декораторы @@depth/@@activate_only_after/@@additional_keys. **Спойлер-окна «с N по M» отсутствуют и там** (issue #5193 открыт с 02.2026) только нижняя граница+инерция.
- **Bleed голосов в мультиперсонажном промпте признан нерешаемым на уровне карточки** (ST issue #1211 Out of Scope); рабочая миграция Swap mode: в контексте голос только активного спикера. Не давать редактору N полных досье; подсвечивать только спикеров чанка.
- **Context poisoning:** история чата самоусиливающийся образец; отравленный контекст дешевле выбросить, чем чинить (+ Chroma «Context Rot»: у всех 18 фронтиров качество падает с длиной входа; сфокусированный ~300-ток. промпт превосходит полный 113k на LongMemEval).
### 1.4 Индустрия: игровая локализация / аниме / стриминг
Индустрия ведёт голос **структурированным артефактом с малым числом перечислимых полей**, не прозой три сходящихся формата (все процессные свидетельства, количественных замеров эффекта нет нигде честная граница):
- **Японский 口調表/話し方リスト 5 полей: 一人称 (первое лицо), 二人称/呼び方 (обращения к другим), 語尾 (финальные частицы), уровень регистра (кэйго/тамэгути), NGな言い回し (запретная лексика персонажа).** CONFIRMED (Irisphere 31.01.2026, Alpaca Connect; оговорка: источники называют формат 話し方リスト, контекст AI-промптинга). Для ru прямой аналог полей: самоназвание, ты/вы-карта, регистр, речевые тики, табу-лексика.
- **IGDA Loc SIG Best Practices (2011/2012, PDF вскрыт):** «For characterizations, list explanations and samples on how a character should sound, lists of word choices, and accents or speech impediments with real samples and word choices» + **обязательные метаданные каждой строки скрипта озвучки: file, speaker, line, constraint — и явный АДРЕСАТ** important to specify the audience»). **CONFIRMED.**
- **Netflix KNP** локируемый центральный глоссарий (Person/Location/Org/Term, пол, алиасы, style notes; lock к началу дубляжа) + компаньон **«Treatments list» реестр «кто как к кому обращается», специально для языков с T-V** прямой индустриальный прототип нашего реестра ты/вы. Матрица обращений названа вендором «самым сложным в управлении» (3 персонажа 9 комбинаций; 呼称表 в JP-практике). **CONFIRMED.**
- **CAT/TMS первоклассного поля «speaker» НЕ имеют** (memoQ/Trados/Crowdin/Phrase/XTM спикер едет колонкой/маркером; проверено по докам); game-TMS **Gridly (гайд 29.04.2026) описывает ровно наш паттерн как промышленный: «dialogue tagged with character metadata routes through character-specific prompt libraries»** с примерами реплик по эмо-состояниям vendor-claim без замера, но прецедент продаваемости. FFXIV фиксирует голос **машинно-проверяемыми правилами** сильфы не употребляют я“») прообраз NG-лексики как детерминированного флаггера. REFUTED из этого блока один суб-клейм: «LQA-чек-листы содержат голос как формальный критерий с цитатой…» цитата оказалась сфабрикованной агентом (вердикт REFUTED, урок верификации работает); сама практика voice-багов как Major в LQA PLAUSIBLE по вендор-блогам.
- **Аниме:** キャラ表 визуальные модель-листы, НЕ речевые таблицы; речевые живут в геймдев-переводе и стриминг-глоссариях. Русская сторона: только «концепция локализации» с ты/вы и общим стилем (DTF 2023), детальных публичных полей нет.
### 1.5 Дизайн-выход: voice-профиль, инъекция, детектор
**Схема voice-профиля** (расширение `speech`-колонки отдельный тип записи банка; поля по конвергенции 口調表 × аудиокнижный паспорт × series-bible):
```
voice_profile {
char_id → src/алиасы (активация тем же Aho-Corasick по имени в чанке)
register 1 строка: регистр+тон («ледяная краткость, повелительно»)
self_ref самоназвание («ваша служанка» / просторечное «я»)
address_default дефолт ты/вы (пары — в реестре обращений, см. §2)
lexicon_markers характерные словечки (≤5, они же — маркеры флаггера)
ng_lexicon запретная лексика персонажа (FFXIV-паттерн; чек детерминирован)
exemplars 35 коротких RU-реплик из УТВЕРЖДЁННОГО перевода ранних глав,
отбор по разнообразию ситуаций, НЕ по similarity; формат — скрипт-строки
brightness яркость голоса (приоритет инъекции; серые голоса не инжектить — проба T2)
since_ch/until_ch окна (маска/смена манеры — сюжетное событие)
}
```
**Правило инъекции:** (а) топ-23 главных героя в кэшируемый префикс (стабильны на книгу, кэш почти бесплатен); (б) остальные селективно: профиль активируется, когда персонаж **говорит** в чанке (имя+кии / рядом с кавычкой детерминированно; полный speaker-ID Annotator, §2.3), только спикеры чанка (Swap-паттерн, анти-bleed), 12 профиля на чанк в существующем бюджете 800 ток.; (в) **exemplars — русские** (монолингвальный редактор D1 исходника не видит; источник самонакапливающийся approved-реплики ранних глав; холодный старт: первые главы без exemplars, профиль дозаполняется). **Цена:** ~100200 ток./активный профиль; на вебновеллу-500 +$0.20.3 к стандарт-миксу (~+23%; модель exp08) приемлемо; в драфт-инъекцию дешевле (вход deepseek $0.14/M vs grok $1.25/M) и, по пробе P3, эффективнее **голос выигрывается на драфте**.
**Дешёвый детерминированный детектор отклонения голоса** (двухслойный, по духу наших флаггеров):
- **Слой 1 ($0, Go, та же AC-машинерия):** ты/вы-флип в атрибутированной реплике против реестра пар (бинарный, надёжен на одной реплике ru формальность = местоимение 2 л. + согласование глагола); самоназвание против `self_ref`; вхождение `ng_lexicon`; лексикон-маркеры; средняя длина реплик спикера по главе против базлайна. Прецедент детерминированного стиль-чека Главред (правиловый, коммерческий). Канцелярит/просторечие-лексикон своя работа (готового ru-словаря с пометами «разг./прост машиночитаемо НЕ существует; сырьё дамп ru.wiktionary).
- **Слой 2 (опционально, вне горячего пути, $0 к COGS локально):** mStyleDistance-эмбеддинг **агрегата** реплик спикера по главе/арке, аларм на дрейф между главами эскалация к судье, НЕ блокирующий гейт (AA на коротких текстах 6673% пер-репличный сигнал шумит; агрегировать).
- **Эвал-база детектора:** IWSLT22 formality ENRU (600 золотых контрастных пар, CDLA-Sharing-1.0) + ru-срез mSynthSTEL (~3.3k пар) + пертурбационный сет из реплик 蛊真人 (свап ты/вы, инъекция канцелярита) методология authorreviewer как в валидации банка.
**Метрика пилота (голосовая ось, новая):** blind speaker attribution судья угадывает спикера реплики без атрибуции (в источнике vs в переводе; падение различимости = потеря голоса) + BWS-рука «различимость голосов» + доля сохранённых маркеров. Не полагаться на холистическое чтение (recall людей 17%).
---
## Направление 2. Состояние сцены и знание читателя
### 2.1 Scene-state: что инъектить, что нет
- **Полной схемы сцены в MT не инъектил никто** (verified-absence; TransAgents несёт только book-level guidelines CONFIRMED по TACL 2025; Agentic AI Translate 05.2026 явно НЕ трекает голос/сцену цитируемое подтверждение белого пятна). Из генерации перенос осторожный: явный граф состояний персонажей снижает инконсистентность (Magnet 07.2026: 41% претензий; SCORE: 41.8% галлюцинаций) но это генерация, не перевод.
- **Единственный срез с доказанной ценой ошибки И управляемостью направленный регистр пары.** Voita ACL 2019 (EnRu!): деиксис = 37% контекстных ошибок, из них 67% ты/вы; контекст поднимает 5083.5%; CoCoA-MT/IWSLT 202223: formality-тег управляет с 7392% acc без потери качества. Для zhru острее: исходник T-V маркирует слабо ( спорадично), а **монолингвальный редактор исходника не видит вовсе**. **CONFIRMED** *(ревью по первоисточникам: 83.5 — у concat-бейзлайна на контрастивном сете, где 50% гарантированы построением, метрика скоринговая и меряет консистентность T-V, не абсолютный выбор регистра; 7392% — синтетическая огибающая CoCoA-MT (EN→6 пар, БЕЗ ru) и IWSLT22/23, где EN-RU только zero-shot — informal-контроль у одной системы падал до M-Acc 1.1 → управляемость для ru подтверждена классом методов, не ru-замером — довод за supervised-подобный явный тег, наш случай)*.
- **DelTA (ICLR 2025) после сверки первоисточника (добор разрешил противоречие двух направлений):** headline «+4.58 пп/+3.16 COMET» против sentence-бейзлайна, где +2.54 из +3.16 даёт голое контекстное окно; **чистый вклад памяти: абляция PNR +3.95 пп LTCR-1 при 0.02 sCOMET; на вебновеллах Guofeng +15.5…+32.7 пп сверх Context при ~+0.24 sCOMET**. Число «+0.36 COMET» в статье НЕ существует (не цитировать). LTCR-1 меряет самосогласованность с первым вхождением, не правильность. Консистентность и качество **развязаны**; мерить своей осью; DelTA платит за память LLM-вызовами, мы нет (COGS-козырь).
- **Не переносить:** эпистемику/ложь как state (соц-симуляции CiF/Versu/Talk of the Town эффект на ТЕКСТ никем не мерен; перевод сохраняет ложь исходника бесплатно); отдельный NLP-трекер сцен (детекция границ сцен BERT F1=24%); имплицитный трекинг самим LLM (FANToM/ICML-26 провал). Психолингвистика: читатель мониторит «кто/когда» сильнее «где» (event-indexing) пространственная ось наименее ценна.
**Дизайн-выход — реестр обращений пар** (самый дешёвый новый тип записи; доцифровой прототип готов Netflix Treatments list, 呼称表, series-bible «How characters address each other»):
```
address_pair {
speaker_id, addressee_id (направленная пара)
register ты|вы (+ форма: «молодой господин», титул, прозвище)
status/closeness 1 слово (иерархия — прямо влияет на ты/вы)
since_ch/until_ch переход ты↔вы = сюжетное событие (журнал D7 уже так решён)
}
```
Активация: оба имени в чанке (тот же AC), инъекция только CONFIRMED-пар (disposition-симметрия); ~1020 ток./пара; O(n²) гасится тем, что реальных пар с маркированным регистром десятки. Флаггер: морфочек 2-го лица в атрибутированной реплике против реестра **самый надёжный детерминированный voice-сигнал вообще** (наша проба: DeepSeek на «лёгких» парах держит ты/вы сам ценность реестра сосредоточена в неоднозначных парах: равный статус, чужаки, перемены отношений; мерить на них).
### 2.2 Эпистемическое состояние читателя и спойлеры
- **Spoiler-aware translation: 0 работ** (7 адверсариальных поисков; PLAUSIBLE-absence). Переводоведение документирует риск качественно: **эксплицитация снижает саспенс** (Rodopi 2014: «when the narrator intervenes the suspense decreases»; «suspense can also be neutralized by prologues or glossaries» прямое предупреждение и для наших сносок/глоссариев). **CONFIRMED.**
- **Механика у нас есть:** состояние читателя = расширение схемы глоссария, не новая машинерия. Поля: `reveal_ch` (глава, где читатель узнаёт X) + пара алиасов **pre-reveal/post-reveal** таинственный незнакомец» «её брат Ли»); механика идентична since/until+disposition; состояние читателя на чанк = множество сработавших reveal-точек детерминированно, кэш не ломает.
- **Флаггер (2 детерминированных чека):** (а) post-reveal алиас/термин родства в выходе до `reveal_ch` (AC по нормализованному выходу инфраструктура есть); (б) **родовые формы прошедшего времени/прилагательных у сущностей с `gender=hidden` до reveal** механический спойлер-канал zhru (MT дефолтит в masculine 2311.08836), никем не закрытый; это конкретизация C3 реестра памяти (морфо-гейт рода, Ф2-сайдкар).
- **Имплицит не работает:** FANToM (EMNLP 2023) человек 87.5% vs GPT-4+CoT 26.6% (All), успехи ToM «иллюзорны»; OpenToM психологические состояния проваливаются. НЕ класть «кто что знает» в бриф в надежде, что модель разберётся; только явные слот-констрейнты. **CONFIRMED.**
- **Прецеденты для вдохновения, не для Ф1:** StoRM (Findings EMNLP 2022) инъектируемый KG «что читатель уже узнал» повышает когерентность генерации (**единственный** найденный reader-model прецедент); CAST (R2LM 2025) инъекция знания о произведении усиливает LLM-детект спойлеров (знание-интенсивный > обученного); foreshadowing-реестр — одна работа (CFPG 01.2026, Foreshadow-Trigger-Payoff триплеты из BookSum). **Dramatic irony registry в Ф1Ф2 не строить** — ущерб покрывается reveal-окнами; наши спойлер-окна действительно оказались «половиной механизма», вторая половина — pre/post-reveal алиасы, копеечная.
### 2.3 Annotator-pre-pass: скоуп и error-budget (Ф2)
Вся индустрия работает line-level со speaker/addressee на каждой строке (IGDA), а мы — chunk-level без атрибуции: **без атрибуции прямой речи voice-инъекции и voice-флаггеру не к чему привязаться** — это предусловие обоих механизмов. Числа по zh (добор):
- Speaker-ID на китайских романах — зрелая область (WP/《平凡的世界》 2596 реплик; JY-QuotePlus; CSI): few-shot GPT-3.5 на уся 85.587.6% спикер, **адресат на 1015 пп хуже** (70.379.9%) — а для реестра пар нужен именно joint (~7084%); затюненная малая модель бьёт LLM (95.1/85.1%). Frontier-чисел (GPT-4o/DeepSeek-V3/Qwen2.5) на zh speaker-ID НЕ опубликовано; en-потолок Llama-3-70b на невиданном романе 99.8% (контаминация проверена). Implicit-цитаты — концентрат ошибок (en: 7278%→~53%).
- **Скоуп Annotator Ф1.5Ф2 (обязательное ядро):** (а) **детерминированный пре-гейт**: explicit-кии китайского (имя+说/道/问 у кавычки) правилами — бесплатно и точно; (б) LLM только на implicit-остаток; (в) выход — speaker+addressee per реплика с disposition: **инъекция/флаггер работают только по CONFIRMED-атрибуции**, AMBIGUOUS не инжектить (симметрия с банком). Извлечение отношений/иерархии zero-shot непригодно (GPT-3.5 F1 0.260.52) → пары курировать как глоссарий (сид+человек), не доверять аннотатору. (г) **Мусор (не аннотировать):** пространство/погода/объекты сцены (читатель «где» почти не мониторит; F1 24% у детекции сцен), эмоции без речевого следствия, эпистемика вне reveal-точек.
- **COGS:** аннотатор-пасс амортизируется на книгу при инжесте (не пер-чанк в промпт редактора!); цен в литературе нет — считать из токенов; дешёвая роль (deepseek/локаль-спот) ≈ порядка стоимости драфта (~10% стандарт-микса) — уточнит смок. **Микро-бенч на 蛊真人 обязателен** (~200 реплик gold: LLM-предразметка ~90% + ручная дочистка; контроль мемоизации Min-K% — книга в претрейне).
---
## Направление 3. Промптинг литперевода
### 3.1 Гайды провайдеров (все фетчи 09.07.2026; почти всё — вендор-рекомендации БЕЗ опубликованных эффект-сайзов)
- **Согласованное ядро:** структурные блоки для отделения данных от инструкций — XML-теги канон Anthropic (`<instructions>/<context>/<example>`); **OpenAI — единственный с прямым (качественным) замером форматов: XML хорошо, JSON — особенно плохо** в long context (GPT-4.1 guide). Позитивные формулировки вместо голых запретов (Anthropic+OpenAI; запреты — с мотивировкой и исключениями). Reasoning-моделям НЕ добавлять ручной CoT (OpenAI, xAI); противоречивые инструкции для reasoning-модели жгут reasoning-токены = деньги (GPT-5 guide).
- **Расхождение по позиции:** Anthropic/Google — длинные данные наверх, запрос/инструкции в конец («up to 30%» — без методологии); OpenAI GPT-4.1 — инструкции **с обеих сторон** длинного контекста (если однократно — сверху). → «Сэндвич» совместим с обоими лагерями и с нашей раскладкой: 12 строки повтора ключевых констрейнтов ПОСЛЕ чанка, кэш префикса не ломается — дешёвый арм пилота.
- **Few-shot раскол по классу модели:** Google «всегда» (Gemini), Anthropic 35 в тегах, OpenAI reasoning «сначала zero-shot», DeepSeek R1 — few-shot вредит. Судье Gemini — 35 консистентных примеров; thinking-драфту DeepSeek — zero-shot.
- **DeepSeek-специфика:** единственный вендор с переводным промптом (信达雅 в Prompt Library) и **официальной temp 1.3 для перевода** (без замера; ось натуральности); **deepseek-chat/reasoner отключаются 24.07.2026** (алиасы deepseek-v4-flash) — миграция слагов срочная (бэкенд в курсе, D8-волна); **thinking-режим не поддерживает temperature/top_p/penalties** (см. §4). Anthropic **выпилил prefill** (400 на 4.6+) — тренд хрупкости канала.
- Для grok-4.3 вендорской документации больше НЕТ (доки описывают grok-4.5); наши квирки (default low, off через явный `reasoning_effort:"none"`) держатся только на live-фактчеках проекта — мониторить при любом изменении поведения.
### 3.2 Формат и позиция инъецируемых блоков (эмпирика)
- **Универсально лучшего формата НЕТ** — оптимум модель-специфичен (GPT-3.5 любил JSON, GPT-4 — Markdown; разброс до 76 пп на открытых моделях от косметики форматирования; ±23% MMLU от одного разделителя). **CONFIRMED.** → Формат инъекции — **гиперпараметр пилота** (plain `src → dst` vs markdown vs XML, отдельно для DeepSeek и grok), не решение по литературе; JSON — наименее вероятный кандидат; дешёвый буст — явно объявить формат блока в префиксе.
- **Позиция:** lost-in-middle воспроизводится уже на ~3k токенов (GPT-3.5: 75.8→53.8%, середина ХУЖЕ closed-book 56.1% — Liu et al.); позиционные смещения сильнее всего при входе ≤50% окна — короткий промпт НЕ защищает. **CONFIRMED.** Наша раскладка (префикс → инъекция → чанк в конце) согласуется: критичное не в геометрической середине. Меж-ходовой persona-drift (SPR) к stateless-чанкам неприменим — внутри одного хода внимание на system почти константно → **кэшируемый префикс с voice-блоком силы не теряет** (снятие позиционного противоречия RP-доктрины «ниже=сильнее»: она про силу оперативных инструкций, наша пост-кэшевая инъекция у чанка ей соответствует).
- **WMT25 Terminology (peer-reviewed; WMT24-таски не существовало):** победители — **пояснительные констрейнты** (o3-term-guide, 99.1% term acc) и **code-switching** (подстановка целевых терминов прямо в исходник, laniqo, 99.3%); дамп всего словаря — 90.7%. Даже случайная терминология поднимала chrF++ (63.6→68.1→71.0). Контролируемого A/B форматов глоссария не существует — конфаунд с моделью. *(Ревью: цепочка 63.6→68.1→71.0 — строка ОДНОЙ системы o3-term-guide, Track 1; «случайная терминология» в постановке таски = случайные слова источника с ПРАВИЛЬНЫМИ переводами из референса — «случайные верные подсказки», не шум; у слабых систем proper≈random — §7.1 findings; laniqo — не чистый code-switching: +LoRA-файнтюн и Pareto-декодинг, победа по Парето-оси accuracy при chrF++ у дна таблицы.)* STITCH-паттерн (удаление отработанных терминов из промпта) — кандидат в бэклог селективной инъекции.
- **Разбавление:** 24 пп к 3k токенов нерелевантного паддинга; без лексического якоря деградация уже на 28k (NoLiMa) — **точный AC-якорь = правильная ставка**; до ~100 одновременных инструкций фронтир держит ≥94%, ошибки смещены в хвост списка (primacy ×2), доминирует omission → CONFIRMED-критичное ставить первым в блоке, десятки терминов безопасны, **post-check остаётся обязательным** (omission — главный отказ).
- **Пометки ненадёжности НЕ защищают:** текстовые credibility-метки хуже naive RAG у 713B (CrAM); reasoning-модели замечают шум в trace, но следуют ему; маркеры неуверенности в тексте **занижают оценки LLM-судей** (EMBER, NAACL 2025). → Наша дисциплина «AMBIGUOUS лучше не инъектить вовсе» получает внешнее подтверждение; ⟨проверить⟩-пометка — для человека и post-check, на модель не надеяться; замера на фронтирах 202526 нет (граница).
### 3.3 Анти-галлюцинации, NO_CHANGE, минимальный дифф, «двухпроходность»
- **Негативные констрейнты:** у фронтиров негация в основном понимается, но упоминание запрещённого таргета **праймит** его (нарушения растут с давлением контекста; слабый 7B-препринт); вендор-консенсус — позитивный рефрейминг. Измеренные враги: **плотность инструкций** (GPT-4.1: 98→48.9% при 10→500; омиссии 30:1) и **включённый CoT** (NeurIPS 2025: «performance drops when CoT prompting is applied» на IFEval/ComplexBench) → reasoning редактора off — правильно и для констрейнтов.
- **NO_CHANGE/AMBIGUOUS:** дефолт LLM-редактора — пере-редактирование (GEC: ChatGPT P51.2/R62.8 vs GECToR P71.2/R38.4; правка безошибочного en-ru 0.62→0.51 COMET — Ki&Carpuat NAACL'24) → канал NO_CHANGE давать обязательно, прописать позитивно в префиксе. НО: **опция-артефакт** — плацебо-опции срабатывают как «Unknown» (15.75 пп acc, абстенция 32.9%, p>0.2 к плацебо; 2507.16199) и reasoning-FT снижает абстенцию на 24% (Meta FAIR) → долю NO_CHANGE не читать как качество, норма в PE 375% — только per-book калибровка на смоке. *(Оговорка пробы P3: наш grok с узким мандатом на чистом черновике и так вернул текст дословно — пере-редактирование может оказаться не нашей болью; мерить на грязных черновиках.)*
- **Минимальный дифф:** достижим — aider udiff снизил «лень» GPT-4 Turbo втрое; **search/replace-блоки — лучший формат генерации патчей у фронтиров (0.940.95 EM)**; гибкий апплай обязателен (жёсткий парсер = 9× ошибок). Вся эмпирика — КОД; для прозы замеров нет. → Арм пилота: редактор выдаёт search/replace-спаны по русскому черновику + гибкий детерминированный апплай в Go; бонус — режет output-токены редактора (~90% COGS) и даёт «доказуемые правки» (§17 антипаттерн-дока) бесплатно.
- **«Переводи как будто прочитал всю книгу» одним вызовом (V1.13): арм НЕ ставить.** Эмпирики «план+перевод в одном completion» не существует; близкие замеры против: выигрыш даёт refinement на готовом черновике (+1.05 COMET первый проход, дальше плато — 2506.04521), самогенерация «опор» окупается только с внешней QE-селекцией и ~14× цены (MAPS), декомпозиция незначима/в минус, DRT — файнтюн, ~12× output-токенов; self-check в том же вызове наследует галлюцинации черновика (CoVe: joint 60.8 vs factored 71.4 FACTSCORE). Наш draft→editor уже реализует единственный доказанный проход.
### 3-bis. Эхо-мода на плотном CJK (добор критика; проба полигону — §Пинги)
- Наука: off-target/language confusion — воспроизводимый системный дефект с бенчмарком (LCB, EMNLP 2024); **копирование источника — механистический аттрактор** трансформеров (copy-suppression головы, NeurIPS 2023; translation-initiation features, AAAI 2026 — их абляция каузально даёт копирование); verbatim-copy на zh-парах у современных LLM (вкл. DeepSeek) задокументирован (2504.16286) и инфлирует surface-метрики. Few-shot снижает off-target; примеры курировать (плохие — вредят). «Инструкция после текста» доказана только как формат файнтюна (Post-Ins), на frozen API — своя проба.
- **Инвентарь prefill-каналов по нашему пулу (вендор-доки):** ЕСТЬ у DeepSeek (beta base_url, `prefix:true`), Mistral (GA; вендор сам документирует use case «Language Adherence» — принуждение языка ответа!), Kimi (`partial:true`; ответ БЕЗ префикса — конкатенировать до эхо-гейта); **НЕТ** у xAI/Gemini (trailing model → 400)/GLM/OpenAI; Anthropic выпилил. → Префилл русским — реализуемая митигация **ровно на нашем черновом канале DeepSeek**, но не кросс-провайдерная несущая конструкция; **echo-гейт остаётся обязательным навсегда** (аттрактор механистичен). Открытый вопрос — совместимость beta prefix с обязательным thinking (эхо-мина запрещает thinking-off) — первый шаг пробы.
- **Эмпирика проекта (exp10/D19, пакет-2 полигона, увязка):** grok-4.3 `reasoning_effort:none` на плотных CJK-фрагментах 蛊真人 — **эхо 40%** (4/10 + 1 дегенеративный луп); контроль reasoning-ON — 10/10 чисто (гипотеза владельца «thinking = ре-анкоринг задачи» согласуется с механистикой translation-initiation features); Mistral 10/10 чисто; DeepSeek thinking-ON 1/10. D19.2 обобщил класс: «reasoning-off + плотный CJK = зона эха» — свойство класса моделей, не квирк вендора.
- **Наша проба митигаций (P4, мандат 3-bis-в; сырые артефакты в scratchpad):** базлайн-реплика конфига exp10 на grok-none дала **3/10 эха** (стохастично и ПО ДРУГИМ фрагментам, чем у полигона — эхо не детерминировано per-fragment); **инструкция ПОСЛЕ текста — 0/10; микро-few-shot (2 пары zh→ru) — 0/10; комбо — 0/10**. На deepseek (эхо-фрагмент gu-008, база 2/3; SFW-кейс T1+реестр, база 2/3): **инструкция-после 0/6 суммарно, микро-few-shot 0/3 (gu-008), префилл «Перевод:\n» (beta prefix) — 0/6**. Wire-аудит по `usage.completion_tokens_details.reasoning_tokens` (пост-верификация по сохранённым сырым записям): **все v1-вызовы шли с thinking-ON per-call** (reasoning_tokens 1113204 > 0; конфиг polygon providers.json без thinking-параметра → дефолт enabled подтверждён на проводе, не по доке), причём **все три deepseek-эха P4 случились ПРИ thinking-ON** (базовые gu-008: rt 111/182; L-арм T1: rt 149 — испр. оркестратором по пересчёту сырья) — thinking снижает, но не исключает эхо (сходится с полигонскими «25% даже при thinking-ON», exp10-контроль 1/10). ⚠ **Анти-находка: явный языковой констрейнт («весь вывод — на русском, кириллицей») на grok-none ИНВЕРТИРУЕТ эффект — 9/10 эха** (verbatim-китайский без единого русского слова; diff с базой — одна строка system) — митигации модель-специфичны и могут усиливать аттрактор; в боевые промпты БЕЗ замера не вносить. **Префилл×thinking (открытый вопрос добора — закрыт wire-фактом):** beta prefix-completion на v4-flash работает (не 400) и **отключает thinking — `reasoning_tokens=0` во всех 6/6 префилл-вызовах** (в v1 без префикса тот же промпт даёт >0); предмет гейта (эхо) при русском якоре не возник (0/6), но цена по качеству реалий (thinking их чинит — exp03) не мерена → в драфт-канал только после fidelity-проверки. Рамка D19.2 сохранена: митигация = снижение частоты (экономия эскалаций), echo-гейт обязателен всегда.
---
## Направление 4. Параметры запроса (V1.8)
Свежая эмпирика (202426) **не даёт причины менять draft 0.3 / editor 0.4**: ни одного прямого замера temperature для литперевода или монолингвальной худ-редактуры не опубликовано (verified-absence). Косвенно: MT — самая temp-чувствительная задача с оптимумом около 0 по адекватности (12 открытых моделей, FLORES; монотонный спад), greedy ≥ sampling вне креатива (NAACL 2025), temp 0→1 незначим для problem-solving, «temp=креативность» не подтверждается (слабая корреляция с новизной, умеренная — с бессвязностью). Вилка с вендором: DeepSeek официально рекомендует **1.3 для перевода** — но это ось натуральности/translationese, которую академия не мерила. **Разрешается только своим свипом с ДВУМЯ осями (fidelity + натуральность).**
**Два wire-факта гейтят любой свип (оба CONFIRMED по вендор-докам):**
1. **Thinking-режим DeepSeek МОЛЧА игнорирует temperature/top_p/penalties.** Наш драфт-канал держит thinking ON (эхо-мина) → **temp 0.3 драфта, вероятно, no-op**. Это же означает: temp-арм драфта в пилоте фиктивен, пока не подтверждён non-thinking канал без эха.
2. У DeepSeek-V3 был документирован **нелинейный маппинг API→model temp** (×0.3 при T≤1: API 1.3 ≈ модельная 0.6); в карте V4 маппинг не упомянут — нужен live-probe (дисперсия выходов при API temp 0.01/1.0/2.0).
Прочее: **Gemini 3.x — temp=1.0 обязателен** (вендор: ниже — «looping or degraded performance»; судью не охлаждать, детерминизм добирать структурированным выводом/медианой повторов); reasoning-модели блокируют ручки (OpenAI o/GPT-5 temp=1 only; xAI reasoning — ошибка на penalties; статус grok-4.3 при `effort:none` неизвестен — probe бэкенду); **min_p не экспонирован ни одним нашим API и научно оспорен** (переанализ: при контроле гиперпараметров не превосходит бейзлайны) — исключить; **penalties ненадёжны против петель и портят длинный текст** (frequency ломается на длине; presence >1.2 деградирует) → петли лечить детерминированным флаггером (top n-граммы + slop-лист, EQ-Bench-паттерн) + redrive, не penalties.
**ТЗ полигону — параметр-свип (готовый арм, ~$12):** (0) пре-шаг, блокирующий всё: wire-аудит — пишутся ли sampling-параметры в thinking-канале DeepSeek (3×2 вызова, дисперсия на одном чанке) + V4-маппинг + grok `effort:none`+penalties; (1) драфт-арм (только если существует non-thinking канал без эха): API temp {0.3, 0.7, 1.0, 1.3} × оси {fidelity: M-набор memory_eval; натуральность: BWS/судья + MTLD/длины}; (2) editor-арм grok {0.4, 0.7, 1.0} — выше не идти (редактор слеп к оригиналу, дрейф не отловится); (3) судья Gemini temp=1.0 фикс; (4) min_p/penalties — вне скоупа.
---
## Направление 5. Прайор-арт наших «уникальных» механизмов
| Механизм | Прайор-арт | Вердикт для клейма стратревью |
|---|---|---|
| Спойлер-окна since/until | Нигде в переводческих тулзах (RP/CAT/фан-MT/патентные индексы). Ближайшее: **NovelCrafter Codex Progressions** (писательский тул: addendum/replacement записи видны ИИ только со сцены создания — готовый UX-паттерн «замена с главы N» одной операцией); SillyTavern sticky/cooldown/delay (только нижняя граница+инерция; окно NM — открытый фича-реквест #5193) | **Выживает** (PLAUSIBLE-absence: скрининг, не FTO — испр. ревью по собственному п.6 слабых мест) |
| Детерминированный no-LLM словарный слой | **Массовая практика фан-стека:** GalTransl — 译前/译后-словари + условный 条件字典 с булевой логикой + GPT字典 с селективной инъекцией по матчу батча; LunaTranslator — плейсхолдер-lock ZX?Z + `{DictWithPrompt}`; SakuraLLM v1.0 — `src->dst #annotation` как экосистемный стандарт; noveltrans — SHA-256 entity-lock; AiNiee build_glossary | **Снимается как уникальность, берётся как учебник**: уникальна не селективность, а формула «disposition+окна+бюджет+AC-детерминизм» |
| Scene-state инъекция в MT | Нет нигде (манга-MT берёт сцену из ИЗОБРАЖЕНИЯ — COLING 2025; Agentic AI Translate явно отказывается) | **Выживает** |
| Voice-exemplars в MT | Нет нигде; прайор-арт голоса в MT = стиль-хинты в info-поле глоссария (GalTransl `あたし→我/人家 "use 人家 when being cute"`, пол в LinguaGacha) и per-utterance formality/honorifics-контроль (IWSLT); продуктовые клеймы NAVER/Mantra/XL8 без раскрытых механизмов | **Выживает с сужением**: «механизм не раскрыт ни одним найденным конкурентом», не «первые вообще» (испр. ревью: «первые с опубликованным механизмом» ложно до фактической публикации) |
| Патенты | Терминологическая консистентность — есть (CN104298663A, CN103678287B, US11341340B2); NAVER honorific-патент (KR102188564B1) — глобальный per-request токен-контроль, не пер-персонажный; spoiler-/character-aware перевод — **не найдено**. ⚠ Статус: скрининг Google Patents-индекса, НЕ FTO (Espacenet 403, KIPRIS/CNIPA недоступны; Mantra JP-патенты не проверены — 503) | Риск низкий, статус честный |
Конкурентные механизмы голоса дороги для нашей COGS-модели: Mantra — длинный контекст (раздувает каждый чанк = деньги на 90%-редакторе), XL8 — файнтюн на серию (несовместим со стейтлесс API+кэш-префиксом). **Наш подход — единственный найденный, совместимый с кэшируемым префиксом и ~800-токенным бюджетом.**
---
## Направление 6. Креатив (гипотезы; каждая — со слотом; всё помечено 🧪)
1. 🧪 **Реестр обращений пар** (Treatments-list/呼称表-паттерн) — селективная инъекция по двум именам + детерминированный ты/вы-флаггер. Самый дешёвый и самый обоснованный новый тип записи (§2.1). Слот: инъекция + флаггер.
2. 🧪 **NG-лексика персонажа** (5-е поле 口調表; FFXIV-правила) — «этот персонаж никогда не говорит X» проверяется AC за $0. Слот: детерминированный флаггер.
3. 🧪 **Операция «замена термина с главы N»** (NovelCrafter progressions): одна команда ставит `until_ch=N` старой записи и `since_ch=N` новой — закрывает дыру «оба варианта активны». Слот: тулинг банка (tmctl), не пайплайн.
4. 🧪 **Голос негативными констрейнтами + лимит лексикона** (библия Freaks and Geeks: «never be too clever», «nothing more than teenager's lexicon») — для персонажей-масок дешевле экземпляров. Слот: префикс (voice-профиль, поле ng/lexicon-cap). Оговорка: негативы — с мотивировкой (§3.3).
5. 🧪 **Аудиокнижный «рефрешер»**: чтецы держат голос, переслушивая 23 записанные реплики перед сессией — прямой аналог наших exemplars; их паспорт из ~7 полей (age/pitch/pace/accent/emotional baseline/quirks) — донор полей voice-профиля. Слот: схема профиля.
6. 🧪 **`knows_since_ch` из писательских series bibles** («What they know as of each book / Secrets / Lies believed») — точечный флаг «X ещё не знает Y» тем же механизмом окон, только для сцен с активным секретом. Слот: селективная инъекция, Ф2+, после reveal-окон.
7. 🧪 **STITCH-паттерн** (WMT25): термин, отработанный моделью N чанков подряд, перестаёт инжектиться (экономия бюджета инъекции; post-check продолжает следить). Слот: селективная инъекция, бэклог.
8. 🧪 **Префилл русским на DeepSeek beta** как анти-эхо драфт-канала (+микро-few-shot zh→ru пары в кэш-префиксе + дубль «переводи на русский» после чанка). Слот: адаптер/промпт; проба — полигону (§Пинги).
9. 🧪 **Blind-attribution как судья-вопрос пилота**: «кто из персонажей говорит эту реплику?» по переводу без атрибуции против того же вопроса по исходнику — метрика потери голоса без разметки. Слот: арм пилота.
10. 🧪 **«Паспорт тона главы»** (ATTG/bracket-metadata из NovelAI): 1 строка `[Тон: мрачный; Темп: быстрый]` на чанк от Annotator. Оговорка: механизм завязан на файнтюн NAI — на инструкт-API перенос не гарантирован; только как дешёвый арм.
11. 🧪 **Эхо exemplar-контента** — контент-контаминация из образцов никем не мерена: добавить в пилот флаггер эха реплик-экземпляров в выходе (по образцу echo-контроля memory_eval). Слот: флаггер/метрика пилота.
---
## Пробы (живые, 2026-07-09; индикатив — малый N!)
**Материал:** 蛊真人, SFW-сцены с контрастными голосами: T1 — лесть служанки (§11, реплики 沈翠+方源, обрезано до SFW-границы), T2 — конфронтация братьев (§18, 方源+方正); источники экземпляров — §3, §8 (не пересекаются с тестовыми). **Стек:** deepseek-v4-flash (боевой драфт-промпт+глоссарий, thinking ON), редактор grok-4.3 (`reasoning_effort:"none"`, temp 0.4, боевой монолингвальный промпт), судьи grok-4.3 и gemini-3.1-flash-lite/3.5-flash (кросс-семейно к драфту, слепые метки, свап позиций). Инъекция аппроксимирована блоком в конце system (боевой слот — отдельное system-сообщение; оговорка). Сырые выходы: scratchpad сессии `probes/raw/*.json` (полные промпты/выходы/usage/цены; дубль — `/home/ubuntu/books/gu-zhenren/research15-probes/`). Потрачено $0.04 (P1P3; P4 добавил ~$0.24 — итог $0.28, сведён ревью по usage×прайс).
**P1 — voice-инъекция A/B/C/D на драфте** (A база / B дескрипторы / C экземпляры 24 реплики/спикер / D гибрид «строка регистра + 23 реплики»):
- **Детерминированный маркер** (самоуничижительное самоназвание 奴婢×4 в T1; прототип флаггера-слоя-1): база **1/4** (сплющено в «я»), дескрипторы 3/4, **экземпляры 4/4, гибрид 4/4**. Ты/вы служанка→господин: везде «вы» (0 нарушений; частично маркировано 您 в исходнике).
- **Слепые судьи** (5 валидных вердиктов: grok ×2 свапа, gemini-lite ×2, gemini-2.5-flash ×1 — испр. оркестратором: оба вызова gemini-3.5 на T1 упали 503): **гибрид D — ранг-1 единогласно во всех пяти**; порядок B/C/A ниже нестабилен (позиционный шум). Согласуется с предсказанием литературы (sheet+exemplars > каждого по отдельности). *(Пересчёт ревью: счётчики маркера — выход флаггера analyze_voice.py, включающего смежный маркер «осмел-» и двойной счёт внутри реплики; строгое послотовое выравнивание 奴婢×4 даёт база 0/4 · дескрипторы 2/4 · экземпляры 3/4 · гибрид 4/4 — порядок армов тот же.)*
- **T2 (братья, «лёгкая» сцена — голоса несёт содержание):** маркеры арм-нейтральны (ты/вы 0 нарушений везде), судьи предпочли БАЗУ армy C (2/2 свапа) — на немаркированных голосах инъекция шумит. → **Селективность по яркости: инжектить профили только маркированных голосов** (поле brightness).
- P2 (реестр ты/вы пар, R-арм): на этих чанках лифта нет — пары «лёгкие» (претрейн/您); ценность реестра сосредоточена в неоднозначных парах — **готовое ТЗ полигону** (трудные пары: равные статусы, смена отношений, отсутствие 您).
**P3 — сглаживает ли монолингвальный редактор голос:** черновики T1-A (сплющенный) и T1-C (голосовой) → grok-editor ± voice-блок. Результат: **3 из 4 конфигураций вернули черновик ДОСЛОВНО** (нулевой дифф; в четвёртой — одна микроправка). Сглаживание голосов редактором не воспроизвелось; **восстановление** голоса voice-блоком — тоже (сплющенный A остался сплющенным). → Голос выигрывается на драфте; редактору — констрейнты сохранения, не восстановления. Побочно: «пере-редактирование как дефолт LLM» (§3.3) на нашем узком мандате+чистом черновике не проявилось — grok-редактор экстремально консервативен (N=4, чистые короткие черновики; на грязных может быть иначе).
**Пойманные операционные грабли** (все с сырыми артефактами): deepseek-эхо 2/3 на одной конфигурации (§3-bis); **gemini-2.5-flash — интермиттентный 404 «no longer available» при наличии в /models** (судья fidelity-оси memory_eval!); gemini-3.5-flash — 503 high demand + **`finish_reason=content_filter: PROHIBITED_CONTENT` на сцене пощёчин** (exp07-вывод о мёртвой ветке content_filter не переносится на Gemini 3.5); gemini-3.1-flash-lite — рабочий; CJK-утечка «每人» в русском выходе драфта (валидация cjk-гейта); wire-грабля `extra_body.google` (нужен дабл-нест — уже знал polygon providers.json).
**P4 — эхо-митигции (мандат 3-bis-в, дополнение после амендмента 17ccea4/D19.2).** Материал: 10 эхо-провоцирующих zh-фрагментов пакета-2 полигона (`refusal_corpus_gu`, уровень-2 violence, скрин уровня-3 чист — аудит полигона) + мой SFW-кейс T1+реестр. Конфиги — точная реплика exp10 (grok-4.3 `reasoning_effort:none` temp 0.3 / deepseek v1 thinking-ON / система refusal_bench). Метрика — детерминированная (cjk_share>0.15), качество переводов НЕ судилось (только эхо-ось):
| Конфиг (база) | База | Инстр. ПОСЛЕ текста | Микро-few-shot | Языковой констрейнт | Комбо | Префилл «Перевод:\n» |
|---|---|---|---|---|---|---|
| grok-4.3 none, 10 фраг. | **3/10** (полигон: 4/10) | **0/10** | **0/10** | **⚠ 9/10** | **0/10** | канала нет (xAI) |
| deepseek think-ON, gu-008 ×3 | **2/3** | 0/3 | 0/3 | — | — | **0/3** (reasoning_content отсутствует) |
| deepseek think-ON, T1+реестр ×3 | 2/3 (P1) | 0/3 | — | 1/3 | — | **0/3** |
Итог: дешёвые митигации (постинструкция ≈10 ток. некэшируемого хвоста; few-shot — в кэшируемый префикс ≈0) сняли эхо 0/29 против базовых 3067% по армам (пул ~44%) на обоих провайдерах; языковой констрейнт на grok-none — **инверсия в 9/10** (одна строка diff, verbatim-эхо без русского) → промпт-строки против эха валидировать per-model замером, не здравым смыслом. Эхо стохастично по фрагментам (наши эхо-фрагменты пересекаются с полигонскими частично: gu-003/008 да, gu-009 у нас/не у них, gu-001/006 у них/не у нас).
---
## Сводная таблица: боль → механизм → слот → цена → как мерить → фаза
| Боль (источник) | Механизм | Слот архитектуры | Цена COGS/токены | Как мерить | Фаза |
|---|---|---|---|---|---|
| Стирание голосов маркированных персонажей (12-common §3; проба: 1/4 маркеров у базы) | **Voice-профиль**: гибрид «1 строка регистра + 35 RU-экземпляров» (схема §1.5); отбор по разнообразию, БЕЗ similarity-RAG; только спикеры чанка; топ-2 героя — в префикс | Драфт-инъекция (тот же AC по имени спикера) + префикс; редактору — только констрейнт сохранения | ~100200 ток./активный профиль; ≈+$0.20.3/вебновелла-500 (+23%) | Арм пилота A/B/C/D (наша проба = скаффолд) + маркеры слоя-1 + blind attribution; эхо-флаггер экземпляров | Ф2 (сид вручную на приёмке Ф1 — дёшево) |
| Рандомное ты/вы в парах (04-unhappy §3; 67% деиксис-ошибок En→Ru) | **Реестр обращений пар** (speaker→addressee, register, since/until; Treatments-list-паттерн) | Селективная инъекция по ДВУМ именам; CONFIRMED-only | ~1020 ток./пара, редко >2 пар/чанк | Детерминированный ты/вы-флаггер по атрибутированным репликам; полигон-эксп на ТРУДНЫХ парах | Ф2 (поля уже в духе D7-журнала) |
| Дрейф голоса на дистанции книги (никем не измерен — §1.1) | **Voice-флаггер 2 слоя**: (1) детерминированные маркеры (ты/вы-флип, self_ref, NG-лексика, длины) $0; (2) mStyleDistance-агрегат по главе, локально | Детерминированный флаггер + офлайн-телеметрия | $0 / $0 (локаль) | Precision на пертурбационном сете (свап ты/вы, канцелярит-инъекция); IWSLT22-RU + mSynthSTEL-ru | Ф2 |
| Спойлер формулировкой/референцией (12-common §16; эксплицитация против саспенса) | **Reveal-окна**: `reveal_ch` + pre/post-reveal алиасы; морфо-чек рода у `gender=hidden` до reveal | Расширение спойлер-окон глоссария (та же механика) + флаггер | ~0 (десятки reveal-точек на книгу) | Мини-реестр reveal-точек приёмочной книги + judge-вопрос «раскрыто ли X до гл. N» | Ф2 (морфо-род — сайдкар C3) |
| Эхо на плотном CJK (боевое: grok-none 40% exp10, deepseek 25%) | **Замерено (P4): инструкция-после-текста + микро-few-shot = 0/29 vs база 3067% по армам (пул ~44%)** на обоих провайдерах; префилл DeepSeek beta 0/6 (но обходит thinking); ⚠ языковой констрейнт на grok-none — ИНВЕРСИЯ 9/10, не вносить; **echo-гейт остаётся навсегда** (D19.2) | Промпт (few-shot в кэш-префикс, постинструкция в хвост) + адаптер (prefix — опция) | ~0 (префикс кэшируется; хвост ~10 ток.) | Сделано индикативно (P4); остаток: fidelity-цена митигаций (не судилась) + prefill-качество реалий без thinking | Ф1.5 (снижает COGS эскалаций) |
| Атрибуция реплик — предусловие голоса и пар (§2.3) | **Annotator-ядро**: детерминированный пре-гейт (имя+说/道) + LLM на implicit + disposition; отношения — курировать как глоссарий | Пре-пасс инжеста (амортизируется на книгу) | ~порядка стоимости драфта, один раз | Микро-бенч ~200 реплик 蛊真人 (gold; joint speaker+addressee; Min-K% контроль мемоизации) | Ф2 |
| Пере-редактирование/потеря NO_CHANGE (§3.3; не воспроизвелось на чистом черновике) | NO_CHANGE-канал позитивной формулировкой + minimal-diff (search/replace + гибкий Go-апплай) | Промпт редактора + раннер | Минус output-токены (редактор = 90% COGS) | Арм пилота: diff-режим vs полный рерайт (verbatim-rate, COGS, качество) | Ф2 (арм) |
| Формат/позиция инъекции (модель-специфично — §3.2) | plain-строки vs markdown vs XML; сэндвич (повтор констрейнтов после чанка) | Рендер инъекции | ~0 | Дешёвый арм пилота отдельно для deepseek и grok | Ф2.5 |
| Слепой temp-свип (§4) | Пре-шаг wire-аудита (thinking×sampling no-op; V4-маппинг; grok penalties) → потом свип с двумя осями | Полигон-эксперимент | ~$12 | ТЗ в §4 | Ф2.5 (пре-шаг — сейчас) |
---
## Честные слабые места
1. **Все probe-числа — индикатив:** N=2 сцены × 1 сэмпл/арм, одна книга (в претрейне — модель «знает» персонажей!), инъекция аппроксимирована концом system, exemplars курировал автор проб (author=curator; в проде — approved-переводы). Единогласие судей по гибриду устойчиво к свапу, но 5 вердиктов — не мощность. Претрейн-знакомость 蛊真人 может занижать ценность инъекции (модель различает братьев сама) и завышать лёгкость ты/вы — вебновелльный срез вне претрейна обязателен (та же оговорка, что у всей эмпирики проекта).
2. **P3 (редактор не сглаживает) — 4 вызова на чистых коротких черновиках.** Верить как «страх снят» нельзя; верить можно как «на дефолтном конфиге пере-редактирование не дефолт». На длинных/грязных черновиках и при think-ON поведение может отличаться — рука пилота 7-bis это покроет.
3. **Клейм «exemplars>дескрипторов» проверен на РОЛЬ-ПЛЕЕ и авторском стиле, не на переводе** — инъекция реплик при MT не изучена нигде (наш арм будет первым), перенос RoleLLM-чисел на zh→ru — по аналогии. Формат «отдельные диалоговые ходы» (сильнейший по RoleLLM) в наш одно-сообщенческий слот инъекции переносится лишь частично (скрипт-строки) — форма подачи в боевом слоте не оптимизирована.
4. **Вся измерительная база голоса EN-центрична**; mStyleDistance покрывает русский, но ru-специфичных AV-чисел не публикует (0.66 avg на чужих языках), 94.7% разделимости ru-регистров — невоспроизводимо (артефакты не выложены). Ru-детектор до собственной валидации — гипотеза с прецедентами, не факт.
5. **Ты/вы-реестр не показал лифта на пробе** — потому что пары были лёгкими. «Мерить на трудных парах» — обещание, а не результат; возможно, DeepSeek и там справится сам, и реестр станет только флаггер-осью (тоже ценно, но дешевле).
6. **Негативные absence-клеймы** («никто не делал X») — это PLAUSIBLE по природе: патентный скрининг не FTO (Espacenet/KIPRIS/CNIPA недоступны), промышленные механизмы (NAVER/Mantra/Yuewen) могут существовать непублично; reddit-треды не индексируются — RP-консенсус реконструирован по докам/гайдам/issues.
7. **COGS-оценки voice-слоя** (+$0.20.3/вебновелла) — модельные (exp08-пропорции), не замер; цена Annotator-пасса вообще не оценена литературой — только собственный смок ответит.
8. **Часть первоисточников не вскрыта:** OpenReview-рецензии DelTA (anti-bot), точные PDF-таблицы OpenToM/SIG/SPC, Netflix KNP-шаблон (за партнёрским логином), «When Thinking Fails» per-model дельты (PDF не парсится), 2509.24930 verbatim. Помечено в направлениях; на несущие выводы не опирается.
9. **Соседний функционал не перепроверялся**: выводы «уже установлено» (CoT-плато, in-context демо, editor-bake-off) взяты как данность по мандату — если пилот их флипнет, локальные выводы этого дока (напр. «двухпроходность не ставить») пересмотреть.
10. **P4 (эхо-митигции) — индикатив с тремя ограничениями:** (а) качество митигированных переводов НЕ судилось — только эхо-ось; постинструкция/few-shot могли внести другие искажения (маловероятно, но не исключено); (б) корпус один (10 violence-фрагментов + 1 SFW-чанк одной книги из претрейна), N на арм 10/3; (в) инверсия языкового констрейнта (9/10) может быть чувствительна к формулировке строки — проверена ОДНА формулировка; вывод «не вносить без замера» устойчив, вывод «любой языковой констрейнт вреден» — нет. Статус thinking в каждом вызове верифицирован по wire (`reasoning_tokens` в сохранённых usage: v1 всегда >0, префилл всегда =0) — это НЕ допущение; вендор-док beta prefix про взаимодействие с thinking молчит — поведение установлено эмпирически, при смене API перепроверять.
## Ключевые источники (сверх процитированных инлайн)
Направление 1: arXiv:2602.19840 (SAMAS); 2510.09116 (DITING); 2412.11732 (WMT24-Lit); 2408.17308 (lexical diversity); 2410.12757 + aclanthology 2025.findings-acl.869 (StyleDistance/mStyleDistance); 2406.11368 (UAR-цитаты); 2405.10150 (speaker-verification); 2502.09082 (CoSER); 2402.10962 (persona drift/SPR); 2603.05890 (long-form errors, human recall 17%); 2401.01275 (CharacterEval); aclanthology 2024.findings-acl.878 (RoleLLM); 2502.13028 (sheet>RAG); 2505.16612 (MT-персонализация); 2025.findings-emnlp.532 (насыщение/имплицитные стили); 2509.14543 (similarity вредит); ar5iv 2308.09597 (ChatHaruhi — без абляции); docs.sillytavern.app, rentry.co/alichat, wikia.schneedc.com/trappu, docs.novelai.net, github character-card-spec-v3; IGDA Loc SIG v2.2 PDF; note.com/renka_tono (話し方リスト); ATA-AVD KNP; partnerhelp.netflixstudios.com; gridly.com (04.2026); GDC2007-Honeywood.
Направление 2: aclanthology P19-1116 (Voita деиксис); 2022.findings-naacl.47 + iwslt.org/2023/formality (CoCoA-MT); 2410.08143 + ar5iv (DelTA, сверка таблиц); 2025.tacl-1.42 (TransAgents); 2607.00918 (Magnet); 2503.23512 (SCORE); 2310.15421 (FANToM); 2402.06044 (OpenToM); 2112.08596 (StoRM); 2025.r2lm-1.11 (CAST); 2601.07033 (CFPG); 2311.08836 (gender-канал); 2103.11878 (BWB); Inform7/CiF/Graphiti-доки; 2408.09452 (zh speaker-ID GPT-3.5); 2312.14590 (SIG/WP); 2507.04852 (zh relations); 2025.naacl-short.62 (Llama-3 контаминация проверена).
Направление 3: platform.claude.com long-context-tips / use-xml-tags; developers.openai.com gpt4-1 + gpt-5 guides + reasoning-best-practices; ai.google.dev long-context / prompting-strategies / gemini-3; api-docs.deepseek.com (parameter_settings, thinking_mode, news260424, chat_prefix_completion); docs.mistral.ai/guides/prefix; platform.moonshot.ai partial; lost-in-the-middle (Liu); 2508.07479 (относительная позиция); 2507.22887 (демо в system); 2411.10541+2310.11324 (формат); 2025.wmt-1.30 (WMT25 Terminology); 2402.14848 (dilution); 2502.05167 (NoLiMa); 2507.11538 (IFScale); 2406.11497 (CrAM); 2025.naacl-long.452 (EMBER); 2507.16199 (Abstention Inflation); 2506.09038 (AbstentionBench); 2404.07851+2303.13648 (over-editing); aider.chat udiff; 2510.12487 (Diff-XYZ); 2506.04521; 2305.04118 (MAPS); 2412.17498 (DRT); 2309.11495 (CoVe); 2406.20052 (LCB); 2310.04625 (copy-suppression); 2504.16286 (verbatim zh); 2308.12097 (Post-Ins); 2505.11423 (CoT vs instructions).
Направление 4: 2506.07295 (temp-кривые MT); 2025.naacl-long.211 (greedy); 2024.findings-emnlp.432 (01 плато); 2405.00492 (temp≠креативность); 2506.13681 vs 2407.01082 (min_p спор); 2504.20131+2512.04419 (penalties); HF DeepSeek-V3-0324 README (маппинг temp); eqbench longform.
Направление 5: github GalTransl/LinguaGacha/SakuraLLM/noveltrans; docs.lunatranslator.org; novelcrafter.com progressions; ST issue #5193; patents.google.com (CN104298663A, KR102188564B1, US20070294077A1, KR20260021445A); issueinsight.co.kr + byline.network (NAVER 캐릭터 인식 번역, 05.2026); prtimes.jp (Mantra); xl8.ai; chinawriter.com.cn (Yuewen); 2605.17041 (Agentic AI Translate).
Направление 6/доцифровое: 7kingdoms.ru (Виленская, глоссарий ~100 стр.); ata-divisions.org (Treatments list); louiseharnbyproofreader.com (style sheet); slate.com (библия Freaks and Geeks); jaymyersvoiceover.com (голосовой паспорт чтеца); rivereditor.com/janefriedman.com (series bible «What they know»); hp-games.net (Росмэн-дрейф — негативный контроль); glvrd.ru/api (Главред).