system/config/model-delegation.yaml
# Model Delegation Configuration
# Конфигурация делегирования задач моделям
#
# Обновлять при:
# - Изменении цен Anthropic
# - Выходе новых моделей
# - Deprecated моделей

version: "1.0.0"
updated: "2025-12-23"
next_review: "2026-01-23"
pricing_source: "https://www.anthropic.com/pricing"

# Доступные модели и их стоимость
models:
  haiku-3:
    name: "Claude 3 Haiku"
    api_id: "claude-3-haiku-20240307"
    input_cost_per_1m: 0.25
    output_cost_per_1m: 1.25
    status: active

  haiku-3.5:
    name: "Claude 3.5 Haiku"
    api_id: "claude-3-5-haiku-20241022"
    input_cost_per_1m: 0.80
    output_cost_per_1m: 4.00
    status: active

  haiku-4.5:
    name: "Claude Haiku 4.5"
    api_id: "claude-haiku-4-5-20251001"
    input_cost_per_1m: 1.00
    output_cost_per_1m: 5.00
    status: active

  sonnet:
    name: "Claude Sonnet 4"
    api_id: "claude-sonnet-4-20250514"
    input_cost_per_1m: 3.00
    output_cost_per_1m: 15.00
    status: active

  opus:
    name: "Claude Opus 4.5"
    api_id: "claude-opus-4-5-20251101"
    input_cost_per_1m: 5.00
    output_cost_per_1m: 25.00
    status: active

# Классы задач
task_classes:
  A:
    name: "Механические"
    description: "Поиск, форматирование, простые проверки"
    model: "haiku"
    triggers:
      - "найди"
      - "grep"
      - "список"
      - "проверь синтаксис"
      - "форматируй"
      - "извлеки"
      - "валидируй"
      - "покажи файлы"
      - "ls"
      - "count"
    examples:
      - "найди все .py файлы"
      - "grep import requests"
      - "проверь yaml синтаксис"

  B:
    name: "Аналитические"
    description: "Понимание кода, сравнение, документирование"
    model: "haiku"
    triggers:
      - "explore"
      - "как работает"
      - "объясни"
      - "сравни"
      - "опиши"
      - "документируй"
      - "что делает"
      - "зачем"
    examples:
      - "как работает авторизация"
      - "объясни эту функцию"
      - "сравни два файла"

  C:
    name: "Кодирование"
    description: "Написание и изменение кода"
    model: "sonnet"
    triggers:
      - "напиши"
      - "создай функцию"
      - "рефакторинг"
      - "исправь баг"
      - "добавь"
      - "тест"
      - "код"
      - "implement"
      - "fix"
    examples:
      - "напиши парсер CSV"
      - "добавь endpoint"
      - "исправь ошибку"

  D:
    name: "Интеллектуальные"
    description: "Архитектура, планирование, решения"
    model: "opus"
    delegate: false  # НЕ делегировать!
    triggers:
      - "архитектура"
      - "спроектируй"
      - "стратегия"
      - "почему"
      - "как лучше"
      - "выбрать"
      - "план"
      - "design"
    examples:
      - "спроектируй систему"
      - "какой подход выбрать"
      - "почему не работает (сложное)"

# Правила эскалации
escalation:
  enabled: true
  max_attempts: 2
  chain:
    - from: "haiku"
      to: "sonnet"
      condition: "failure or low_quality"
    - from: "sonnet"
      to: "opus"
      condition: "failure or complex_reasoning_needed"

# Дефолтная модель если класс не определён
default:
  model: "haiku"
  class: "B"

# Мониторинг (будущее)
monitoring:
  enabled: false
  log_path: "$DATASPACE/logs/model-delegation/"
  metrics:
    - task_class
    - model_used
    - tokens
    - cost
    - success
    - escalated