9.6 KiB
Промпт-архитектура: состояние, решения, открытое (консолидированная заметка)
⚠ СТАТУС: несущая часть ПОСТРОЕНА. Pair-keyed промпты резолвятся КОНВЕНЦИЕЙ пути
prompts/<пара>/<роль>.md+ конфиг-слой парыconfigs/pairs/(пак-15, D39.23), repair-промпты —prompts/<пара>/repair/<класс>.md(пак-16, D39.24). Паком-20 добавились рольterminologist(пар-пак, интерим-текст) и вариантныйtranslator-banknote.md; редакторская инъекция стала двухсекционной (D39.45), а жанровый словарь ОТМЕНЁН как класс (D39.47). ⚠ Ждёт внесения: D39.104 — инъекция схлопывается в ЕДИНЫЙ закон-блок, маркер ⟨проверить⟩ снимается с провода, право «перевести иначе» упраздняется; внесение = строка 134 ПОСЛЕ пробы 18.«Структурированный пакет конвенций пары» (§3) остаётся дальним планом. Док — одно место по теме промптинга и реестр открытого; при конфликте побеждает 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; форма резолва — конвенция пути prompts/<пара>/<роль>.md, прежний конфиг-ключ prompts: {<пара>: файл} ОТВЕРГАЕТСЯ загрузкой — 12-go-style-notes.md §0.4) + Book.LangPair() + fail-loud на чужую пару. Контент ещё НЕ извлечён — правила по-прежнему в теле zh-ru-файлов; извлечение в структурированный пакет гейтится research/18 §D-3 («форма пакета не разрешена») |
research/18 §B2.2/§C#15 · 09 §2-слой-2 · D39-решение владельца «сеам сейчас, контент zh→ru» · пак-1 T3.3 |
| Почему структура абзацев и расширенный язык-промпт — только у РЕДАКТОРА? | ОСОЗНАННОЕ решение D30.2 (дешёвый буквальный черновик + вся реструктуризация у умного билингв-редактора; exp12: построчность = корень нечитаемости). Альтернатива «переводчик отдаёт структуру» измерена: Q4a — верность на translate-стадии не покупается (D39.9); Q4b прогнан и ПРИНЯТ (эксп-19, docs/experiments/19-editor-contract-q4b.md, D39.108 — диффы ОТЛОЖЕНЫ); топологию решил эксп-21 (D39.117: full-regen подтверждён, точечная починка как ЗАМЕНА редактора отклонена, принята формой «механический пре-гейт ПЕРЕД редактором», строка 142). Асимметрия сохранена ПО ДАННЫМ; не гонялся только Q4c; diff-контракт редактора — строка 106 |
D-лог D30.2 · аудит L1-*/H3 · research/19 §C |
| Все промты 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/<пара>/<файл> (+ <пара>/repair/<класс>.md пака-16, + classifier.md — D39.69). Ниже — состав для боевой пары zh-ru.
| Файл | Роль | Что внутри | Пара |
|---|---|---|---|
zh-ru/translator.md |
черновик (flash) | брифинг-переменные {{lang/genre/honorifics/transcription/venuti/footnotes}} + слабая вёрстка-однострочка (D30.2) |
zh→ru |
zh-ru/editor.md |
редактор (deepseek-v4-pro БИЛИНГВ ИНТЕРИМ, D39.22; glm-5 резерв), v3 | 4 мандата + ДИСКУРС-ПЕРЕВЁРСТКА (Ван Цуй) + чэнъюй-атом + структурные few-shot (---FEWSHOT---, тумблер per-stage) |
zh→ru |
zh-ru/editor-mono.md |
референс-вариант D13.1 (не боевой) | узкий моно-мандат | — |
zh-ru/judge-selector.md |
Ф2 (не исполняется) | — | — |
analyst.mdснесён паком-1 как сирота.terminologist.md— живая роль пар-пака (D39.42/45, интерим-текст; финальный — по замерам); рядом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}}-переменная уже есть. - Q4c — где жить структуре (переводчик / редактор / отдельный пасс): единственное неизмеренное плечо. Q4a измерен (D39.9: верность на translate-стадии не покупается), Q4b прогнан и принят (эксп-19, D39.108), топологию решил эксп-21 (D39.117). Границы Q4c —
docs/experiments/19-editor-contract-q4b.md§«Границы».