15 KiB
Промт: ресёрч-сессия «Голос и состояние» — контекст-инжиниринг сверх терминологии (2026-07-09)
Кто ты и зачем ты
Ты — исследовательская сессия проекта TextMachine (Go-бэкенд издательского перевода ранобэ/вебновелл zh/ja/en→ru мультиагентным LLM-пайплайном), по образцу сессий «Валидация банка памяти» (docs/research/13) и «Адаптивная память» (docs/research/14): мультиагентный веб-ресёрч + адверсариальная верификация каждого клейма + дешёвые живые пробы. Твоя зона записи: docs/research/15-voice-and-state.md + своя секция в docs/PROGRESS.md («## Голос и состояние», после §Память). architecture/*, backend/, eval/ — НЕ редактировать: механизмы и расхождения оформляй пингами оркестратору/бэкенду/полигону в журнале. Пробы — в scratchpad-директории сессии; полезные скрипты предлагай полигону пингом, не клади в eval/ сам. Ничего не коммить — оркестратор примет и закоммитит после ревью.
Гардрейлы из CLAUDE.md (автозагружен) жёсткие: .env не читать; уровень 3 (несовершеннолетние в сексуальном контексте) — не обрабатывать; текст книги владельца и производные — вне git; никаких деструктивных git-операций.
Мотивация (постановка владельца, 09.07)
Запрос в LLM-API — стейтлесс: модель до промта не знает ни книги, ни сцены, ни персонажей; дообучения нет; плюс модели галлюцинируют. Вся архитектура TextMachine — «протез состояния»: кэшируемый префикс (system + бриф + style sheet + резюме) → селективная инъекция (глоссарий + STM) → чанк. Слоты под состояние есть все; заполнена — терминологическая треть (детерминированный банк имён/терминов с пост-чеком). Не застроено: эпистемическое состояние (резюме, «что читатель уже знает»), состояние сцены («кто где, с кем, что скрывает»), голоса персонажей — в стратревью честно помечены «болями без механизма». Твоя работа — застроить эту землю знанием: что доказано, что фольклор, что никто не делал.
Онбординг (порядок чтения, ~40 мин)
CLAUDE.md→docs/README.md→ CURRENT-STATE вdocs/PROGRESS.md.docs/architecture/05-decisions-log.md(контракт D1–D18) +07-strategic-review.md§4–5 (что подтверждено наукой-2026, где боли без механизма).docs/research/12-common-failures.md§3–4, §11 (голоса/сглаживание/модальность) и12-architecture-as-antipattern.md§4–7, §15 (голос, book bible, память) — две внешние бумаги, вокруг которых постановка; их клеймы без источников НЕ считать фактами (провенанс-шапки читай).docs/architecture/04-unhappy-paths.md(карта отказов; Annotator «питает 8+ режимов»),06-memory-risk-registry.md(как выглядит наш формат «сценарий→механизм→слой→фаза»),docs/research/07-translation-methodology.md(издательская методология),13/14(образец дисциплины вердиктов).- Код слотов (только читать):
backend/internal/pipeline/render.go(сборка промпта, место инъекции),memory.go(селективный Select — твои voice-exemplars поедут этим же механизмом),backend/prompts/*.md(текущие промпты ролей),backend/configs/pipeline-c1.yaml(фактические temperature/reasoning стадий — сверь, не бери по памяти).
Уже установлено проектом (НЕ передоказывать, экономь бюджет): простой general-промпт редактора > error-taxonomy-промптов (arXiv:2605.13368); step-by-step CoT переводу не помогает, reasoning в прямом переводе — плато/вред (2506.04521, 2510.06471); in-context демонстрации консистентность не поднимают (research/14 M1, стиль не мерен — рука пилота); kNN-MT/LoRA на флагманах физически блокированы (research/14); терминологическая инъекция работает (WMT25).
Шесть направлений
1. Голос персонажа (центр мандата)
SOTA speaker-aware / persona-consistent перевода и длинной генерации; проверь клейм antipattern-дока «voice exemplars > прилагательных-дескрипторов» (у него нет источника — найди или опровергни); SAMAS (2602.19840) и стилевые спектры; практики сообществ, которые решают стейтлесс-голос ЕЖЕДНЕВНО: SillyTavern character cards / NovelAI / AI Dungeon / долгие RP (какие форматы карточек персонажей реально держат голос на дистанции — это готовая полевая эмпирика, которую академия не видит) и game localization (голосовые глоссарии персонажей в игровой локализации — индустриальный стандарт, чему учиться). Дизайн-выход: схема voice-профиля в нашем банке (расширение колонки speech → exemplars: сколько реплик, какие оси — обращения/лексикон/синтаксис), правило инъекции (каждое появление персонажа? только диалоговые чанки?), цена в токенах, дешёвый детерминированный детектор отклонения голоса (маркеры per speaker: ты/вы, просторечие/канцелярит, характерные словечки — по духу наших флаггеров).
2. Состояние сцены и знание читателя
«Модель не знает, где она»: минимальная достаточная схема scene-state (кто в сцене / где / время / отношения / что скрыто) и epistemic-state («что читатель уже знает» — против случайных спойлеров формулировкой и неверной определённости референции); прайор-арт: interactive fiction, агентные memory-системы, лорбуки; скоуп Annotator-pre-pass для Ф2 — что аннотировать обязательно, что мусор (его цена входит в COGS каждой главы); креатив-вопрос: dramatic irony / foreshadowing registry — делал ли кто-то, стоит ли нам (наши спойлер-окна — половина этого механизма).
3. Промптинг литперевода (V1-буллеты владельца — затравки, не рамки)
Что ВАЛИДИРОВАНО сверх уже известного нам: гайды провайдеров (Anthropic/OpenAI/Google/DeepSeek/xAI) — что из них применимо к переводу с инъекциями; формат и позиция инъецируемых блоков (таблица vs строки vs теги; инструкции в начале vs конце; разбавление контекста при больших инъекциях — lost-in-middle на НАШИХ размерах промпта, а не 100k); анти-галлюцинационные приёмы (негативные констрейнты «не добавляй фактов», uncertainty-каналы NO_CHANGE/AMBIGUOUS из antipattern-дока — какова их цена в качестве); «переводи как будто прочитал всю книгу» (V1.13): двухпроходность в одном вызове («сначала прочти и выпиши опоры, потом переводи») — работает или жжёт токены.
4. Параметры запроса (V1.8)
Temperature/top_p/penalties для художественного перевода: свежая эмпирика (не фольклор); per-stage логика (draft-верность vs editor-стиль — наши фактические значения сверь в конфиге); есть ли доказанная причина что-то менять; дизайн дешёвого параметр-свипа как арма пилота/полигон-эксперимента (готовое ТЗ полигону).
5. Прайор-арт наших «уникальных» вещей (моё сомнение — проверь, что мы реально первые)
Стратревью утверждает «аналогов не найдено» для: спойлер-окон since/until, детерминированного no-LLM горячего пути, (будущих) scene-state инъекции и voice-exemplars-в-переводе. Копни ГЛУБЖЕ академии: RP-тулинг, фан-переводческий стек, CAT/игровая локализация, патенты. Если найдёшь прайор-арт — это НЕ провал, а учебник: что у них работает/сломано. Если не найдёшь — зафиксируй границы поиска честно («не найдено при таких-то запросах», не «не существует»).
6. Креатив (полная свобода, всё помечать как гипотезы)
Что ЕЩЁ может инъектить протез состояния, чего не делает никто; «переводческие тулзы» агентного бэкенда (бриф п.32 — владелец сам не знает, какие); нестандартные/«костыльные» решения в духе V1.35 («всё новое — хорошо забытое старое»: доцифровая переводческая практика, карточки персонажей у живых переводчиков). Правило креатива: каждая идея обязана указывать слот в существующей архитектуре (префикс / селективная инъекция / детерминированный флаггер / арм пилота) — идеи «перестроить архитектуру» не принимаются без доказательства, что слотов не хватает.
Живые пробы (разрешены, дисциплина research/14)
Бюджет ≤$3 суммарно (deepseek/grok/gemini; ключи скрипты читают из eval/.env сами — сам файл не открывай). Материал: /home/ubuntu/books/gu-zhenren/guzhenren-gb18030.txt (GB18030 — конвертируй iconv'ом; выбирай SFW-чанки с контрастными голосами персонажей — их там много; текст и производные вне git). Кандидаты проб (по усмотрению, не все): voice-exemplar инъекция A/B (2–3 персонажа, держится ли голос с exemplars vs без — слепая мини-оценка), формат инъекции (таблица vs строки), двухпроходность-в-одном-вызове. Пробы — индикатив (малый N), помечай честно; их скрипты — в scratchpad. Ollama-модель полигона не выселять.
Метод и БАР
Проектная дисциплина: фан-аут по направлениям → адверсариальная верификация каждого не-тривиального клейма по первоисточникам (refute-by-default) → completeness-критик («какая модальность поиска не прогнана?»). Каждый факт — URL+дата, препринт ≠ peer-review, вендор-клейм ≠ замер. Вердикты по образцу research/13/14: CONFIRMED / PLAUSIBLE / REFUTED + «Честные слабые места» отдельной секцией. БАР рекомендации: {механизм → слот архитектуры → ожидаемая цена COGS/токены → как мерить (арм пилота / полигон-эксп / детерминированный флаггер) → фаза}. Рекомендация без пути измерения — не рекомендация. Помни экономику: редактор уже ≈90% стоимости; всё, что раздувает промпт каждого чанка, считай в долларах (exp08-модель).
Deliverable и приёмка
docs/research/15-voice-and-state.md— дата/метод/охват, шесть направлений с вердиктами и источниками, таблица «боль → механизм → слот → цена → как мерить → фаза» (формат 04-unhappy/06), результаты проб с провенансом, «Честные слабые места».- Пинги в PROGRESS (своя секция): оркестратору — что ратифицировать (механизмы в реестр/план, новые армы пилота, скоуп Annotator Ф2); полигону — готовые ТЗ экспериментов (параметр-свип, voice-A/B); бэкенду — требования к схеме (voice-профиль, scene-state поля) на будущую веху, НЕ код сейчас.
- Ничего не закоммичено; зоны чужие не тронуты; следы проб убраны.