Semantic Router
Как выбирать путь исполнения: маленькая модель, большая модель, RAG, агент или ручная проверка.
Проблема
Многие платформы маршрутизируют только model_name: какая модель, какой провайдер, какой резервный путь. Но в production дорогим становится не только выбор модели, а выбор всего пути исполнения.
Симптомы
- Все запросы уходят в агентный цикл по умолчанию.
- Простая перепись текста запускает tools, память и длинный контекст.
- Router выбирает модель, но не решает, нужен ли RAG, reasoning или агент.
- Экономия от prefix cache теряется, потому что слишком много запросов попадает в дорогой путь.
Ментальная модель
Semantic Router - это admission control перед дорогим исполнением. Он решает, должен ли запрос идти в direct_small, direct_large, rag, agentic, human_review или отказ по политике.
01
Product request
Сценарий, пользовательский ввод, контекст продукта.
02
AI Gateway
Контракт, квоты, политики, телеметрия.
03
Semantic Router
Выбор пути исполнения, а не только модели.
04
Execution lane
direct_small, direct_large, RAG, agentic или human review.
05
Runtime
MaaS, self-hosted pool, batch или резервный маршрут.
Архитектура
Route policy должна быть частью контракта сценария: основной путь, self-hosted candidate, резервный маршрут, доля канареечной выкатки, лимиты очереди, SLO, бюджет стоимости и условия остановки.
lane
route_lane
direct_small, direct_large, rag, agentic, human_review.
quality
router evals
Ошибки direct vs agentic и small vs large.
cost
cost budget
Лимит стоимости, число шагов агента и резервный путь.
latency
latency class
TTFT-critical, interactive, async или batch.
cache
prefix policy
Семейство промпта, tools_hash и ожидаемый hit rate.
safety
tool policy
Разрешённые tools, ручное подтверждение и запрет действий.
Метрики
Смотри route_lane, router_version, router_confidence, false_direct_rate, false_agentic_rate, wrong_model_lane_rate, cost_saved, quality_delta, latency_delta, fallback_rate_by_lane и cache_hit_rate_by_lane.
Компромиссы
Semantic Router снижает стоимость, если уверенно отсекает простые запросы от дорогого пути. Но у него есть цена: задержка классификации, ошибки маршрутизации и риск скрыто ухудшить качество.
Анти-паттерны
- Все запросы идут в agentic lane по умолчанию.
- Router выбирает модель, но не выбирает путь исполнения.
- Route metadata вставляется в начало промпта и ломает prefix cache.
- На каждый intent создаётся новый system prompt.
- Нет проверок качества на ошибки маршрутизации.
Чеклист
- ✓У сценария описаны route_lane и условия перехода между путями.
- ✓Router не пишет динамические поля в начало промпта.
- ✓Есть проверки false_direct и false_agentic.
- ✓Есть метрики стоимости и качества по каждому lane.
- ✓Для agentic lane есть лимит шагов, tools и бюджета.
Пример
Запрос "перепиши письмо короче" не должен запускать агентный цикл с tools и памятью. Он может идти в direct_small. Запрос "найди последние действия клиента, сверь с CRM и подготовь follow-up" требует agentic или human_review из-за внешнего состояния и действий.
Шаблон решения
Для каждого сценария заполни: route_policy, route_lane, canary_share, fallback_condition, pool_id, queue_priority, latency_class, context_budget, tool_policy и обязательные поля трейса.