From c8b97f37bcc1411369358e7646ca913fcf80ec65 Mon Sep 17 00:00:00 2001 From: heaven Date: Wed, 2 Sep 2026 00:20:04 +0300 Subject: [PATCH] Write the handoff prompt for the probe session to orchestrator norm, with the procedure as its law and the three costly ambiguities named up front --- eval/dovodka/PROMPT-PROBE-4AXES.md | 180 +++++++++++++++++++++++++++++ 1 file changed, 180 insertions(+) create mode 100644 eval/dovodka/PROMPT-PROBE-4AXES.md diff --git a/eval/dovodka/PROMPT-PROBE-4AXES.md b/eval/dovodka/PROMPT-PROBE-4AXES.md new file mode 100644 index 00000000..edfb6ea4 --- /dev/null +++ b/eval/dovodka/PROMPT-PROBE-4AXES.md @@ -0,0 +1,180 @@ +# Промт: полигон-сессия «Контролируемая проба редактора по четырём осям» + +> Составлен полигон-сессией фазы Д 02.09 по слову владельца. Исполнитель — ОТДЕЛЬНАЯ сессия, +> онбординг у неё СВОЙ. Форма — по `docs/ORCHESTRATOR_SESSION_PROMPT.md` §«Пишешь промт сессии?» +> (12 обязательных блоков). + +## 1. Какая проблема и что решит твой результат + +Проект переводит художественные книги zh→ru мультиагентным LLM-конвейером. **Самая дорогая стадия — +редактор**, и платим мы там в основном не за выданный текст, а за «размышление» модели перед ответом: +у этого поставщика оно тарифицируется внутри выходных токенов и составляет большую часть счёта. + +**Проблема:** мы не знаем, чем управляется эта цена. На книге в 2283 главы редактор стоит порядка +полусотни долларов, и мы не можем сказать, платим ли за то, что модель много думает, или за то, что +она много пишет. + +**Что решит твой результат:** контролируемая проба разделит рычаги. Если снижение усилия режет +расход и текст не портится — книга дешевеет вдвое по самой дорогой статье. Если не режет — мы +перестаём искать там, где нет. + +⚠ **Повод, который ты обязана не повторить.** Предыдущая сессия за четверо суток одиннадцать раз +утверждала или предлагала то, что уже сделано либо опровергнуто в репозитории. Класс один: +**показания инструмента, собственной памяти или своей ветки принимались за факт о мире**. Реестр — +§8 плана и §Д52.5 отчёта фазы. + +## 2. Зона записи и git + +**Зона:** `eval/` + `docs/experiments/` + секция «Полигон» в `docs/PROGRESS.md`. Ветка `polygon`. +Артефакты прогона — в `~/books/gu-zhenren/probe-4axes/` (это ОТДЕЛЬНЫЙ git-репозиторий `books/`, +видимый обоим рабочим деревьям). + +⛔ **Ты НЕ коммитишь ничего, КРОМЕ пре-рег-фриза** — это единственное исключение канона, и он +объявляется владельцу вслух ДО коммита. Форма коммита — только с явным списком путей +(`git commit -- <путь>`); `git add -A`, `git add .`, `git commit -a` запрещены. +⛔ Никогда не читать `.env`. ⛔ Никаких `reset --hard`, перезаписи истории, `checkout` поверх грязного +дерева: рядом работают параллельные сессии. + +## 3. Карта чтения (≤5 позиций; дальше — только по её ссылкам) + +1. **`CLAUDE.md`** — канон: цели, роли, зоны, гардрейлы, дисциплина чтения. +2. ⭐ **`eval/dovodka/PLAN-01-09.md` — ЗАКОН этой сессии.** Читать целиком; **§9 «ПРОЦЕДУРА» — + первым**, там команды, коды выхода и три места, где домысливание стоит денег. +3. **`eval/dovodka/SESSION-30-08.md` §0-ЧЕТЫРЕ** — состояние фазы и реестр ошибок. Остальное в файле + исторично; ⛔ §5 «КОМАНДЫ» — команды АВГУСТОВСКОГО РИГА, не твои, там есть помеченная + «не запускать никогда». +4. **`~/books/gu-zhenren/coldrun-v16/`** — образец стенда: `book.yaml`, `pipeline.yaml`, + `pairs/zh-ru.yaml`, и `REPORT.md` §14 «Форма следующего замера» (⚠ в файле ДВА раздела «## 14», + нужен второй). ⛔ Каталог — образец, а не рабочее место. +5. **`docs/experiments/00-provider-quirks.md`** — провайдерские ловушки. Канон требует читать ПЕРЕД + правкой вызовов; здесь особо записи про ручку размышления и эхо-мину. + +## 4. Жёсткий контур — **делай РОВНО так**, отступление = пинг владельцу + +1. ✅ **Санкция владельца 01.09: вариант A — 17 глав, потолок $8.6 в ПИКОВЫХ терминах.** + ⛔ Потолок сессией не поднимается. Срабатывание гарда = **стоп и вопрос владельцу**; добор после + просмотра чисел запрещён. К владельцу за этим решением ходить не надо — оно принято. +2. **Замер ратифицирован** (D39.184 п.5 — ⚠ нота есть только в ветке `main`, в `polygon` реестр + обрывается на D39.170). Дизайн менять нельзя: четыре оси с РАЗНЫМИ ролями — трудность чанка + блокировать, длину входа контролировать, промпт брать по SHA, усилие `off` против `low`. +3. **Пре-рег фризится коммитом ДО первой платной клетки.** Фриз объявляется владельцу вслух. +4. **Правило решения записано в §4 плана и НЕ пересматривается после просмотра чисел.** +5. **Стенд смотрит в `/home/ubuntu/projects/textmachine-main/`** для `models`, `langpack_root`, + `prompts_root`: в `polygon` нет `backend/configs/langpacks/ru`, а загрузчик молча подставляет + умолчания — русский слой читателя потеряется тихо. + +## 5. Что делать + +### 5.1 Собрать стенд. **Делай РОВНО так** — §9.1 плана. + +Резалка исходника — `eval/dovodka/narezka.py` (её не существовало до 02.09; формат GB18030 + CRLF + +первая строка обязана быть заголовком). Вариант A = главы книги **26–42**. +⚠ **Мина нумерации:** движок не умеет смещение глав — срез пронумеруется как 1–17. Соответствие +держится ТОЛЬКО записью в пре-реге. + +### 5.2 Написать недостающее. **Реши сам и аргументируй** — форма твоя, требования ниже. + +Не существует и нужно тебе: +* **`chetyre.py`** — скрипт эндпойнта. Требования: ключ юнита (в `request_log` нет колонки `attempt`, + она в `checkpoints` — реконструкцию назови явно) · операциональное определение «доставлено» · + восстановление размышления по формуле §3 плана · правило цензуры §4 (обе стороны) · Вилкоксон с + `zero_method='pratt'` · ⚠ **медиану и доверительный интервал Ходжеса–Лемана писать руками:** + `scipy 1.18.0` установлен и `pratt` поддерживает, но интервала у `wilcoxon` не отдаёт (проверено). + ⛔ **Гейт против зелени на пустоте обязателен:** нулевой знаменатель ⇒ прибор ОТКАЗЫВАЕТ кодом 2, + а не печатает «в пределах». +* **`poryadok.py`** — порядок рук от сида (сид объявлен в плане: `20260902`). +* ⚠ Ковариатная модель §4 требует `statsmodels`, которого в `eval/.venv` нет. Решить: ставить или + объявить эту проверку неисполненной. **Молча пропустить нельзя.** + +### 5.3 Пред-полёт. **Делай РОВНО так** — §5.1 плана. + +Один юнит × четыре руки (~$0.25): сигнатура разницы входных токенов СНИМАЕТСЯ и пинится коммитом · +четыре разных отпечатка снапшота (иначе ось промпта схлопнулась — см. §9.0 п.2) · кириллица ≥0.99 · +эхо 0. **Только после этого — пачка.** + +⚠ **Клетка с `low` — предположение, а не замер:** движковых редакторских вызовов на `low` не +существует вовсе, и смета стоит на нём. Если пред-полёт даст цену заметно выше ожидания — +**стоп и пересчёт с владельцем ДО основной покупки**, не после. + +### 5.4 Пачка и счёт. **Делай РОВНО так** по §9.3, **аргументируй сам** только форму отчёта. + +## 6. Оси ревью твоей работы (приёмка пойдёт по ним; вправе заменить с аргументом) + +1. **Деньги** — сошёлся ли расход с агрегатом §9.5, не пробит ли потолок, объявлен ли фриз до покупки. +2. **Дизайн** — не схлопнулась ли ось промпта, одинаков ли потолок вывода во всех руках, + воспроизвелась ли сигнатура. +3. **Интерпретируемость** — можно ли из твоих чисел вынести вывод при ЛЮБОМ исходе, включая «ниже + разрешения замера». + +## 7. Мандат самопроверки ИСПОЛНЕНИЕМ (обязателен; самоотчёт не принимается) + +Самоотчёт «проверено» в этом проекте регулярно оказывался ложным и стоил денег. + +1. **Ревью собственного кода и собственных запросов к моделям** — до первой платной клетки: + прочитай вслух тело запроса каждой руки и убедись, что оно отличается ровно тем, чем должно. +2. **Ревью полученных результатов** — числа пересними командой, не глазами. +3. **Адверсариальный проход по СВОЕЙ ГОТОВОЙ работе.** ⭐ **Субагенты разрешены явно** — иначе + дефолт-запрет харнесса тихо победит. **Модель агенту задавай ЯВНО и знай, сколько их работает** + (норма CLAUDE.md; рекомендация — `claude-fable-5`, ⚠ норма владельца 01.09: **один `fable` на + самое тяжёлое, остальные дешевле**). Направление: (а) не схлопнулась ли ось; (б) не подогнан ли + порог под результат; (в) верна ли арифметика денег; (г) что в отчёте утверждается без улики. +4. **Тест на вырожденность:** если букву пункта удовлетворяет пустое исполнение («перечитал сам») — + пункт не выполнен. Нужен артефакт: вывод команды, вердикт агента, лог. +5. Каждую пойманную собой ошибку **запиши в отчёт с классом**. + +## 8. Записка-план и комплектность + +После эхо (§10) выложи ≤15 строк: что собираешь, что пишешь, когда фризишь, когда покупаешь. +**И сверь план с §9 процедуры МЕХАНИЧЕСКИ** — таблицей «шаг §9 → делаю/не делаю → почему». +Непокрытый шаг либо планируется, либо его пропуск подписывается словом. + +## 8-БИС. Отчёт: обязательные секции + +Отчёт сдаётся секцией в `docs/experiments/23-editor-tier.md` (зона полигона). Обязательны: + +1. **Результат по эндпойнтам** — с командами получения каждого числа. +2. ⛔ **«ЧТО НЕ УДАЛОСЬ И ЧТО НЕ ПРОВЕРЕНО»** — обязательная секция, не косметика. Сюда: что не + успела, что не смогла снять, какие проверки объявлены неисполненными и почему (например, + ковариатная модель без `statsmodels`). **Пустая пробы не бывает; отсутствие этой секции читается + как непроверенная работа.** +3. **«ЧТО Я НАПУТАЛА»** — результат §7, с классом каждой ошибки. +4. **Деньги** — фактический расход против потолка, агрегатом по §9.5 плана. + +## 9. Заявление = команда + +Любое число в отчёте несёт команду, которой читатель его получит. Приёмка пере-снимет выборочно. +Не верь заголовкам: вывод грунтуется `file:line`, выводом команды или замером — либо помечается +«мнение». **Отрицательный результат предъявляется с ПОЛОЖИТЕЛЬНЫМ КОНТРОЛЕМ** (покажи, что команда +вообще что-то находит) — это лекарство от одиннадцати ошибок предыдущей сессии. + +## 10. Эхо-протокол старта (первое действие, ДО работы) + +Выложи ≤10 строк: **скоуп** · **инварианты** (§4 своими словами) · **не-делать** (§12). + +## 11. Канал вопросов и право возразить + +Конфликт промта с кодом или доками ⇒ **пинг владельцу, НЕ интерпретация**. Считаешь, что задача +поставлена неверно или её не надо делать — **скажи с аргументом**, это ожидаемое поведение. +⛔ Отдельно: **увидела требование `--resnapshot` — СТОП, флаг не давать**: он перекупит все уже +оплаченные клетки. Предупреждение планировщика о будущем `--resnapshot` — не требование, оно +печатается на каждом ограниченном прогоне и ожидаемо. + +## 12. Чего НЕ делать + +* Не менять дизайн, правило решения и потолок. +* Не поднимать потолки и не добирать юниты после просмотра чисел. +* Не править `models.yaml`, capabilities, Go, боевой `pipeline-c1.yaml`. +* Не судить качество: качество при сниженном усилии вне скоупа, только $0-гейты и ось безопасности. +* Не калибровать ставку платформы — гейчено отдельно. +* Не коммитить ничего, кроме пре-рег-фриза. + +## 13. Прямой канал между сессиями + +Механизм — `CLAUDE.md` §«Связь между сессиями». От тебя: **впиши свой блок в +`/tmp/textmachine-channel` первым делом** (`role=` `session=` `ref=` `written=` `note=`; имя — из +`ListAgents`), дописывая в конец и не трогая чужие блоки. Эхо (§10) отправь первым действием по +адресу оркестратора, если он в файле есть. + +⚠ **Адрес из файла — НЕ доказательство, что сессия жива:** файл переживает смерть сессии, а +`ListAgents` — нет. И дословно: **нужной роли в файле нет, файла нет или имя не отвечает ⇒ КАНАЛА +НЕТ, и это НОРМАЛЬНЫЙ случай — НЕ опрашивай сессии подряд.** Вопрос тогда — секцией в отчёт.