Версия: 2.0.0
Дата: 2025-12-23
Dispatcher — центральный компонент принятия решений о делегировании задач между моделями для МАКСИМАЛЬНОЙ ЭКОНОМИИ без потери качества.
┌────────────────────────────────────────────────────────────┐
│ Opus 4.5 $5/$25 100% архитектура, решения │
│ Sonnet 4 $3/$15 60% код, рефакторинг │
│ Haiku 4.5 $1/$5 20% поиск, анализ │
│ Haiku 3.5 $0.8/$4 16% простые задачи │
│ Haiku 3 $0.25/$1.25 5% рутина ← В 20 РАЗ ДЕШЕВЛЕ│
└────────────────────────────────────────────────────────────┘
ID дешёвых моделей:
- Haiku 3: claude-3-haiku-20240307
- Haiku 3.5: claude-3-5-haiku-20241022
ВХОД: Задача от пользователя
1. КЛАССИФИКАЦИЯ
└─ Определить тип задачи (см. таблицу ниже)
2. ВЫБОР ПРОЦЕССА
└─ Исследование | Планирование | Выполнение | Проверка
3. ВЫБОР МОДЕЛИ (от дешёвой к дорогой!)
└─ Haiku 3 → Haiku 4.5 → Sonnet → Opus
└─ Всегда начинать с минимально достаточной
4. ДЕЛЕГИРОВАНИЕ
└─ Task(model=..., prompt=...)
ВЫХОД: Результат подзадачи
| Триггеры | Процесс | Модель | Цена | Пример |
|---|---|---|---|---|
grep, find, ls, существует ли |
Рутина | Haiku 3 | 5% | Task(model="claude-3-haiku-20240307") |
где, найди, покажи |
Исследование | Haiku 4.5 | 20% | Task(subagent_type="Explore") |
тесты, проверь, lint |
Проверка | Haiku 3.5 | 16% | Task(model="claude-3-5-haiku-20241022") |
исправь, баг, ошибка |
Выполнение | Sonnet | 60% | Task(model="sonnet") |
рефакторинг, код |
Выполнение | Sonnet | 60% | Task(model="sonnet") |
фича, архитектура, план |
Планирование | Opus | 100% | Сам / EnterPlanMode |
✓ Grep, find, ls — элементарные команды
✓ Проверка синтаксиса (да/нет)
✓ Извлечение данных из структурированных файлов
✓ Простое форматирование
✓ Проверка существования файлов
✓ Подсчёт, суммирование
Task(model="claude-3-haiku-20240307", prompt="...")
✓ Поиск по кодовой базе (Explore агент)
✓ Чтение и понимание кода
✓ Простые вопросы "где X?"
✓ Запуск тестов, линтеров
✓ Сбор информации перед работой
✓ Проверка результатов
Task(subagent_type="Explore", model="haiku")
✓ Написание нового кода
✓ Исправление багов
✓ Написание тестов
✓ Code review с рекомендациями
✓ Рефакторинг (после плана)
✓ Интеграции API
✓ Планирование архитектуры
✓ Принятие решений с trade-offs
✓ Общение с пользователем
✓ Финальная проверка качества
✓ Неясные требования (нужны вопросы)
1. Task(model="haiku", "найди все файлы с X")
2. Анализирую результат (сам)
3. Отвечаю пользователю
1. Планирую (сам, Opus)
2. Получаю "ок" от пользователя
3. Task(model="sonnet", "реализуй план: ...")
4. Проверяю результат (сам)
# Независимые задачи — параллельно
Task(model="haiku", "найди все API endpoints")
Task(model="haiku", "найди все тесты")
Task(model="haiku", "проверь зависимости")
# Жду все результаты, анализирую
1. Task(model="haiku", "найди где ошибка")
2. На основе результата:
Task(model="sonnet", "исправь в файле X строку Y")
3. Task(model="haiku", "запусти тесты")
Task(
model="haiku",
subagent_type="Explore",
prompt="Найди все файлы, где используется класс OzonClient.
Верни список файлов и строки использования."
)
Task(
model="sonnet",
subagent_type="general-purpose",
prompt="""
Исправь баг в файле library/connectors/api/ozon/client.py
Проблема: {описание}
Требования:
- Не менять публичный API
- Добавить обработку ошибок
- Написать тест
После исправления запусти тесты.
"""
)
Task(
model="haiku",
subagent_type="general-purpose",
prompt="Запусти pytest для library/connectors/api/ozon/tests/
Верни результат: passed/failed и список ошибок если есть."
)
| Модель | Стоимость | Качество | Скорость | Использовать для |
|---|---|---|---|---|
| Haiku | $ | Базовое | Быстро | Рутина, поиск, проверки |
| Sonnet | $$ | Хорошее | Средне | Код, тесты, баги |
| Opus | $$$ | Лучшее | Медленно | Планирование, архитектура |
Цель: 80% задач на Haiku/Sonnet, 20% на Opus.
✗ Opus для поиска файлов (дорого, Haiku справится)
✗ Haiku для сложного рефакторинга (качество пострадает)
✗ Sonnet для планирования архитектуры (нужны trade-offs)
✗ Делегировать без чёткого промпта
✗ Делегировать когда нужно уточнить у пользователя
Версия: 1.0.0