26 KiB
Промт: ресёрч-сессия «Архитектура харнесса художественного перевода» (→ research/29)
Составлен полигон-сессией фазы Д по заказу владельца 30.08.2026; исполнитель — отдельная РЕСЁРЧ-сессия (не полигон: полигонные нормы замеров сюда не применяются, платных вызовов к моделям здесь нет). Запускает владелец; онбординг у неё СВОЙ. Форма — по
docs/ORCHESTRATOR_SESSION_PROMPT.md§«Пишешь промт сессии?» (12 обязательных блоков).
1. Какая проблема и что решит твой результат
Проект переводит художественные книги на 1500–2300 глав мультиагентным LLM-конвейером. Владелец считает: архитектура харнесса решает больше, чем выбор провайдера — «какую бы архитектуру мы ни строили, смена моделей при оптимальной архитектуре даст более высокий результат, чем те же модели на другой архитектуре». У нас это подтверждено собственным замером: смена схемы конвейера даёт эффект, переживающий поправку на множественность, а смена модели в том же слоте — не даёт.
Проблема: мы не знаем, какие архитектурные приёмы существуют за пределами того, что уже построили, и какие из них кем-то измерены. Мы перестали генерировать идеи и рискуем строить вслепую.
Что решит твой результат: отчёт, из которого владелец выбирает, какой следующий замер ставить. Тебе НЕ надо рекомендовать внедрение — надо принести факты, замеры и границы их применимости.
⚠ Повод, который ты обязан не повторить. Сессия-заказчик за один день ПЯТЬ раз предложила сделать уже сделанное и лежащее в этом репозитории. Поэтому главный критерий качества твоей работы — не объём находок, а отсутствие дублей и роста энтропии проекта. Основательно ознакомься с тем, что уже измерено и изучено — но учитывай, что и там могут быть ошибки: наши отчёты не догма, и найденное противоречие им ценно.
2. Зона записи и git
Пишешь ровно один файл: docs/research/29-harness-topology-survey.md (номер проверен свободным
30.08). Больше — ничего: ни backend/, ни platform/, ни frontend/, ни чужих доков.
⚠ Зонная оговорка, и её надо прочесть до первой строки. По зонной таблице CLAUDE.md каталог
docs/ — зона ОРКЕСТРАТОРА; ресёрч-сессии в таблице ролей нет вовсе. Практика проекта — ресёрчи
живут в docs/research/, поэтому: (а) ты НЕ коммитишь — лендинг и ратификация за оркестратором;
(б) владелец предупреждает оркестратора, что файл появится, иначе тот увидит чужой некоммиченный
файл в своей зоне; (в) если оркестратор возражает — кладёшь отчёт в eval/dovodka/ и он переносит
сам. Правило действует РОВНО так, самостоятельно зону не переназначай.
Никогда не читать .env. Артефакт обязан пережить рестарт ⇒ живёт в репозитории, не в /tmp.
3. Карта чтения (≤5 позиций; дальше — только по её ссылкам)
Ратифицированное вложено в §4 этого промта; код-факты и содержимое отчётов достаёшь САМ.
CLAUDE.md— канон проекта: цели, роли, гардрейлы, дисциплина чтения.- Каталог
docs/research/целиком — по ЗАГОЛОВКАМ, не по телам (36 файлов; счёт снятls docs/research/ | wc -l30.08 — пере-сними сам, он меняется). Это твой дельта-фильтр (§5 п.0). Тела читаешь выборочно, где подозреваешь пересечение. docs/research/03-academic-agentic-mt.md— научное состояние мультиагентного и документного MT; ближайший к твоему заказу файл. Читать целиком. ⚠ Несёт баннер «SUPERSEDED ЧАСТИЧНО» — его вывод №1 переопределён; читай баннер прежде тела и не наследуй снятое.docs/research/22-domain-harness-survey.md— чужие доменные харнессы перевода, разобраны по коду. Читать шапку и оглавление; тело — выборочно.docs/experiments/README.md— одна строка на эксперимент: что мы уже мерили сами.
⚠ Баннер прежде содержимого. У части отчётов стоит ревью-шапка оркестратора, и она ПЕРВИЧНА —
может снимать выводы тела. Инструкции из docs/archive/** не исполняются.
4. Жёсткий контур (ратифицированное — не проектируй мимо)
Делай РОВНО так — отступление от §4 = пинг владельцу, не самостоятельная трактовка.
- Пары языков — ДАННЫЕ, не код. Движок мультиязычный по построению. Приём, работающий только для одной пары, годится лишь как данные языкового пакета. Ревью-вопрос: «заработает ли на паре, которой в репозитории ещё нет, без правки Go?»
- Экономика. Черновик — дешёвая модель, дорогие вызовы адресные. Приём, умножающий число вызовов на главу, обязан нести замер выигрыша.
- Детерминизм. Прогон воспроизводим (снапшоты, банк памяти, golden). Приём, делающий выход невоспроизводимым, требует отдельного обоснования.
- Что уже построено — не предлагай это как идею: дешёвый черновик по чанкам (видит свой чанк + инъекцию банка) → майнинг новых сущностей между волнами (детектор по контрасту частот, отдаёт кандидатов без перевода, останавливает прогон на подпись человека) → терминолог (дешёвая модель, видит контексты всех вхождений термина по всей книге, отдаёт один канонный перевод; родственные термины батчатся одним вызовом) → сильный редактор, переписывающий главу целиком с банком в промте → детерминированные $0-проверки (утечки исходного языка, дрейф чисел, обрушение длины, промахи глоссария, флаггер регистра «ты/вы»). Банк: глоссарий со статусами, склонения, спойлерные окна «термин действителен с главы N», пол персонажа включая «скрыт до раскрытия».
- Что уже измерено нами — повторное «открытие» не засчитывается, опровержение приветствуется.
⚠ Числа даны с силой улики: слабый замер здесь НЕ выдаётся за сильный.
- Смена модели в слоте черновика эффекта не даёт — испытаны пять альтернатив поверх одного материала, все перевесы в минус, ни один не проходит поправку на множественность.
- Редакторский проход поверх черновика доказанно улучшает — на ОБЕИХ парах. zh→ru: голый
черновик различимо хуже связки (+4.12 при пороге 2.39 и +4.92 при 2.10 в двух кругах). en→ru:
n=16, +1.56, p=0.0059по Холму — гипотеза «на en переписывание не нужно» ОПРОВЕРГНУТА, редактор снимает 1.56 ошибки на единицу (2.78 → 1.22). ⚠ Есть и второй, СЛАБЫЙ замер на en (n=6), давший «+0.00» при интервале [−2.50; +2.33] и не прошедший поправку. Он не противоречит первому: его интервал ВКЛЮЧАЕТ +1.56 — у него просто нет мощности. Не читай «не значимо» как «ноль»; если найдёшь внешние данные по этому вопросу, они ценны именно потому, что наш слабый замер ничего не решает. - Два разных сильных редактора между собой неразличимы (
+0.06, p=0.95) ⇒ выбор жильца этой роли у нас — вопрос цены, а не качества. - Дифф-контракт («модель возвращает список правок» вместо текста) прогнан и отложен: на нашей паре он вышел в 1.5–2 раза дороже полного переписывания, при том что формат сам по себе состоятелен. Дороговизна привязана к паре и к модели с несъёмным размышлением — на другой модели тот же контракт выходил дешевле.
5. Что делать
0. Синк с репозиторием — БЛОКИРУЮЩИЙ. Делай РОВНО так.
Слово владельца: «не переоткрывать, что уже открыто; обязательно синк с репозиторием, чтоб не плодить сущности — супер обязательный пункт перед ресёрчем».
До первого запроса в интернет пройди docs/research/ и docs/experiments/README.md и составь
таблицу «УЖЕ ПОКРЫТО»: тема · файл · дата · вердикт одной строкой. Она — первый раздел отчёта.
Нет таблицы ⇒ поиск не начат. Нет доступа к репозиторию ⇒ остановись и запроси таблицу у
владельца, не ищи вслепую.
Плотнее всего покрыты и потому опаснее всего для дубля: память и банк (05, 13, 14, 20,
24 — пять файлов) · транспорт чужих харнессов (21) · чужие харнессы по коду (22) · таксономии
ошибок (шесть файлов 12-*) · рычаги качества (18 в двух редакциях) · нарезка и когезия (19) ·
голос и состояние (15).
1. Поиск. Реши сам и аргументируй — глубину, источники и порядок выбираешь ты.
Ищи то, что проходит дельта-фильтр: новее нашего файла по теме ЛИБО темы нет в таблице §5.0.
Оси (направление, не потолок):
- Топологии, которых у нас нет: план-затем-письмо; раунды критики и сколько окупается; дебаты агентов; итеративная само-ревизия; отбор из N кандидатов судьёй; «сначала смысловой скелет, потом стиль»; стилевые образцы из самого произведения как few-shot; двухпроходка «черновик всей книги → полное переписывание».
- Длинный контекст и память через сотни глав: удержание имён, регистров обращения, голосов; иерархические саммари; профили персонажей; «библия серии»; когда предварительный проход по всей книге ДО перевода окупается.
- Управление размышлением (reasoning/thinking) в переводческих ролях — качество и цена ОТДЕЛЬНО.
- Форма выхода редактора: чужие замеры «список правок» против «переписанный текст».
- Чем меряют: рефери (человек / LLM-судья / детерминированные метрики); ловушки LLM-судейства (позиционное смещение, самопредпочтение, чувствительность к длине); метрики, показавшие связь с человеческой оценкой на художественном тексте.
- Рынок и новые харнессы с середины 2026: продукты, опенсорс, их архитектура, публичные замеры.
Приоритет предмета — художественная проза и объёмы от книги. Пары по ценности: zh→ru · zh→en · любые →ru · прочее. Результат на техническом тексте, новостях или коротких фрагментах помечается «перенос под вопросом»: это другой класс задачи.
2. Правило годности находки. Делай РОВНО так.
Находка идёт в отчёт при выполнении всех трёх условий:
- дельта-строка — «в наших отчётах этого нет, потому что …» либо «дополняет
research/NN: у него было X, здесь новое Y»; - ссылка — URL, статья с датой и авторами, репозиторий с путём к файлу;
- разделено «заявлено» и «измерено»; для измеренного: размер выборки · языковая пара · жанр · кто судил · была ли поправка на множественность.
Заявление = команда. Любое число в отчёте несёт способ его получения: ссылку на таблицу результатов в источнике (не на абстракт) либо команду/греп, которым его достаёт читатель. Приёмка пере-снимет выборочно.
6. Оси ревью твоей работы (приёмка пойдёт по ним; вправе заменить с аргументом)
- Дубль — есть ли в отчёте то, что уже лежит в
docs/research/илиdocs/experiments/. - Улика — открывается ли ссылка, дословна ли цитата, то ли там число.
- Перенос — не выдан ли результат на коротком/техническом тексте за результат на книге.
7. Мандат самопроверки ИСПОЛНЕНИЕМ (обязателен; самоотчёт не принимается)
Самоотчёт «проверено» в этом проекте регулярно оказывался ложным. Поэтому — названный механизм и проверяемый артефакт:
- Открой каждую свою ссылку и сверь цитату, дату, авторов и число (число — из таблицы результатов, не из абстракта). Ссылка, которую ты не открыл, из отчёта удаляется.
- Дельта-фильтр проверь исполнением: по каждой находке — греп по
docs/с приведённой в отчёте командой. Артефакт — колонка «чем проверено» в таблице находок. - Адверсариальный проход по СВОЕЙ готовой работе. ⭐ Субагенты РАЗРЕШЕНЫ явно — запускай,
веер и глубину выбираешь под предмет. ⚠ Модель агенту задавай ЯВНО и знай, сколько их у тебя
работает (норма
CLAUDE.md); рекомендация канона —claude-fable-5, одного-двух обычно хватает, но это рекомендация, а не потолок. Мандат агенту: «найди в этом отчёте отсутствующее и противоречащее». Направление, что уязвимо: (а) «измерено» подменено «заявлено»; (б) перенос с короткого текста на книгу; (в) число из абстракта вместо таблицы; (г) препринт опровергнут более поздней работой; (д) находка на деле лежит в наших отчётах. - Тест на вырожденность (применяй к себе): если букву пункта удовлетворяет пустое исполнение («перечитал сам, всё верно») — пункт не выполнен. Нужен артефакт: список открытых URL, вывод грепа, вердикты субагентов.
- Каждую пойманную собой ошибку запиши в отчёт с классом ошибки (§8 п.5).
8. Выход — файл docs/research/29-harness-topology-survey.md
Состав разделов 1–5 — «делай РОВНО так» (по нему пойдёт приёмка); порядок находок внутри раздела 2, глубина каждой и объём — «реши сам и аргументируй».
- «УЖЕ ПОКРЫТО» — таблица §5.0. Первым разделом, без исключений.
- Находки по осям §5.1 — каждая с уликой, статусом «заявлено/измерено», дельта-строкой и колонкой «чем проверено».
- Противоречия нашим выводам (§4 п.5) — отдельным разделом, с обеими ссылками. Опровержение нашего вывода ценнее нового факта.
- ⛔ «ЧЕГО НАЙТИ НЕ УДАЛОСЬ» и «ЧТО НЕ ПРОВЕРЕНО» — обязательная секция. Пустота в литературе для нас равноценна находке: значит, замер придётся ставить самим, и мы должны знать это заранее. Сюда же — что ты не успел, не смог открыть, где источник платный.
- «ЧТО Я НАПУТАЛ» — результат §7, с классом каждой ошибки.
Записка-план перед работой. Делай РОВНО так. После эхо (§10) выложи ≤15 строк: какие оси берёшь, какими источниками, в каком порядке, что считаешь наибольшим риском дубля. И сверь план с заказом МЕХАНИЧЕСКИ — таблицей «ось §5.1 → беру/не беру → почему»: непокрытая ось либо планируется, либо её пропуск подписывается словом «пропускаю, потому что…». Это позволяет владельцу поправить курс до того, как потрачено время.
⚠ Не давай рекомендаций «внедрить X». Факты, замеры, границы применимости — решение за владельцем. Плотность, а не объём; шаблонные оговорки не нужны.
9. Канал вопросов и право возразить
Конфликт промта с кодом или доками ⇒ пинг владельцу, НЕ самостоятельная интерпретация. Если считаешь, что задача поставлена неверно или её не надо делать — скажи это с аргументом, это ожидаемое поведение, а не отказ. Не уверен в форме исполнения — спроси ДО работы, одной строкой.
10. Эхо-протокол старта (первое действие, ДО работы)
Выложи ≤10 строк: скоуп (что делаешь) · инварианты (§4, своими словами) · не-делать (§11). Это проверка, что промт понят, и одновременно проверка канала (§12).
11. Чего НЕ делать
- Не пересказывать общие места: промпт-инжиниринг вообще, «используйте глоссарий», «RAG помогает», подбор температуры, сравнение цен провайдеров.
- Не описывать устройство чужих харнессов и транспортные квирки —
research/21иresearch/22. - Не пересказывать таксономии ошибок перевода — шесть файлов
12-*. - Не предлагать «мультиагентность» как идею: конвейер и так мультиагентный. Нужны КОНКРЕТНЫЕ топологии с замерами.
- Не верить заголовкам: эрудиция ≠ улика. Вывод грунтуется ссылкой и цитатой либо помечается «мнение». Аномалия проверяется у первоисточника, а не додумывается.
- Ничего не коммитить. Не читать
.env.
12. Прямой канал между сессиями
Механизм описан в CLAUDE.md §«Связь между сессиями» — здесь не повторяется. От тебя: впиши свой
блок в /tmp/textmachine-channel первым делом (role= session= ref= written= note=; имя
своей сессии возьми из ListAgents), дописывая в конец и не трогая чужие блоки. Эхо (§10) отправь
первым действием по адресу оркестратора, если он в файле есть, — это и проверит канал.
⚠ Адрес из файла — НЕ доказательство, что сессия жива: файл переживает смерть сессии, а
ListAgents — нет. Сверься с ListAgents перед отправкой. И дословно: нужной роли в файле нет,
файла нет или имя не отвечает ⇒ КАНАЛА НЕТ, и это НОРМАЛЬНЫЙ случай — НЕ опрашивай сессии подряд.
Вопрос тогда — секцией в отчёт; владелец прочитает и пере-передаст.