9.4 KiB
Промпт-архитектура: состояние, решения, открытое (консолидированная заметка)
⚠ ДОПОЛНЕНИЕ 26.07 (пак-20, D39.42–53): в промпт-слое появились роль
terminologist(пар-пак, интерим-текст) и вариантныйtranslator-banknote.md; редакторская инъекция двухсекционная (D39.45); жанровый словарь отменён как класс (D39.47). Инвентарь §2 читать с этой поправкой.
⚠ СТАТУС-АПДЕЙТ 25.07 (оркестратор №7): несущая часть ПОСТРОЕНА. Pair-keyed промпты → конвенционный резолв
prompts/<пара>/<роль>.md+ конфиг-слой парыconfigs/pairs/(пак-15, D39.23); repair-промптыprompts/<пара>/repair/<класс>.md(пак-16, D39.24); «структурированный пакет конвенций пары» из этой заметки остаётся дальним планом. Читать как историю темы + реестр открытого.
Собрано оркестратором 2026-07-16 по запросу владельца («где заметка про промтинг?») — тема концерна 4 арх-ресета была размазана по
08-sync-audit-ledger(дорожка L4),09-target-architecture(§0.1, §2 слой 2), D-логу (D30.2, D39 п.7, D39.1–39.2) и research/18–19. Здесь — одно место; при конфликте побеждает D-лог. Обновлять при каждом лендинге, трогающем промты/слой 2.
1. Четыре вопроса владельца → где ответ и что с ним
| Вопрос владельца | Статус | Где живёт |
|---|---|---|
| Язык самого промпта (сейчас всё по-русски; для zh→en русский не должен участвовать) | ОТКРЫТ, спроектирован: язык промпта = свойство пакета пары, не хардкод. Первый замер ИСПОЛНЕН: Р6/D39.61 — ru/en-срез ОТРИЦАТЕЛЕН (эхо-ось), «не закрыт окончательно» оговоркой; остаток — язык промпта как свойство пакета для не-ru таргетов, вернётся с ja→ru | START_PROMT V4-п5 · аудит L4-prompt-language-always-russian (CONFIRMED/HIGH) · 09 §2-слой-2 · D39 п.7 |
| Вырезать правила языка из промтов в отдельный слой (Палладий/Поливанов, дискурс-нормы, few-shot) | СЕАМ ПОСТРОЕН (пак-1, D39.2): конфиг pair-keyed prompts: {zh-ru: …} + Book.LangPair() + fail-loud на чужую пару. Контент ещё НЕ извлечён — правила по-прежнему в теле zh-ru-файлов; извлечение в структурированный пакет гейтится exp15 + research/18 §D-3 («форма пакета не разрешена») |
research/18 §B2.2/§C#15 · 09 §2-слой-2 · D39-решение владельца «сеам сейчас, контент zh→ru» · пак-1 T3.3 |
| Почему структура абзацев и расширенный язык-промпт — только у РЕДАКТОРА? | ОСОЗНАННОЕ решение D30.2 (дешёвый буквальный черновик + вся реструктуризация у умного билингв-редактора; exp12: построчность = корень нечитаемости), альтернатива «переводчик отдаёт структуру» — Q4a ИЗМЕРЕН (D39.9: верность на translate-стадии не покупается), Q4b/Q4c не гонялись; асимметрия сохранена по данным; diff-контракт редактора — строка 106 | D-лог D30.2 (05:366 — «механизм реверстки — открытый вопрос») · аудит L1-*/H3 · research/19 §C · exp15 Q4 |
| Все промты zh→ru-центричны — неправильно для мультиязычного бэкенда | Ратифицирован инвариант общности (09 §0.1, поправка владельца 13.07): пара = ось данных, не кода. Латентный баг закрыт паком-1 (ja-книга теперь fail-loud, не едет тихо через «китайский паратаксис»). Новая пара = новый пакет-данные, не переделка кода |
09 §0.1 · D39 п.7 · пак-1 T3.2/T3.3 · аудит H2 |
2. Инвентарь промтов (после пака-1/1.5, HEAD)
⚠ Пути таблицы устарели механически: промпты живут ПАР-каталогами backend/prompts/zh-ru/<файл> (+ zh-ru/repair/, + classifier.md — D39.69); читать <файл> как zh-ru/<файл> (испр. оркестратором 04.08, D39.101).
| Файл | Роль | Что внутри | Пара |
|---|---|---|---|
backend/prompts/translator.md |
черновик (flash) | брифинг-переменные {{lang/genre/honorifics/transcription/venuti/footnotes}} + слабая вёрстка-однострочка (D30.2) |
де-факто zh→ru (ключ zh-ru в конфиге) |
backend/prompts/editor.md |
редактор (deepseek-v4-pro БИЛИНГВ ИНТЕРИМ, D39.22; glm-5 резерв), v3 | 4 мандата + ДИСКУРС-ПЕРЕВЁРСТКА (Ван Цуй) + чэнъюй-атом + структурные few-shot (---FEWSHOT---, тумблер per-stage) |
де-факто zh→ru |
backend/prompts/editor-mono.md |
референс-вариант D13.1 (не боевой) | узкий моно-мандат | — |
backend/prompts/judge-selector.md |
Ф2 (не исполняется) | — | — |
analyst.md— снесён паком-1 (сирота).terminologist.mdВОЗРОЖДЁН паком-20 (D39.42/45): живая роль пар-пакаbackend/prompts/<пара>/terminologist.md(интерим-текст, финальный — по замерам); рядом —translator-banknote.md(вариантный шиппинг-файл банкноты, D39.45/53).
Правила, сидящие В ТЕЛЕ промтов (кандидаты на извлечение в пакет пары после exp15): русское тире-оформление
диалога; «пиши живым русским»; паратаксис→гипотаксис-блок; чэнъюй-политика; few-shot-примеры (структурные,
по-русски). Переменные брифа ({{transcription}} и пр.) — уже данные книги, НЕ пакета.
3. Целевая форма (слой 2, 09 §2) — куда движемся
Версионируемый пакет конвенций пары src→tgt[×genre], снапшот-folded: дискурс-правила пары + few-shot
(в языке пары) + язык промпта + нормы транскрипции (Палладий для zh→ru, Поливанов для ja→ru — как
выбираемые политики) + лимитеры полноты. Стадия резолвит промпт из пакета по Book.LangPair() (сеам уже
работает). Гейты на стройку: exp15 (какие правила реально несут) + research/18 §D-3 (форма пакета).
4. Открытое по теме (маршрутизировано)
- Язык промпта — первый замер Р6/D39.61 отрицателен (см. §1); добор — с реальной не-ru книгой (ja→ru).
- Извлечение правил в пакет — exp15 ЗАВЕРШЁН; данные-часть майнера ИЗВЛЕЧЕНА (D39.16: zh/Палладий-инвентари →
internal/lang+configs/langpacks/, тот же pair-keyed идиом, что промпты, снапшот-фолд langpack-байтов ПОСТРОЕН (LangpackVersion, D39.15/16)); извлечение правил из ТЕЛА zh-ru-промтов (дискурс/few-shot) — ещё открыто, форсинг = ja→ru-реплика.x/text/language.TagОТВЕРГНУТ для гейт-предикатов (CLDR-инстабильность в вердиктах — D39.16). - Транскрипция per-book (Палладий/Поливанов vs фандомные формы) — research/19 §E.3, решение
владельца НЕ горит (дефолт: политика в пакете пары, слой 2);
{{transcription}}-переменная уже есть. - Билингв-редактору src→dst вместо голых dst-форм? — открытый дизайн-вопрос D30.1, после exp15.
- Q4a/Q4c exp15 — где жить структуре (переводчик/редактор/отдельный пасс) — решится эмпирикой.