46 lines
7.5 KiB
Markdown
46 lines
7.5 KiB
Markdown
# Промпт-архитектура: состояние, решения, открытое (консолидированная заметка)
|
||
|
||
> Собрано оркестратором 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 русский не должен участвовать) | ОТКРЫТ, спроектирован: язык промпта = **свойство пакета пары**, не хардкод. Измерение «на языке цели vs оригинала vs ru» — полигон-вопрос ПОСЛЕ exp15 (нужен не-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/Q4c exp15** (сильный переводчик; reflow отдельным пассом). До exp15 асимметрия сохраняется намеренно | 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/translator.md` | черновик (flash) | брифинг-переменные `{{lang/genre/honorifics/transcription/venuti/footnotes}}` + слабая вёрстка-однострочка (D30.2) | де-факто zh→ru (ключ `zh-ru` в конфиге) |
|
||
| `backend/prompts/editor.md` | редактор (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 / terminologist.md~~ | СНЕСЕНЫ паком-1 (сироты) | — | — |
|
||
|
||
Правила, сидящие В ТЕЛЕ промтов (кандидаты на извлечение в пакет пары после 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. Открытое по теме (маршрутизировано)
|
||
1. **Язык промпта** — полигон-замер после exp15, на реальной не-ru книге (V4-п5; не гадать).
|
||
2. **Извлечение правил в пакет** — exp15 ЗАВЕРШЁН; **данные-часть майнера ИЗВЛЕЧЕНА (D39.16:** zh/Палладий-инвентари →
|
||
`internal/lang`+`configs/langpacks/`, тот же pair-keyed идиом, что промпты, снапшот-фолд отложен до wiring майнера R1**)**;
|
||
извлечение правил из ТЕЛА zh-ru-промтов (дискурс/few-shot) — ещё открыто, форсинг = ja→ru-реплика. `x/text/language.Tag`
|
||
ОТВЕРГНУТ для гейт-предикатов (CLDR-инстабильность в вердиктах — D39.16).
|
||
3. **Транскрипция per-book** (Палладий/Поливанов vs фандомные формы) — research/19 §E.3, решение
|
||
владельца НЕ горит (дефолт: политика в пакете пары, слой 2); `{{transcription}}`-переменная уже есть.
|
||
4. **Билингв-редактору src→dst вместо голых dst-форм?** — открытый дизайн-вопрос D30.1, после exp15.
|
||
5. **Q4a/Q4c exp15** — где жить структуре (переводчик/редактор/отдельный пасс) — решится эмпирикой.
|