diff --git a/eval/dovodka/PROMPT-RESEARCH-HARNESS.md b/eval/dovodka/PROMPT-RESEARCH-HARNESS.md new file mode 100644 index 00000000..59241327 --- /dev/null +++ b/eval/dovodka/PROMPT-RESEARCH-HARNESS.md @@ -0,0 +1,163 @@ +# Промт для сессии «Ресёрч: архитектура харнесса художественного перевода» (research/29) + +Скопируй в новую сессию в `/home/ubuntu/projects/textmachine`. Эта сессия — **исследование**: +научные статьи, исследования рынка, чужие харнессы. **Ни строки в `backend/`, `platform/`, +`frontend/`.** Выход — один отчёт (см. §Выход). + +> _Статус: черновик, подготовлен полигон-сессией фазы Д по заказу владельца 30.08.2026._ + +Проект **TextMachine** — издательский художественный перевод крупной прозы (ранобэ/вебновеллы) +мультиагентным LLM-пайплайном. Боевая пара **zh→ru**, объём книги 1500–2300 глав. Мерило — +издательское качество: победить translationese, держать консистентные термины и голоса на всю +книгу, при низком COGS. + +## Твой предмет + +Владелец формулирует так: **«какую бы архитектуру мы ни строили, смена моделей при оптимальной +архитектуре даст более высокий результат, чем те же модели на другой архитектуре — архитектура +именно харнесса решает намного больше, чем провайдер»**. У нас это уже подтверждено собственным +замером (эксп-21, «топология бьёт жильца»: смена схемы даёт эффект, переживающий поправку на +множественность, а смена модели в том же слоте — не даёт). + +Задача — найти **топологические приёмы, которых у нас нет**, с замерами, и честно сказать, где +литературы не существует. Предмет — **топология конвейера**, НЕ выбор провайдера и НЕ транспорт. + +⚠ **Повод к этому промту.** Сессия-заказчик за один день ПЯТЬ раз предложила сделать то, что уже +сделано и лежит в репозитории (замер консистентности, эксперимент по дифф-контракту, «пре-скан» = +построенный майнинг, панель черновиков, панель редакторов). Поэтому §Контекст здесь не +формальность, а главный фильтр качества твоей работы. + +## Контекст (прочитай в этом порядке; §0 — БЛОКИРУЮЩИЙ) + +**§0. Синк с репозиторием — до первого запроса в интернет.** Слово владельца: «не переоткрывать, +что уже открыто, обязательно синк с репозиторием, чтоб не плодить сущности; супер обязательный +пункт перед ресёрчем». Пройди `docs/research/` и сними с каждого файла: дату · вопрос · вердикт. +⚠ У части отчётов есть **ревью-шапка оркестратора, и она первична** — она может СНИМАТЬ выводы +тела. Читай баннер прежде содержимого. + +Плотнее всего покрыты (это и есть зоны, где дубль наиболее вероятен): + +- `docs/research/03-academic-agentic-mt.md` — **научное состояние мультиагентного и документного + MT**; самый близкий к твоему заказу файл, свежий. +- `docs/research/22-domain-harness-survey.md` — доменные харнессы перевода (AiNiee, GalTransl и + прочие), разобраны **по коду**, 19 агентов. Их устройство пересказывать НЕ надо. +- `docs/research/21-llm-transport-survey.md` — транспорт чужих харнессов: ретраи, лимиты, формы + запросов. Тема транспорта закрыта. +- `docs/research/05-memory-glossary.md` · `13-memory-bank-validation.md` · `14-adaptive-memory.md` · + `20-bank-mining.md` · `24-bank-arbitration.md` — память, глоссарий, авто-майнинг банка, арбитраж. + **Пять файлов**: неси только то, что их опровергает или датируется позже. +- `docs/research/15-voice-and-state.md` — голос персонажей и состояние. +- `docs/research/18-quality-levers.md` + `18-quality-levers-chatgpt.md` — рычаги качества, две + независимые редакции. `19-chunking-cohesion.md` — нарезка и меж-чанковая когезия. +- `docs/research/12-*.md` (шесть файлов) — таксономии ошибок и режимы отказа zh/ja/ru. +- `docs/research/01-market.md` · `02-competitors.md` · `11-gap-4.md` — рынок, конкуренты, + русскоязычная экосистема. +- `docs/research/07-translation-methodology.md` — методология профессионального перевода. + +**Выход §0 — таблица «УЖЕ ПОКРЫТО»** (тема · файл · дата · вердикт), первым разделом отчёта. Пока +её нет — поиск не начат. Нет доступа к репозиторию ⇒ **остановись и запроси таблицу у владельца**. + +## Жёсткий контур (это определяет ВЕСЬ ответ — не проектируй мимо него) + +1. **Пары языков — ДАННЫЕ, не код.** Движок мультиязычный по построению; приём, работающий только + для одной пары, годится лишь как данные langpack'а. Ревью-вопрос: «заработает ли на паре, + которой в репо ещё нет, без правки Go?» +2. **Экономика.** Черновик — дешёвая модель; дорогие вызовы адресные. Приём, умножающий число + вызовов на главу, обязан нести замер выигрыша, иначе он нам не годится ни при каком качестве. +3. **Детерминизм.** Воспроизводимый прогон: снапшоты, банк памяти, golden. Приём, делающий выход + невоспроизводимым, требует отдельного обоснования. +4. **Что уже построено** (не предлагай нам этого как идею): дешёвый черновик по чанкам (видит свой + чанк + инъекцию банка) → майнинг новых сущностей между волнами (детектор по контрасту частот, + отдаёт кандидатов без перевода, останавливает прогон на подпись человека) → терминолог (дешёвая + модель, но видит контексты всех вхождений термина по всей книге, отдаёт один канонный перевод; + родственные термины батчатся одним вызовом) → сильный редактор, переписывающий главу целиком с + банком в промте → детерминированные $0-проверки (утечки исходного языка, дрейф чисел, обрушение + длины, промахи глоссария, флаггер регистра «ты/вы»). Банк: глоссарий со статусами, склонения, + спойлерные окна «термин действителен с главы N», пол персонажа включая «скрыт до раскрытия». +5. **Что уже измерено нами** — опровержения приветствуются, повторное «открытие» не засчитывается: + смена модели в слоте черновика эффекта не даёт (пять альтернатив) · редакторский проход поверх + черновика доказанно улучшает на **zh→ru** и даёт **ровно ноль** на **en→ru** · два разных + сильных редактора между собой неразличимы · дифф-контракт («модель отдаёт список правок») + прогнан и отложен как дорогой на нашей паре. + +## Приоритетные вопросы + +1. **Топологии, которых у нас нет.** План-затем-письмо; раунды критики и сколько их окупается; + дебаты нескольких агентов; итеративная само-ревизия; отбор из N кандидатов судьёй; «сначала + смысловой скелет, потом стиль»; стилевые образцы из самого произведения как few-shot; + двухпроходка «черновик всей книги → полное переписывание». +2. **Длинный контекст и память через сотни глав.** Как чужие системы держат имена, регистры + обращения и голоса на объёме книги; иерархические саммари; профили персонажей; «библия серии»; + когда предварительный проход по всей книге ДО перевода окупается, а когда нет. +3. **Управление размышлением (reasoning/thinking) в переводческих ролях** — есть ли замеры, что + даёт снижение усилия рассуждения на роли редактора и переводчика; качество и цена ОТДЕЛЬНО. +4. **Форма выхода редактора:** чужие замеры «список правок» против «переписанный текст» — качество, + цена, стабильность; особенно на моделях без несъёмного размышления. +5. **Чем это меряют.** Рефери (человек / LLM-судья / детерминированные метрики); ловушки + LLM-судейства (позиционное смещение, самопредпочтение, чувствительность к длине); какие + автоматические метрики показали связь с человеческой оценкой **на художественном тексте**. +6. **Рынок и новые харнессы** с середины 2026: продукты и опенсорс перевода книг/вебновелл, их + архитектурные решения, публичные замеры. + +## Правило решения (БАР) — когда находка засчитывается + +Находка идёт в отчёт, если выполнены **все три**: +1. **проходит дельта-фильтр** — новее нашего файла по этой теме ЛИБО темы нет в таблице §0; при + каждой находке стоит строка «в наших отчётах этого нет, потому что …» или «дополняет + `research/NN`: у него было X, здесь новое Y»; +2. **есть ссылка** — URL, статья с датой и авторами, репозиторий с путём к файлу; +3. **разделено «заявлено» и «измерено»**; для измеренного указаны размер выборки · языковая пара · + жанр · кто судил · была ли поправка на множественность. + +Приоритет предмета: художественная проза и объёмы от книги. Результат на техническом тексте, +новостях или коротких фрагментах помечается как **перенос под вопросом** — это другой класс задачи. +Пары в порядке ценности: zh→ru · zh→en · любые →ru · прочее. + +## Творческий мандат + +Список вопросов — направление, не потолок. Если найдёшь класс приёмов, которого мы не назвали, а +он бьёт по нашему мерилу, — неси его и скажи, почему мы его не спросили. **Опровержение нашего +собственного вывода ценнее нового факта**: если источник противоречит §Жёсткому контуру п.5, +пиши это явно, с обеими ссылками. + +## Мандат самопроверки (обязателен, решение владельца) + +Ревью **исполнением**, не самоотчётом: самоотчёт «проверено» регулярно оказывается ложным. + +1. **Проверь свои же ссылки** — открой каждую, убедись, что цитата дословна и не вырвана из + контекста, а дата и авторы те. Ссылка, которую ты не открыл, из отчёта удаляется. +2. **Проверь дельта-фильтр исполнением** — по каждой находке грепни репозиторий и убедись, что + этого действительно нет. Это ровно та ошибка, из-за которой промт написан. +3. **Адверсариальный проход по СВОЕЙ готовой работе.** Глубину и веер выбираешь сам под предмет; + направление задаю: уязвимы (а) находки, где «измерено» подменено «заявлено»; (б) переносы с + короткого текста на книгу; (в) числа, взятые из абстракта, а не из таблицы результатов; + (г) свежесть — препринт мог быть опровергнут более поздней работой. +4. Каждую пойманную собой ошибку **запиши в отчёт** отдельной строкой с классом ошибки. Отчёт без + такого раздела считается непроверенным. + +## Выход + +**Один файл — `docs/research/29-harness-topology-survey.md`.** Структура: + +1. **«УЖЕ ПОКРЫТО»** — таблица §0 (тема · файл · дата · вердикт). Первым разделом, без исключений. +2. **Находки** — по приоритетным вопросам; каждая с уликой, статусом «заявлено/измерено» и строкой + дельты. +3. **Противоречия нашим выводам** — отдельным разделом, с обеими ссылками. +4. **⛔ «ЧЕГО НАЙТИ НЕ УДАЛОСЬ»** — обязателен. Где литературы нет вовсе, для нас это такая же + ценность, как находка: значит, замер придётся ставить самим, и мы должны знать об этом заранее. +5. **«ЧТО Я НАПУТАЛ»** — результат §Мандата самопроверки. + +⚠ **Не давай рекомендаций «внедрить X».** Давай факты, замеры и границы применимости — решение +принимает владелец. Ратификация и лендинг отчёта — за оркестратором; сам ничего не коммитишь. + +## Правила (и не повтори ошибки сессии-предшественника) + +* **Не пересказывай общие места:** промпт-инжиниринг вообще, «используйте глоссарий», «RAG + помогает», подбор температуры, сравнение цен провайдеров. +* **Не описывай устройство AiNiee / GalTransl и транспортные квирки** — `research/21` и `22`. +* **Не пересказывай таксономии ошибок перевода** — шесть наших файлов класса `12-`. +* **Не предлагай «мультиагентность» как идею** — у нас мультиагентный конвейер и есть. Нужны + КОНКРЕТНЫЕ топологии с замерами. +* **Не верь заголовкам** — вывод грунтуется цитатой и ссылкой; аномалия проверяется у первоисточника, + а не додумывается. +* **Никогда не читать `.env`.** Ничего не коммитить. Зона записи — только твой отчёт.