textmachine/backend/configs/pipeline-c2.yaml

74 lines
4.2 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Скелет ядра C2: generate-then-select (Р2). Тот же раннер, что C1 — различия
# только в конфиге: fan-out N кандидатов + стадия select. Фаза 0 фиксирует
# СХЕМУ (парсится и валидируется); исполнение fan-out/селекции — механика
# раннера Фазы 2 (пилот 4 рук решает, войдёт ли C2 в прод).
core: C2
version: 1
defaults:
max_output_ratio: 2.2
min_max_tokens: 2048
context:
glossary_injection: selective
glossary_token_budget: 800
cache_ttl: "5m"
# STMDepth/OverlapTokens сняты (WS2 §2а — carryover не строим).
retries:
regenerate_before_escalate: 1
stages:
- name: draft
role: translator
model: deepseek-v4-flash
prompt_version: v1-reflow # D30.2 reflow (тот же translator.md, что в C1) — label-SHA дисциплина
temperature: 0.8 # C2: кандидаты сэмплируются горячее (Р2: T=0.61.0)
reasoning: "off"
# Judge-селектор (пара судей, шкала Комиссарова) — Фаза 2; стадия объявлена,
# чтобы схема конфига не менялась: селектор получает N кандидатов от draft.
# Судья Р4 — Gemini (нативный адаптер, Фаза 2); провизорно glm-5, чтобы скелет
# валидировался (Anthropic убран из стека). C2 в Фазе 0 не исполняется.
- name: select
role: judge
model: glm-5
# Роль judge держит промпт judge-selector.md — имя файла НЕ совпадает с ролью, поэтому здесь
# осознанный prompt_override вместо конвенции prompts/<пара>/<роль>.md (пак-15).
prompt_override: ../prompts/zh-ru/judge-selector.md
prompt_version: v0-skeleton
temperature: 0
reasoning: "off"
- name: edit
role: editor
# C2 — неисполняемый скелет Фазы 0/1 (fan-out/select — механика Ф2). Модель/бамп следуют
# за C1: дефолт-редактор по D39.22 — deepseek-v4-pro ИНТЕРИМ (glm-5 — резерв, pipeline-arm-glm.yaml).
# reasoning:off = NO-OP на dspro (ReasoningNone) → thinking ON; floor 8000 из models.yaml. (Стадию
# select выше — judge/glm-5, Gemini-слот Ф2 — НЕ трогаем: это судья, не редактор.)
model: deepseek-v4-pro
# Бамп v2-bilingual-reflow→v3-discourse-reflow (label-SHA дисциплина: тот же editor.md, что в C1 —
# вшито P1a-ядро ДИСКУРС-ПЕРЕВЁРСТКИ, D37 §2а; лейбл обязан следовать за новым SHA файла).
prompt_version: v3-discourse-reflow
temperature: 0.4
reasoning: "off" # NO-OP на deepseek-v4-pro (ReasoningNone) → thinking ON; НЕ вооружает эхо-мину
few_shot: false # deepseek-thinking CoT сбивается ручными примерами (exp14 §2а) — как в C1/dspro-арме
gates:
coverage:
enabled: false
sent_cov_min: 0.75
min_chunk_chars: 500
regression_guard:
# D38.4 п.5 (обязательство, не исполненное к rerun2 — D39.34). C2 несёт стадию edit, значит переход
# черновик→финал у него есть и гард не вырожден. Никогда не вердикт; флип не двигает снапшот.
enabled: true
escalation:
chains:
# ⚠️ ИНТЕРИМ-ЗАГЛУШКА, НЕ контракт. Ратифицированная D3: канал A deepseek-v4-pro →
# glm-5.1 → gemini-3.1-pro, канал B grok-4.3 (эти модели/провайдеры gemini/openai в
# models.yaml не заведены — цены/ключи; заводка — отдельный шаг). Провизорный kimi-k2.6.
default: [kimi-k2.6]
adult: [kimi-k2.6]
budget_usd: 0
fanout:
candidates: 3 # C2: N кандидатов (fan-out — механика раннера, N — конфиг)