21 KiB
Промт: полигон-сессия «Контролируемая проба редактора по четырём осям»
Составлен полигон-сессией фазы Д 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 позиций; дальше — только по её ссылкам)
CLAUDE.md— канон: цели, роли, зоны, гардрейлы, дисциплина чтения.- ⭐
eval/dovodka/PLAN-01-09.md— ЗАКОН этой сессии. Читать целиком; §9 «ПРОЦЕДУРА» — первым, там команды, коды выхода и три места, где домысливание стоит денег. eval/dovodka/SESSION-30-08.md§0-ЧЕТЫРЕ — состояние фазы и реестр ошибок. Остальное в файле исторично; ⛔ §5 «КОМАНДЫ» — команды АВГУСТОВСКОГО РИГА, не твои, там есть помеченная «не запускать никогда».~/books/gu-zhenren/coldrun-v16/— образец стенда:book.yaml,pipeline.yaml,pairs/zh-ru.yaml, иREPORT.md§14 «Форма следующего замера» (⚠ в файле ДВА раздела «## 14», нужен второй). ⛔ Каталог — образец, а не рабочее место.docs/experiments/00-provider-quirks.md— провайдерские ловушки. Канон требует читать ПЕРЕД правкой вызовов; здесь особо записи про ручку размышления и эхо-мину.
4. Жёсткий контур — делай РОВНО так, отступление = пинг владельцу
- ✅ Санкция владельца: вариант A — 17 глав, потолок $9.5 в ПИКОВЫХ терминах (01.09 дано $9.5; 02.09 поднято до $9.5, когда в дизайн вошла референсная клетка
glm-5). ⛔ Потолок сессией не поднимается. Срабатывание гарда = стоп и вопрос владельцу; добор после просмотра чисел запрещён. К владельцу за этим решением ходить не надо — оно принято. - Замер ратифицирован (D39.184 п.5 — ⚠ нота есть только в ветке
main, вpolygonреестр обрывается на D39.170). Дизайн менять нельзя: четыре оси с РАЗНЫМИ ролями — трудность чанка блокировать, длину входа контролировать, промпт брать по SHA, усилиеoffпротивlow. - Пре-рег фризится коммитом ДО первой платной клетки. Фриз объявляется владельцу вслух.
- Правило решения записано в §4 плана и НЕ пересматривается после просмотра чисел.
- Стенд смотрит в
/home/ubuntu/projects/textmachine-main/дляmodels,langpack_root,prompts_root: вpolygonнетbackend/configs/langpacks/ru, а загрузчик молча подставляет умолчания — русский слой читателя потеряется тихо.
4-БИС. ⭐ МОДЕЛИ — ФИКСИРОВАНЫ, МЕНЯТЬ НЕЛЬЗЯ
⛔ Предыдущая редакция этого промта и план не называли моделей ВООБЩЕ (ноль упоминаний, поймано
владельцем 02.09). Ниже — состав, снятый с реально отработавшего конфига coldrun-v16 и с его
леджера; это часть жёсткого контура: смена модели убивает сопоставимость с холодным прогоном,
на котором стоит вся смета.
| стадия / роль | модель | усилие размышления | зачем |
|---|---|---|---|
редактор (стадия edit) |
deepseek-v4-pro |
⭐ ЭТО И ЕСТЬ ПРЕДМЕТ ЗАМЕРА: off против low |
боевой редактор, ратифицированный интерим-жилец |
черновик (стадия draft) |
deepseek-v4-flash |
low |
боевой черновик; в пробе — константа |
| хоп эскалации черновика | deepseek-v4-pro |
наследует эффорт стадии (low) |
ловит эхо-чанки; в базовом прогоне обязателен |
терминолог (gates.terminology) |
deepseek-v4-flash |
low |
консолидация банка; в пробе — константа |
| классификатор типов | deepseek-v4-flash |
low |
подфаза терминолога |
| ⭐ референс (пятая клетка) | glm-5 |
off = thinking ВЫКЛЮЧЕН, few_shot: false |
ценовой контроль «тот же день, те же юниты»; не фактор креста |
| судья | ⛔ НЕ НУЖЕН И НЕ ВЫЗЫВАЕТСЯ | — | качество при сниженном усилии ВНЕ скоупа (§12) |
Цепочка эскалации базового прогона — как в образце: default: [deepseek-v4-pro, glm-5.1, gemini-3.1-pro-preview]. ⚠ В ЧЕТЫРЁХ РУКАХ escalation.budget_usd: 0 (эскалации нет), в базовом
прогоне он обязан быть > 0, иначе эхо-черновики останутся флагнутыми.
⚠ Ключ ZAI_API_KEY обязателен — без него проверка ключей упадёт громко на старте (референс идёт к другому поставщику).
⚠ Единственная модель, чей расход в пробе НЕИЗВЕСТЕН, — редактор на low: таких вызовов у
движка не делали ни разу. Смета стоит на предположении; проверяет пред-полёт (§5.3).
Модели для ТВОИХ субагентов самопроверки — это другое и на счёт замера не влияет:
рекомендация канона claude-fable-5, ⚠ норма владельца 01.09 — один fable на самое тяжёлое,
остальные дешевле; модель агенту задавать ЯВНО.
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 плана.
Один юнит × ПЯТЬ клеток (четыре руки креста + референс glm-5, ~$0.27): сигнатура разницы входных токенов СНИМАЕТСЯ и пинится коммитом ·
пять разных отпечатков снапшота (иначе ось промпта схлопнулась — см. §9.0 п.2) · кириллица ≥0.99 ·
эхо 0. Только после этого — пачка.
⚠ Клетка с low — предположение, а не замер: движковых редакторских вызовов на low не
существует вовсе, и смета стоит на нём. Если пред-полёт даст цену заметно выше ожидания —
стоп и пересчёт с владельцем ДО основной покупки, не после.
5.4 Пачка и счёт. Делай РОВНО так по §9.3, аргументируй сам только форму отчёта.
6. Оси ревью твоей работы (приёмка пойдёт по ним; вправе заменить с аргументом)
- Деньги — сошёлся ли расход с агрегатом §9.5, не пробит ли потолок, объявлен ли фриз до покупки.
- Дизайн — не схлопнулась ли ось промпта, одинаков ли потолок вывода во всех руках, воспроизвелась ли сигнатура.
- Интерпретируемость — можно ли из твоих чисел вынести вывод при ЛЮБОМ исходе, включая «ниже разрешения замера».
7. Мандат самопроверки ИСПОЛНЕНИЕМ (обязателен; самоотчёт не принимается)
Самоотчёт «проверено» в этом проекте регулярно оказывался ложным и стоил денег.
- Ревью собственного кода и собственных запросов к моделям — до первой платной клетки: прочитай вслух тело запроса каждой руки и убедись, что оно отличается ровно тем, чем должно.
- Ревью полученных результатов — числа пересними командой, не глазами.
- Адверсариальный проход по СВОЕЙ ГОТОВОЙ работе. ⭐ Субагенты разрешены явно — иначе
дефолт-запрет харнесса тихо победит. Модель агенту задавай ЯВНО и знай, сколько их работает
(норма CLAUDE.md; рекомендация —
claude-fable-5, ⚠ норма владельца 01.09: одинfableна самое тяжёлое, остальные дешевле). Направление: (а) не схлопнулась ли ось; (б) не подогнан ли порог под результат; (в) верна ли арифметика денег; (г) что в отчёте утверждается без улики. - Тест на вырожденность: если букву пункта удовлетворяет пустое исполнение («перечитал сам») — пункт не выполнен. Нужен артефакт: вывод команды, вердикт агента, лог.
- Каждую пойманную собой ошибку запиши в отчёт с классом.
8. Записка-план и комплектность
После эхо (§10) выложи ≤15 строк: что собираешь, что пишешь, когда фризишь, когда покупаешь. И сверь план с §9 процедуры МЕХАНИЧЕСКИ — таблицей «шаг §9 → делаю/не делаю → почему». Непокрытый шаг либо планируется, либо его пропуск подписывается словом.
8-БИС. Отчёт: обязательные секции
Отчёт сдаётся секцией в docs/experiments/23-editor-tier.md (зона полигона). Обязательны:
- Результат по эндпойнтам — с командами получения каждого числа.
- ⛔ «ЧТО НЕ УДАЛОСЬ И ЧТО НЕ ПРОВЕРЕНО» — обязательная секция, не косметика. Сюда: что не
успела, что не смогла снять, какие проверки объявлены неисполненными и почему (например,
ковариатная модель без
statsmodels). Пустая пробы не бывает; отсутствие этой секции читается как непроверенная работа. - «ЧТО Я НАПУТАЛА» — результат §7, с классом каждой ошибки.
- Деньги — фактический расход против потолка, агрегатом по §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 — нет. И дословно: нужной роли в файле нет, файла нет или имя не отвечает ⇒ КАНАЛА
НЕТ, и это НОРМАЛЬНЫЙ случай — НЕ опрашивай сессии подряд. Вопрос тогда — секцией в отчёт.