textmachine/docs/archive/prompts/POLYGON_ROLE_TOPOLOGY_SESSION_PROMPT_2026-08-06.md

22 KiB
Raw Permalink Blame History

ОТРАБОТАН И АРХИВИРОВАН (08.08, D39.117). Эксп-21 исполнен пятью редакциями и ПРИНЯТ; отчёт — docs/experiments/21-role-topology.md (ИТОГ + §18), приёмка — D39.117. Девиации от промта (агент-судейство вместо платного · снятие «обоих порядков» для абсолютного рига · контаминированный zh-материал вместо заказанного свежего среза · потолки фаз пробиты) ратифицированы/учтены той же нотой. Инструкции НЕ исполнять.

Промт: ПОЛИГОН — решающий пак «топология ролей перевода» (эксп-21)

Санкция владельца 06.08 (оркестратор №15). Зона: eval/role_topology/ + docs/experiments/21-role-topology.md + пинг в PROGRESS «Полигон». Гейт старта: экспы 18/19/20 залендены с ревью-шапками приёмки — числа там поправлены, шапка первична над телом.

Потолки (ПРЕДВАРИТЕЛЬНЫЕ, пере-сверяются в Ф0.6): Ф0 ≤$0.70 (из них предзамер судей ≤$0.60) · вахта-проба ≤$0.05 · Ф1 ≤$1.00 · Ф2а ≤$2.50 · Ф2б ≤$3.00. Живые стопы механизмом + проекционный гард. Подъём/пере-нарезка — только словом владельца ДО запуска фазы. Не влезает — стоп и пинг, не резать молча.

Онбординг: что за проект и какую проблему решает ТВОЙ пак

TextMachine переводит большие художественные тексты (ранобэ/вебновеллы, zh→ru, миллионы знаков) мультиагентным пайплайном: дешёвая модель черновым переводом проходит книгу волнами → терминолог консолидирует термины в банк памяти книги (глоссарий, который инжектируется ролям как ЗАКОН) → вторая модель-«редактор» дорабатывает черновик → детерминированные $0-гейты ловят брак (эхо исходника, числа, пропуски). Цели продукта: издательское качество (победить translationese), консистентные термины/голоса на всю книгу, низкая себестоимость. Жаргон (арм, банк, банкнота, голден…) — docs/glossary.md.

Кризис, из-за которого существует этот пак. Экспы 1820 (0405.08) вскрыли, что роль «редактора» — не то, чем считалась:

  • Редактор не «чинит ошибки черновика» — по своему мандату он ПЕРЕПИСЫВАЕТ текст целиком. На боевой модели роли (deepseek-v4-pro) переписывание ломает больше, чем улучшает (термины, фактуру), а на glm-5 — докупает качество русской прозы. Польза второго прохода — свойство конкретной модели в роли, НЕ архитектуры.
  • Локализованные ошибки дёшево чинятся точечно по флагу гейта ($0.0002/дефект, 12/12) — но мерилось это при ИДЕАЛЬНОЙ детекции: детекторов «выдуманное слово» и «смысловая инверсия» не существует.
  • Дифф/спан-формат надёжен (комплаенс 0.95+), но дорог именно на deepseek-v4-pro (ru 2.83× от переписывания; en 0.67×); у glm/grok/luna — дешевле переписывания даже с мышлением. Это свойство модели, не thinking-класса.
  • Судья-LLM, которым всё мерили, шумит: согласен сам с собой на идентичном входе в 56% клеток (33% на несущих осях); разницы меньше ~2:1 не разрешает.

Вопрос, на который отвечаешь ты (и только ты): какая топология целевая — «черновик + переписыватель», «черновик + гейты + точечный ремонт», «однопроходка сильной моделью», гибриды с маршрутизацией — и кто жильцы ролей. По твоему отчёту владелец решает перестройку бэкенда. Твоя работа — ЗАМЕР, не решение: армы равноправны, «правильного ответа», которого от тебя ждут, НЕ существует. Жильцы и топология станут конфигом: движок по паре/модели не ветвится (канон §0.1).

Карта чтения (≤5, по убыванию)

  1. docs/experiments/18-editor-wire-probe.md · 19-editor-contract-q4b.md · 20-editor-role.md — секции ИТОГ + ревью-шапки приёмки (шапка первична).
  2. docs/experiments/00-provider-quirks.md — целиком, ДО первого платного вызова.
  3. eval/editor_harness/ + eval/editor_contract/ + eval/bank_arbitration/editor_wire_probe.py — готовые харнессы/скореры/verify-скрипты: переиспользуй.
  4. docs/architecture/05-decisions-log.md — грепом D39.104 (банк-закон) · D39.46/47 (нормы замеров) · D39.22 (вопросы итерации №2 редакторов — едут довеском этим прогоном, строка 65).
  5. docs/research/24 §B5 — методика «цена/книга» банк-ролей.

ЗАКОН (не пере-открывать; отступление = пинг)

  • Банк на проводе = закон для всех ролей (D39.104). Текст закон-блока ПИНИТСЯ: отправленная строка пробы 18 (девиация №1 — оговорка снаружи скобки) БЕЗ оговорки области — оговорка опровергнута пробой 18, не вносить. Фиксация закона во всех армах — санкционированное исключение из D39.46(а) «арм-без-фактора»: фактор уже измерен изолированно (проба 18). Банкнота — на переводческом проходе всех армов, КРОМЕ байт-боевого бейзлайна (боевой конфиг канал не несёт — объяви как известную девиацию бейзлайна, не чини).
  • DeepSeek: thinking НЕ отключать (эхо-мина). Слаги — только live /models в день запуска; цены — прайс вендора; quirks 00 — до первого вызова (peak-valley DeepSeek, grok reasoning, gemini thinking-токены, GPT-5.6 wire — эксп-18 §C.1).
  • Вахта реестра 108 (дата-триггер ПРОШЁЛ): до Ф1 — пере-проба маппинга эффорта deepseek-v4-pro (≤$0.05) + сверка вендор-changelog; вся эмпирика 1820 стоит на старом маппинге (quirks §3а).
  • Судейские риги: per-vote персист КАЖДОГО голоса (ревью-шапка эксп-20: решающий замер без персиста невоспроизводим — не повторять) · полно-evidence окна · зеркальная раскладка/оба порядка · слепые метки, раскладка расцеплена с армом · контрольный ДЕКОЙ обязателен (D39.46б) — посаженная деградация, которую судья обязан поймать · судья не судит армы своего семейства-жильца; вердикты раскладываются по семействам судей (self-family bias) · первичный протокол — счёт типизированных ошибок (MQM-lite: спан+тип+severity, счёт/1000 слов), pairwise-преференс — только для стиль-осей; агрегация BradleyTerry с bootstrap-CI.
  • Пре-рег фриз коммитом ДО платных вызовов каждой фазы (изменения после = новый experiment-ID; девиации — явно; amend фриза запрещён). Критик полноты — на КАЖДУЮ фазу (D39.46в), не только на отчёт.

Фаза 0 — подготовка и метрология (механика $0; предзамер судей ≤$0.60)

  1. Пре-рег: армы, критерии, пороги, прогнозы («кто какую роль возьмёт» — сверка прогноза с фактом идёт в отчёт), смета.
  2. Невиданный срез: свежая вебновелла 2026 (zh) без опубликованного ru-перевода. Контаминация НЕ по дате: continuation/cloze-пробы моделей на исходнике + поиск fan-переводов (en/ru); метод и результат — в пре-рег. Объём: рассеянные окна ДЛЯ дисперсии + связный отрезок 810 глав ДЛЯ дрейф-метрик (швы, консистентность, рост банка). Файлы в ~/books/ (вне git), хеши в пре-рег. Основание: эмпирика на претрейн-классике предварительна (строка 55). $0-довесок на купленном срезе: dialogue_dash · частота эха · precision чекеров (диспозиция строки 55 — что закрыто, что нет — в отчёт).
  3. Банк среза: терминолог-прогоном в потолке Ф1 + ручной канон с пометкой «НЕ подпись владельца» (D39.47); против него читается метрика «канон». Карточки персонажей (пол · регистр · ты/вы-пары) — ДАННЫЕ для батареи п.5.
  4. Детекторы (критический путь армов C/E/G): «выдуманное слово» (словарь+морфология+вайтлист имён из банка; полигон-прототип, НЕ движковое решение — пин строки 46 «Hunspell в движок не строить» не задет) · «смысловая инверсия» (QE-ранкер локальными весами CometKiwi/xCOMET — покрытие zh→ru проверить мини-бенчем ДО опоры). Замер на УЖЕ размеченных дефектах экспов 1820: precision И recall; ущерб от false positive (ремонт по ложному флагу = порча) — отдельным числом. Разметка — вторым контуром (чужая модель/адверсариальная проверка), не только своей рукой.
  5. Детерминированная батарея (первичные метрики там, где судья не нужен): Палладий-линт транскрипции (pinyin→таблица; и глоссарий, и текст — кандидат-убийца класса «18% ошибок») · повтор-консистентность «одна zh-строка → одна ru-строка» кросс-окно · коллизии (один src→два dst; разные src→один dst) · род прош. времени против карточек (вход строки 82) · ты/вы-матрица пар · перенос чисел с нормализацией 万/亿 · утечка ханьцзы (порог ниже боевого 0.15) · русская издательская типографика (тире-диалоги, «ёлочки») · translationese-прокси (длины предложений vs нативный ру-корпус, чёрный список калек) · no-op метрика: доля нетронутых хороших сегментов + дельта качества ОТДЕЛЬНО на изменённых/неизменённых (APE-стандарт).
  6. Предзамер судей и мощность (≤$0.60): разброс ОБОИХ судей на повторе (Claude-судья не мерен вовсе) + шумовой пол пайплайна (один арм дважды end-to-end на идентичном входе) → MDE и порог различимости; пере-сверка сметы Ф2: число окон/реплик на контраст — из мощности, не из потолка. Если мощность не влезает в потолки — СТОП и пинг с расчётом, не резать молча.

Фаза 1 — СКРИН моделей (≤$1.00; оси = гейты цены/дисциплины, НЕ прокси качества)

Кандидаты: live-листинг по каждому ключу (DEEPSEEK, ZAI, KIMI, OPENAI, GEMINI, XAI, MISTRAL); дешёвый + сильный тир каждого провайдера; >14 — срежь по прайсу и объяви. Pass/fail порог каждой оси — записан ДО замера; скрин обязан убивать (на Ф2 — ≤3 жильца на роль). Урок эксп-20: механический показатель ≠ качество («число абзацев было прокси») — спорных кандидатов стиль-ролей не решай скрином, доводи до Ф2 обоими.

Оси: профиль размышления (управляемость, доля в completion, отключаемость) · эхо/утечка в дешёвом режиме · дисциплина к черновику · формат-дисциплина НА ДЛИННЫХ входах (боевая единица, не короткое окно) · отказы/цензура на чувствительном фрагменте среза (вебновелла гарантированно упрётся; тихий отказ на главе N ломает конвейер) · цена в боевой конфигурации: prompt-кэш + batch API + p50/p95 (thinking тяжелохвост; среднее врёт) · детерминизм повтора при T=0 · датированные снапшоты/пины у провайдера.

Мини-проба «глоссарий-лок» (сюда же, копейки): маскирование глоссарных спанов плейсхолдерами на время редактуры + детерминированная обратная подстановка. Если «редактор ломает термины» снимается разметкой за $0 — половина мотивации перебора редакторов исчезает; результат меняет состав Ф2.

Фаза 2 — БЕЙК-ОФФ (двумя стадиями, ранний отсев; парный дизайн)

Факторная рамка: {дешёвый · сильный} черновик × {без второго прохода · переписыватель · ремонт-по-флагу} + мандат перевёрстки как флаг ячейки. Черновики ФРИЗЯТСЯ и подаются идентичными всем армам-редакторам (парные сравнения, пермутация/McNemar — кратный выигрыш мощности бесплатно).

Стадия Ф2а (≤$2.50) — «переписывание как класс»:

Арм Что
F do-nothing пол: черновик как есть через гейты (норма exp15:486/research-19 §C3 — все редакторские армы мерятся против него)
A байт-боевой бейзлайн flash→dspro (без банкноты — известная девиация)
B связка flash→glm-5-OFF full-regen
D однопроходка сильной модели С мандатом перевёрстки; D — та же БЕЗ мандата (деконфаунд модель/мандат)

Стадия Ф2б (≤$3.00; гейт: детекторы Ф0.4 валидированы) — победитель Ф2а против ремонта и маршрутизации:

Арм Что
C черновик (с мандатом перевёрстки — иначе вёрстка-конфаунд) → детекторы+гейты → точечный ремонт дешёвым фиксером; в двух режимах: oracle-флаги (потолок) и реальные детекторы (пол); после КАЖДОГО фикса — полный ре-гейт, кап 2 итерации; печатать recall гейтов+детекторов на срезе (строка 12)
E обратная связка: сильный черновик → дешёвый фиксер по флагу
G guarded+routed: QE/гейты скорят все окна → стиль-пасс ТОЛЬКО флагнутым, редактура принимается только если внешний гейт видит улучшение (guarded APE, max(draft, edited)) — прод-кандидат
reflow-план кодом (Q4c research/19 §C1.3) — гони ИЛИ явная диспозиция отказа в пре-реге

Метрики: детерминированная батарея Ф0.5 (первична) + MQM-lite счёт двух судей с порогом Ф0.6 + цена за принятую 1000 слов (p50/p95, с кэшем/батчем/ретраями; перезаписанные вызовы — тоже деньги) + дрейф-метрики на связном отрезке (швы, ты/вы-стабильность, рост банка). Слепое чтение владельца на финалистах — стратифицированные пары, инструментарий D39.8(3): калибрует судей (оси ниже монетки — вон из вердикта) и исполняет довесок строки 65.

Критерии — в пре-реге ДО запуска: «арм X бьёт Y при перевесе > порога Ф0.6 по осям …»; средние исходы = «неопределённо»; при неразличимости дефолт — самый дешёвый и детерминированный арм.

Отчёт

docs/experiments/21-role-topology.md: ИТОГ для оркестратора · вход для решения владельца (топология + жильцы + цена/книга на арм p50/p95) · «заявление=команда» на каждое число · сверка прогнозов Ф1 · критики полноты ПО ФАЗАМ · девиации · диспозиции задетых строк бэклога: 55 (что закрыл срез) · 65/D39.22 (вопросы итерации №2) · 106 · 12 · 82 (прототип рода) · пометка судьбы детекторов против пина строки 46. Пинг в PROGRESS «Полигон» — коротко.

Мандат самопроверки (обязателен)

Ревью исполнением: свой код + сформированные запросы + результаты. Вывод на агрегате до вскрытия единиц запрещён (D39.61). Деньги двумя независимыми путями; леджер = нижняя граница (перезаписанные/удалённые вызовы считать). Верификатор чисел отчёта отдельным скриптом (образец eval/editor_harness/verify_report.py); ненулевой код возврата = отчёт не сдаётся. Адверсариальный проход author≠reviewer до сдачи.

Канал вопросов и границы

  • Непонятно / конфликт промта с кодом-доками / потолок мал / мощность не влезает → пинг оркестратору через владельца, НЕ тихая интерпретация. Право «этого делать не надо» — с аргументом.
  • НЕ трогать: банк-ось (остаток строки 5 + 36б; QA/канарейки банка — отдельный слот), флор-пробу (строка 44), backend/ и чужие зоны. Движок — только read-only/оверлеи (образец эксп-18 §0.1, байт-сверка при движковом пути).
  • ToS-сверка Z.AI (glm-5 в несущей роли) и лейбл-вопросы — не твоя задача; пометь как гейт финального решения владельца.