textmachine/docs/experiments/04-editor-quality.md

14 KiB
Raw Permalink Blame History

Эксперимент 04. Качество редактора ru-стиля (бейк-офф)

⚠ Рекомендация ОТМЕНЕНА (ревизия D31 / D30.1, 12.07). Этот бейк-офф короновал grok-4.3 как дефолт-редактор, но: (а) мерил редакторов БИЛИНГВАЛЬНО (исходник+черновик, строка 7) на дефолт-reasoning, тогда как боевой D1 был МОНО + reasoning_effort:none — quality-transfer риск (exp08 §Ограничения) материализовался (exp12: grok reasoning-off = no-op-редактор, активность 0.001; glm-моно = нечитаемый этап A); (б) слепота LLM-плеча структурно сломана (D13.5). Актуальный редактор: БИЛИНГВ, кандидат glm-5-билингв (exp12/D30.1; GLM-4.6 был слабейшим ЗДЕСЬ — перемерен на GLM-5), gemini — премиум-эскалация только за санитайзером (течёт преамбулой 6/6, D30.3), grok reasoning-off из редакторов снят. Токен-замеры/методика — историческая фактура; вывод о дефолте не абсорбировать. Финал редактора — пере-прогон кандидатом (D30.9) + подтверждающий арм пилота D13.1.

Дата: 2026-07-04. Отвечает на вопрос бэкенда №2 (дефолт редактора для Фазы 1) и решение владельца заменить Anthropic. Скрипт: eval/editor_bench.py; сравнение: eval/build_editor_artifact.py → артефакт.

Метод

Пайплайн как в продукте: DeepSeek делает черновой перевод → редактор-кандидат полирует его в живую художественную прозу (чек-лист Норы Галь: канцелярит, кальки, синтаксис), сохраняя смысл и все предложения. Каждый редактор получает оригинал + черновик.

  • Кандидаты (дорогой тир, без Anthropic/OpenAI по решению владельца): glm-4.6, kimi-k2.6, gemini-3.1-pro-preview, grok-4.3.
  • 4 фрагмента: Расёмон (ja), А-Кью (zh), Беги Мелос (ja), Машина времени (en — владелец судит и стиль, и верность напрямую).
  • Для ja/zh — английский эталон смысла (владелец читает en/ru, не ja/zh) как якорь верности.
  • Оценка — человеческая, слепая (A/B/C/D): худ. качество ru — единственная надёжная метрика человек, LLM-судьи расходятся с людьми (LAIT, research/03). Артефакт: слепые версии, ключ и цена скрыты до вынесения оценки.

Объективные находки (не зависят от стиля)

Латентность и цена на один абзац (для роли, вызываемой на каждый чанк книги, — решающе):

Редактор Латентность Особенность цены
grok-4.3 ~13 с без «размышлений» — самый быстрый и дешёвый
glm-4.6 ~105 с thinking off (иначе таймаут)
gemini-3.1-pro ~6086 с thinking не отключить (обязателен), нужен max_tokens ≥16k
kimi-k2.6 ~150 с ~11 000 токенов «размышлений» на абзац — биллятся как выход → самый дорогой

Вывод по цене: Kimi как редактор экономически тяжёлый (11k reasoning-токенов × output-тариф на каждый чанк книги — это сотни тысяч токенов на том). Grok-4.3 — противоположный полюс (быстрый: ~13с на дефолтном low-reasoning, не многословный думатель как Kimi; в проде редактор шлёт reasoning_effort:"none" → 0 reasoning-токенов — см. эксп.08/00-quirks). Если человеческая оценка стиля не покажет явного превосходства Kimi, его цена его дисквалифицирует. Это входит в решение наравне со стилем.

Провайдерские грабли, найденные по пути

Все — в 00-provider-quirks.md: Kimi только temp=1 + reasoning в reasoning_content (нужен бюджет ≥16k); Gemini 3.1 Pro обязательно-думающая; DeepSeek «эхал» оригинал на zh-фрагменте Лу Синя «祝福» (82% CJK, воспроизводимо 3/3) → пришлось сменить zh-фрагмент на А-Кью и добавить фолбэк-черновик (GLM) + детектор CJK-эха. Последнее — реальный класс дефекта для черновой стадии бэкенда (тихий отказ = оригинал вместо перевода).

Оценка (слепая) — выполнена двумя фронтир-судьями

Артефакт: https://claude.ai/code/artifact/25394796-96f0-4f3f-b8d0-de000d415472. Владелец отдал слепую оценку двум независимым судьям (GPT-фронтир + Opus 4.8), которые сверялись не только с английским якорем, но и с каноническими русскими переводами (Н. Фельдман — Расёмон, В. Рогов — А-Кью, С. Смоляков/канон — Мелос, К. Морозов — Машина времени) и оригиналами. Оба судьи сошлись независимо — высокая уверенность.

Ключ слепой разметки: A = grok-4.3, B = glm-4.6, C = gemini-3.1-pro, D = kimi-k2.6.

Свод (оба судьи согласны)

Ось Ранжирование
Стиль (живость ru, без канцелярита/калек) C (gemini) > A (grok) > D (kimi) > B (glm)
Верность (без потерь и отсебятины) A (grok) > C (gemini) > B (glm) > D (kimi)
Value (качество / цена+скорость) A (grok) ≫ C (gemini) > B (glm) > D (kimi)

Ключевые наблюдения судей:

  • A = grok-4.3 — лучший value с огромным отрывом: ранг-1 по верности, ранг-2 по стилю, при самой низкой цене и в разы быстрее многословных думателей (~13 с на дефолтном low; в проде reasoning_effort:"none" → 0 reasoning-токенов, ещё дешевле). Оба судьи независимо назвали его лучшим выбором «одной модели на роль».
  • C = gemini-3.1-pro — лучшая проза: сильнейший художественный русский, эталонно решает культурные узлы (каламбур заглавия 正传 у Лу Синя, глосса к имени А-гуй — и это не отсебятина, а ровно приём канонического Рогова). Иногда переусиливает/дописывает. Выбор, когда литературность важнее цены и текст потом вычитывает редактор.
  • B = glm-4.6 — слабейший: площе всех, кальки, пара опечаток, при этом ~105 с. Плохой value.
  • D = kimi-k2.6 — худший value: дороже и медленнее всех (~150 с, ~11k reasoning-токенов/абзац), а по верности — последний (чаще всех подменяет детали). Лишние «размышления» точность не купили. Колоритен на Дадзае, но нестабилен.

Рекомендация дефолта редактора (Фаза 1)

  1. Дефолт: grok-4.3 — лучший баланс качество/цена, надёжен по смыслу «из коробки». Закрывает вопрос бэкенда №2.
  2. Премиум-эскалация: gemini-3.1-pro — на дорогих книгах / по сигналу судьи, где нужна максимальная проза и есть человеческая вычитка.
  3. GLM-4.6 — снять с роли дефолтного редактора (был допущением Р4 «редактор = GLM», эмпирически слабейший). NB: тестировали glm-4.6; при появлении GLM-5 можно перемерить.
  4. Kimi — из кандидатов в редакторы убрать (цена+скорость+риск верности).

Следствие для архитектуры (→ оркестратору): правка Р4 — редактор ru-стиля по умолчанию grok-4.3, премиум gemini-3.1-pro; GLM/Kimi не дефолт. Нюанс контуров: grok/gemini — Западный/прямых-ключей контур; в ru-BYOK экономика иная, но по качеству+цене grok-4.3 выигрывает и дёшев. Полигон архитектурные доки не редактирует — решение вносит оркестратор.

Оговорки

  • Короткие фрагменты (по одному отрывку) — срез, не приговор моделям в целом; полный выбор ядра пайплайна — пилот Фазы 2.5 (задача 4).
  • Судьи поймали реальный дефект данных: версия C (Gemini) на «Мелосе» была обрезана (бюджет 8k при обязательном thinking) — исправлено после оценки (перегенерирована с 16k, артефакт обновлён); вывод по «Мелосу» (лидер A) от этого не меняется.
  • «Якорь ≠ эталон»: оба судьи отметили места, где английский якорь сам упрощает оригинал (напр. оттенок «жалостливо усмехнуться» у Дадзая) — подтверждает методическое следствие ниже.
  • ⚠ Слепота задним числом сломана (сноска D13.5, 2026-07-09; историю не переписываем). Оценку вынесли LLM-судьи (GPT-фронтир + Opus), фетчащие артефакт целиком. А в том же артефакте лежали (а) ключ «метка→модель» (строка «Ключ слепой разметки» выше) и (б) цена/латентность — за <details>, что для DOM/markdown-фетча НЕ скрытие; плюс маппинг A/B/C/D был зафиксирован одинаково на всех 4 фрагментах. Значит слепота LLM-судейского плеча структурно нарушена (07-review §4.5, verified). ⇒ Выбор grok-4.3 дефолтным редактором остаётся ПРОВИЗОРНЫМ — из этого плеча его нельзя считать чисто-слепым результатом. Что страхует выбор независимо от слепоты: объективные латентность/цена (grok — самый быстрый/дешёвый; модель-независимые факты, не подверженные предвзятости судьи) и руки пилота Ф2.5 — мономодельный бейк-офф редактора (exp09 §7-bis, реальная моно-задача без исходника) + арм «моно-vs-билингв на одной модели» (D13.1). Инструмент починен: build_editor_artifact.py теперь рандомизирует метки ПО ФРАГМЕНТУ (соль в ключ-файле) и пишет ключ+цену в ОТДЕЛЬНЫЙ (непубликуемый до оценки) файл --key — будущие оценки слепы структурно.

Методическое следствие (важно для пилота, задача 4)

Владелец читает только en и ru. Прямая человеческая оценка верности доступна лишь на en→ru и на русской стороне; для zh/ja→ru нужен английский эталон-якорь (или метрики+глоссарий). Заложить в протокол пилота: не строить человеческую оценку верности на языках, которых судья не читает.