diff --git a/backend/.env.example b/backend/.env.example index 068b1d7..446989c 100644 --- a/backend/.env.example +++ b/backend/.env.example @@ -12,13 +12,12 @@ DEEPSEEK_API_KEY= # черновик — DeepSeek V4 Flash (лучший zh-токенизатор, дешевле всех) ZAI_API_KEY= # редактура — GLM-5 (ru-стиль), международный контур z.ai -# --- ОПЦИОНАЛЬНО, Фаза 1+ (эскалация; зовутся только при включённых гейтах) --- -# KIMI_API_KEY= # альтернативный редактор / эскалация канала adult (Р4) -# ANTHROPIC_API_KEY= # эскалация/судья SFW, ТОЛЬКО прямой контур; в RU-контуре - # экономически недоступен (Р5). Не нужен для Фазы 0. - # Держи пустым, пока eval не подтвердит SFW-поведение - # Sonnet-5 (эскалация «стерильного» канала — открытый - # вопрос к полигону, см. PROGRESS). +# --- Фаза 1+ (эскалация; зовётся только при включённых гейтах) --- +KIMI_API_KEY= # провизорная модель эскалации (Anthropic убран из стека, 04.07) + +# Anthropic из стека убран полностью (владелец, 04.07): дорого, в RU-контуре +# недоступен (Р5), в eval не валидирован. Судья Р4 — Gemini (нативный адаптер, +# Фаза 2). Ключ Anthropic не нужен. # LOG_LEVEL=debug # LOG_FORMAT=json diff --git a/backend/configs/models.yaml b/backend/configs/models.yaml index d3c74a9..fc6dfbc 100644 --- a/backend/configs/models.yaml +++ b/backend/configs/models.yaml @@ -36,11 +36,10 @@ providers: reasoning: subset timeouts: { attempt_s: 240, max_attempts: 3, backoff_cap_s: 60 } - anthropic: - kind: anthropic - api_key_env: ANTHROPIC_API_KEY - cache_ttl: 5m # per-stage override — Фаза 1 (context.cache_ttl в конфиге ядра) - timeouts: { attempt_s: 240, max_attempts: 3, backoff_cap_s: 60 } + # Anthropic убран из стека по решению владельца (04.07): дорого, в RU-контуре + # экономически недоступен (Р5), в eval не валидирован. Судья Р4 — Gemini + # (нативный адаптер, Фаза 2). Нативный Anthropic-адаптер в коде оставлен, но + # не подключён (можно удалить). Эскалация — не-Anthropic (Kimi/GLM). local: # ollama/llama-server на стенде (боевой env — memory textmachine-local-stand) kind: local @@ -68,20 +67,8 @@ models: price: { input_per_m: 0.95, cached_per_m: 0.16, cache_write_per_m: 0, output_per_m: 4.0 } note: Альтернативный редактор (Р4). - claude-sonnet-5: - provider: anthropic - price: { input_per_m: 2.0, cached_per_m: 0.20, cache_write_per_m: 2.50, output_per_m: 10.0 } - min_cache_prefix_tokens: 1024 - note: >- - Промо $2/$10 до 31.08.2026 включительно; с 01.09.2026 — $3/$15 (кэш - write 5m $3.75, hit $0.30) — ОБНОВИТЬ. cache_write_per_m здесь — 5m TTL. - Только SFW-книги и контур прямых ключей (Р5, интерим-правило 18+). - - claude-opus-4-8: - provider: anthropic - price: { input_per_m: 5.0, cached_per_m: 0.50, cache_write_per_m: 6.25, output_per_m: 25.0 } - min_cache_prefix_tokens: 1024 - note: Судья/эскалация — только адресно, канал A (Р4). cache_write — 5m TTL. + # claude-sonnet-5 / claude-opus-4-8 удалены вместе с провайдером anthropic + # (см. комментарий у providers выше). Судья Фазы 2 — Gemini (нативный адаптер). local-qwen3-8b: provider: local diff --git a/backend/configs/pipeline-c1.yaml b/backend/configs/pipeline-c1.yaml index 05f7c42..113d8c4 100644 --- a/backend/configs/pipeline-c1.yaml +++ b/backend/configs/pipeline-c1.yaml @@ -61,9 +61,11 @@ gates: escalation: chains: - # channel-aware фильтр применяет раннер: при adult=true из любой цепочки - # исключается anthropic (интерим-правило 18+ Фазы 1). - default: [claude-sonnet-5] + # Anthropic убран из стека (владелец, 04.07). Провизорная не-Anthropic + # эскалация — Kimi K2.6; финальную модель эскалации (после отказа от + # Anthropic — кандидаты GLM-5.1/5.2, Gemini) выбирает оркестратор к Фазе 1. + # В Фазе 0 эскалация не исполняется (гейты off). + default: [kimi-k2.6] adult: [kimi-k2.6] # Адресный премиум-бюджет книги, $. Формула «≤2×» из Р5 неоднозначна после # токен-калибровки — [НУЖНО РЕШЕНИЕ] п.1; до решения бюджет задаётся явно. diff --git a/backend/configs/pipeline-c2.yaml b/backend/configs/pipeline-c2.yaml index 7fa8a91..e79ebb0 100644 --- a/backend/configs/pipeline-c2.yaml +++ b/backend/configs/pipeline-c2.yaml @@ -29,9 +29,11 @@ stages: reasoning: "off" # Judge-селектор (пара судей, шкала Комиссарова) — Фаза 2; стадия объявлена, # чтобы схема конфига не менялась: селектор получает N кандидатов от draft. + # Судья Р4 — Gemini (нативный адаптер, Фаза 2); провизорно glm-5, чтобы скелет + # валидировался (Anthropic убран из стека). C2 в Фазе 0 не исполняется. - name: select role: judge - model: claude-opus-4-8 + model: glm-5 prompt: ../prompts/judge-selector.md prompt_version: v0-skeleton temperature: 0 @@ -56,7 +58,7 @@ gates: escalation: chains: - default: [claude-sonnet-5] + default: [kimi-k2.6] # Anthropic убран; финальная модель эскалации — оркестратор, Фаза 1 adult: [kimi-k2.6] budget_usd: 0