83 lines
4.7 KiB
YAML
83 lines
4.7 KiB
YAML
# Ядро C1: draft → editor (Р2). Обязательное приложение Фазы 0 — фиксирует
|
||
# границу «конфиг vs код раннера»:
|
||
# КОНФИГ: состав/порядок стадий, роль→модель, версии промптов, сэмплинг,
|
||
# пороги гейтов, режим инъекции глоссария, токен-бюджеты сборки контекста,
|
||
# именованные эскалационные цепочки, fan-out N, cache TTL.
|
||
# РАННЕР (код): циклы по главам/чанкам, ветвление по гейтам, механика
|
||
# эскалации/ретраев, правило «эскалация → re-gate → флаг», channel-aware
|
||
# фильтр цепочек (Anthropic вне 18+), resume по чекпоинтам.
|
||
core: C1
|
||
version: 1
|
||
|
||
defaults:
|
||
# max_tokens ≈ ratio × входные токены; калибровка полигона (эксп. 01):
|
||
# русский выход zh→ru ≈1.9× входа в токенах — 2.2 с запасом на ja/en.
|
||
max_output_ratio: 2.2
|
||
min_max_tokens: 2048
|
||
|
||
context:
|
||
# Р5: обе схемы инъекции глоссария обязаны поддерживаться конфигом.
|
||
# selective — ключи/алиасы/леммы в волатильном хвосте (~100–800 ток.);
|
||
# full_prefix — весь глоссарий в стабильном префиксе (выгодно при cache-hit
|
||
# DeepSeek $0.0028/M — решается расчётом на прототипе).
|
||
glossary_injection: selective
|
||
glossary_token_budget: 800
|
||
stm_depth: 2 # глубина STM в чанках (Фаза 1)
|
||
overlap_tokens: 200 # перекрытие чанков = read-only контекст (Фаза 1)
|
||
cache_ttl: "5m"
|
||
|
||
retries:
|
||
# Содержательные регенерации после провала гейта ДО эскалации (транспортные
|
||
# ретраи — отдельно, в timeouts models.yaml).
|
||
regenerate_before_escalate: 1
|
||
|
||
stages:
|
||
- name: draft
|
||
role: translator
|
||
model: deepseek-v4-flash
|
||
prompt: ../prompts/translator.md
|
||
prompt_version: v0-draft
|
||
temperature: 0.3
|
||
reasoning: "off"
|
||
- name: edit
|
||
role: editor
|
||
# Дефолт-редактор — grok-4.3 (D1/D3, bake-off эксп-04; glm-5 был плейсхолдером).
|
||
# reasoning:"off" → grok шлёт ЯВНЫЙ reasoning_effort:"none" (control:effort/off_effort:none,
|
||
# models.yaml) — омиссия у grok = low. Прод: только чистый xAI-ключ без data-sharing.
|
||
model: grok-4.3
|
||
prompt: ../prompts/editor.md
|
||
# D1-уточнение №3: коммит 6a68dfd сделал editor.md монолингвальным (убрал {{text}}) →
|
||
# сменил SHA, но лейбл остался v0-draft (один лейбл на два SHA). Бамп на v1-monolingual;
|
||
# осознанно меняет снапшот (боевых прогонов ещё не было).
|
||
prompt_version: v1-monolingual
|
||
temperature: 0.4
|
||
reasoning: "off"
|
||
|
||
gates:
|
||
coverage:
|
||
# Фаза 1. Пороги полигона (эксп. 02, символы БЕЗ пробелов): нижняя граница
|
||
# — подозрение на вырезание, верхняя — аномалия/галлюцинация.
|
||
enabled: false
|
||
len_ratio_bounds:
|
||
zh-ru: [2.2, 4.2]
|
||
ja-ru: [1.4, 2.6]
|
||
en-ru: [0.70, 1.4]
|
||
sent_cov_min: 0.75
|
||
min_chunk_chars: 500 # калибровка порогов — на фрагментах 500–2500 симв.
|
||
|
||
escalation:
|
||
chains:
|
||
# ⚠️ ИНТЕРИМ-ЗАГЛУШКА, НЕ контракт. Ратифицированная D3-цепочка:
|
||
# канал A: deepseek-v4-pro → glm-5.1 → gemini-3.1-pro; канал B: grok-4.3.
|
||
# Эти модели и провайдеры gemini/openai ещё НЕ заведены в models.yaml (цены/ключи +
|
||
# пересчёт cost-model полигоном гейтят заводку) → пока провизорный kimi-k2.6.
|
||
# Заводка D3-цепочки — отдельный шаг. В Фазе 0 / при gates off эскалация не
|
||
# исполняется (CheckKeys не требует её ключей, пока budget_usd=0).
|
||
default: [kimi-k2.6]
|
||
adult: [kimi-k2.6]
|
||
# Адресный премиум-бюджет книги, $. Формула «≤2×» из Р5 неоднозначна после
|
||
# токен-калибровки — [НУЖНО РЕШЕНИЕ] п.1; до решения бюджет задаётся явно.
|
||
budget_usd: 0
|
||
|
||
fanout:
|
||
candidates: 1 # C1: один черновик
|