textmachine/docs/experiments/22-tenant-panel.md

21 KiB
Raw Blame History

22. Панель жильцов: кто занимает роль черновика и роль редактора

Полигон-сессия, 08.08.2026. Исполнение docs/POLYGON_TENANT_PANEL_SESSION_PROMPT.md (санкция владельца 08.08, D39.117). Зона: eval/tenant_panel/ + точечные проверки eval/role_topology/ + этот файл + пинг в PROGRESS «Полигон».

СТАТУС: ПРЕ-РЕГ Ф0/Ф1 — зафризен этим коммитом ДО первой платной покупки. Потолки промта: Ф0 ≤$0.40 · Ф1 ≤$1.00 · Ф2 ≤$2.00 · Ф3 ≤$1.60; сумма ≤$5.00. Числа отчёта пере-считываются eval/tenant_panel/itog22.py, сторожатся eval/tenant_panel/verify22.py; ненулевой код возврата = отчёт не сдаётся.


§0 ПРЕ-РЕГ. Секция Ф0/Ф1 (зафризена до трат)

0.1 Вопрос и что НЕ мерится

Топология «дешёвый черновик → дорогой редактор-переписыватель» решена эксп-21 и здесь не пере-меряется. Открыт вопрос ЖИЛЬЦОВ обеих ролей: черновиком за всю историю проекта была одна модель (deepseek-v4-flash), а выбор редактора проверен на паре из двух движков.

Не мерится и не варьируется: банк как фактор (наличие/отсутствие — чужой слот, строки 5/36б); топология как таковая; контракт редактора (full-regen против диффов — строка 106).

«Правильного ответа» не существует: армы равноправны, движок по паре и по модели не ветвится (§0.1 12-go-style-notes.md), поэтому любой исход — строки конфига, а не код.

0.2 Материал: невиданный zh-срез

Эксп-21 главный zh-замер сделал на 蛊真人, которую его же проба оценила как узнанную моделью 4/5 — наравне с положительным контролем. Промт эксп-22 заказывает срез повторно и жёстко.

Метод поиска (объявляется, потому что «нашёл в вебе» без метода не проверяем):

  1. Площадка отбиралась по механическому критерию — текст главы отдаётся сервером. Проверено curl: 七猫 и 番茄 отдают JS-каркас без текста; 纵横中文网 (zongheng.com) отдаёт <div class="content"> с полной главой. Пиратские агрегаторы не рассматривались.
  2. Из блока новинок главной снято 17 книг; у каждой прочитано поле 首发时间 — дату первой публикации печатает сама площадка на странице главы.
  3. Отобрана книга с датой первой публикации в июле 2026 (то есть заведомо позже любого правдоподобного среза обучения) и жанром, совпадающим с продуктовым (东方玄幻 — то же семейство, что 蛊真人).

Книга среза: 《阴阳天帝诀》, 玄幻奇幻 / 东方玄幻, zongheng.com/detail/1569059, 首发时间 2026-07-13, на день замера 71 глава / 15万字, 393 суммарных клика.

Проверка непереведённости (метод и его границы объявляются вместе):

  • поиск по названию (zh) и транслитерации — совпадений нет;
  • поиск, ограниченный восемью ru/en-площадками переводов (tl.rulate.ru, ranobelib.me, ranobes.com, ranobehub.org, novelupdates.com, ficbook.net, mlate.ru, bllate.org) — совпадений нет;
  • ⚠ прямой поиск в формах этих площадок механически НЕ подтверждён: novelupdates отдаёт 403, rulate игнорирует параметр запроса (отдаёт весь каталог, 83 555 переводов), ranobelib и ranobes — SPA. Это объявленная граница проверки, а не подтверждение;
  • базовая ставка: 393 суммарных клика за 26 дней — вероятность существования перевода пренебрежима, но это аргумент, а не замер.

⚠ ГЕЙТ ПРАВ, объявлен ДО отбора единиц. Срез — взрослая вебновелла: слой насилия плотный (это рабочий случай продукта, его меряли все прежние паки), но у ДВУХ якорных провайдеров панели лейбл sexually-explicit в договоре стоит FORBIDDEN (quirks 00, таблица прав: deepseek ToU §3.4(5); zai п. g) «Submitting … sexually explicit»). Поэтому из пула единиц сняты две главы с наибольшей плотностью эротических маркеров (верхний дециль по 18 главам): гл. 1 и гл. 2. Честная граница: после снятия остаётся ровно 16 глав на 16 единиц, то есть отбор «из середины распределения длин» вырождается в «все оставшиеся». Это ограничение, а не замысел.

⚠ ОБЪЁМ СРЕЗА ОГРАНИЧЕН ВНЕШНЕ. Скачано 18 глав (40 008 знаков), после чего площадка поставила анти-краулерную капчу на IP; снижение темпа до 3 с, куки живой сессии владельца и мобильный хост её не сняли. 16 единиц из 18 глав получены; добор до 71 главы не выполнен.

Единицы (детерминированный отбор, методика эксп-21 §0): дедуп по подписи со снятым заголовком главы, ключ артефакта — хеш источника (не позиционный индекс), сортировка по (длина, uid). 16 единиц zh: 2073…2517 знаков, медиана 2194; 16 разных глав (у эксп-21 — 16 единиц из 12 глав, то есть по кластеризации срез чище); максимальная попарная близость 0.069 (эксп-21: 0.060). Хеши единиц — ~/books/tenant-panel/manifest.json.

Ось переноса en (обязательна): Kristoff, «Empire of the Dawn» (узнавание 1/5 по эксп-21), 6 единиц из отбора эксп-21 — 3 страты fr, 3 страты plain; единица 129b73ad5a выброшена (выходные данные и библиография, а не проза — §8 эксп-21).

Порог контаминации — объявлен эксп-21 и здесь не двигается: узнавание ≥3/5 = материал непригоден. Проба — узнавание + клоуз по 5 отрывкам (contam.py). Две поправки против эксп-21: проба идёт двумя моделями (gpt-5.6-luna для сопоставимости и deepseek-v4-flash — боевой жилец черновой роли; §4 п.9 эксп-21 оставил это открытым) и с двумя опорами — положительный контроль 金瓶梅 и книга эксп-21 蛊真人 (там 4/5). Не пройдёт порог — материал меняется на резервную книгу 《吞仙葫》 (detail/1573203, 首发 2026-07-23), объявленную здесь ДО замера.

0.3 Починки эксп-21 §8 — закрыты, проверены исполнением

eval/tenant_panel/checks21.py, ненулевой код возврата = покупки запрещены. Все четыре пункта списка §8 оказались УЖЕ закрытыми самим эксп-21 (список не был вычеркнут). Проверено запуском, а не чтением; где возможно — на том артефакте, из-за которого пункт появился:

§8 Чем проверено Итог
гейт ре-гена ловит и ЦЕЛЕВУЮ письменность четыре входа с известным ответом + исторический артефакт bo2-DRAFT-34749d6ccc-r2 (латиница 1.00) отвергается «выход не на целевом языке»
карта раскладки слепого чтения вне каталога пакетов blind_read.KEYS ≠ PACKETS, карт в каталоге пакетов нет закрыт
персист обоснований судьи absjudge --selfcheck (три регрессии) + 120/120 боевых клеток прохода abs4 несут текст закрыт
три лживых докстринга сверка докстринга с исполняемым кодом (REPS_PER_ORDER, run_draft, кортеж JUDGES) противоречий нет

0.4 Каcса и фриз — механизм, а не обещание

eval/tenant_panel/money.py. Три урока эксп-21, каждый стоил денег:

  • новый тег покупок не попадал в глоб кассы (трижды; последний раз гейт ложное число СЕРТИФИЦИРОВАЛ) ⇒ теги объявлены в одном месте, и --selftest проверяет по одному тегу за раз, что каждый даёт кассе фазы и кассе пака ровно свою сумму;
  • потолки фаз пробивались ⇒ каждая покупка проходит ДВА проекционных гарда: фазовый и пакетный ($5.00);
  • покупки шли кодом вне зафризенного дерева ⇒ покупка отказывает, если файл вызывающего не отслеживается git ИЛИ отличается от закоммиченного. «Фриз ДО покупок фазы» стал механизмом.

Проверено исполнением: 7/7 тегов видны обеими кассами, проекционный гард отказывает при нулевом потолке, фриз-гейт отвергает покупку из НЕ-файла.

0.5 Ф1 — кандидаты, пороги, прогнозы

Живой листинг /models 08.08 (role_topology/list_models.py): deepseek 2 · zai 8 · kimi 12 · gemini 59 · xai 10 · mistral 53; openai — ReadTimeout, пере-снять до скрина. gemini-3.1-pro-preview в листинге ЖИВ — обязательный кандидат Ф3 доступен.

Ростер (11 моделей, roster.py), цены сверены 08.08 по прайс-страницам вендоров. Живая сверка удалась по DeepSeek · Z.AI · Gemini · Kimi (страницы сохранены); не удалась по OpenAI (Cloudflare 403), xAI (308→403; Wayback свежее эксп-21 не имеет) и Mistral (прайс рендерится JS) — там цены перенесены из эксп-21 с датой его сверки, и это объявлено.

Три поправки к role_topology/prices.py, найденные живой сверкой:

  • у Gemini кэш-цена выделена вендором и в 810 раз ниже входной ($0.20 против $2.00 у 3.1-pro; $0.15 против $1.50 у 3.6-flash; $0.025 против $0.25 у flash-lite) — эксп-21 ставил кэш = входу и ЗАВЫШАЛ цену Gemini;
  • у Z.AI появились glm-4.7-flash (бесплатный) и glm-4.7-flashx ($0.07/$0.40) — тир дешевле боевого черновика; в live-/models их НЕТ, поэтому в ростер не берутся, а проверяются $0-пробой существования слага;
  • DeepSeek на прайс-странице 08.08 объявляет ПОВЫШЕНИЕ цен («significant increase expected») — это бьёт по проекции себестоимости книги и едет с ИТОГом.

Рез по прайсу (промт разрешает при >16 кандидатах; каждому провайдеру оставлен слот): сняты gpt-5.6-terra, kimi-k3, glm-5.1, glm-5.2, glm-5-turbo, grok-4.5, mistral-medium-latest — каждый доминирован одноимённым семейством при той же роли (основания пер-модельно в roster.CUT).

Пороги скрина — содержательные, из требований пайплайна, записаны ДО замера (screen.py). Порог, не способный отсеять никого, — не порог; но пороги выводятся из требований, а не подгоняются под желаемый состав:

Гейт Что и почему Провал
Г1 ФОРМАТ на боевой единице сервис-преамбула, markdown-заголовки, обрыв — ровно те классы, которые боевой санитайзер считает вердикт-гейтом (D30.3) нарушение более чем в одной единице из двух
Г2 ЭХО/УТЕЧКА доля исходной письменности; боевой порог disposition.go = 0.15 любая единица выше 0.15 ЛИБО ханьцзы во ВСЕХ единицах
Г3 ОТКАЗ на чувствительном фрагменте вебновелла упирается в насилие; тихий отказ на главе N рвёт конвейер отказ
Г4 ЦЕЛЕВОЙ ЯЗЫК эксп-21 оплатил и принял английский выход (латиница 0.79) доля кириллицы среди букв < 0.5
Г5 ЦЕНА/ЕДИНИЦА считается из usage, не из прайса; роль черновика имеет объявленный порог draft: > $0.02/ед · editor: > $0.06/ед
Г6 УПРАВЛЯЕМОСТЬ РАЗМЫШЛЕНИЯ класс, уже стоивший проекту волны (quirks §10) finish=length при пустом выходе

Урок эксп-20 применяется: механический показатель ≠ качество, поэтому спорных кандидатов СТИЛЬ-осей скрин не решает — они доводятся до Ф2/Ф3.

Прогнозы (калибруют удивление; совпадение НЕ цель).

  1. Скрин убьёт 24 кандидата из 11; наиболее вероятные — kimi-k2.6 (многословность размышления → обрыв), grok-4.3 (кредиты xAI исчерпаны 07.08), mistral-large-latest (преамбула в выходе), gemini-3.1-flash-lite (формат).
  2. Разброс панели ЧЕРНОВИКОВ будет БОЛЬШЕ разброса панели редакторов. Основание — §16.2 эксп-21 (тот же редактор над другим черновиком: 7.66 против 5.91) и §12 (A_law/B 0.69, ноль внутри интервала).
  3. gemini-3.1-pro НЕ окажется аутлаером прозы: гипотеза эксп-04 снята мёртвым поколением и слабым ригом. Прогноз: его перевес над deepseek-v4-pro ляжет НИЖЕ шумового пола.
  4. Победитель черновой роли будет решаться ценой, а не качеством: прогноз — перевесы черновиков лягут в полосу 13 ошибки при поле ≈1.9, то есть правило ничьей D39.117 (самый дешёвый жилец) окажется рабочим, а не декоративным.
  5. Частота эхо-мины deepseek-v4-flash на этой книге — 2540% (приор эксп-21: 38% на zh, 0% на en).

⚠ Числа-приоры взяты из эксп-21 для сметы и дизайна, не как ожидания: новый замер их не обязан воспроизвести, расхождение = находка.

0.6 Смета и план агент-запусков

Смета считается по ФАКТИЧЕСКИМ $/вызов эксп-21 из сырья (медианы по scr-* и bo4-*), масштабированным на длину единицы (2194/1683 = ×1.31) и на отношение цен вендоров.

Фаза Что покупается Смета Потолок
Ф0 контаминация 3 книги × 5 отрывков × 2 модели = 30 вызовов; терминолог 1 вызов $0.02 $0.40
Ф1 11 моделей × 2 единицы × 2 роли = 44 вызова $0.62 (до $0.80, если Gemini-pro много думает) $1.00
Ф2 ≤5 жильцов + якорь × 22 единицы (черновик) + боевой редактор поверх каждого + шумовой пол $1.27 при панели из 5 $2.00
Ф3 ≤5 редакторов × 16 единиц поверх замороженного flash-черновика (клетка dspro переиспользуется из Ф2) $1.50 $1.60
сумма $3.41 $5.00

Правило усечения панели Ф2, объявляется ЗАРАНЕЕ. Если смета не влезает в $2.00, панель режется так, чтобы СОХРАНИТЬ ЦЕНОВУЮ ОСЬ: обязательны якорь deepseek-v4-flash, самый дешёвый прошедший и самый дорогой прошедший; середина добирается по возрастанию цены до упора в потолок. Причина: вопрос пака — «покупает ли дорогой черновик качество», и панель, срезанная по цене сверху, на него ответить не может. Каждый снятый кандидат печатается с его числами.

План агент-запусков (кап промта ≤60; 1 запуск = одна судейская сессия суб-агента).

Стадия Пакетов Текстов в пакете Запусков
Ф2 zh — черновики + редактор поверх каждого 16 единиц ≤5 черновиков + ≤5 редактур + декой + пара пола ≈ 13 16
Ф2 en — ось переноса 6 единиц ≤5 черновиков + декой ≈ 7 3
Ф3 zh — панель редакторов 16 единиц ≤5 редакторов + база + декой + пара пола ≈ 9 8
Довесок D_/A на сырье эксп-21 16 единиц 2 текста + декой 4
план 31
резерв на сессии, аннулированные декоем 12
потолок 43 из 60

0.7 Что фризится этим коммитом

eval/tenant_panel/ целиком (material.py · checks21.py · roster.py · money.py · prompts.py · bank.py · contam.py · screen.py) + эта секция отчёта. Дальнейшие фазы получают свои секции и свои фриз-коммиты; amend фриза запрещён, девиации объявляются в отчёте.