Files
ai_orchestrator/docs/adr/007-model-router-fallback.md
T

33 lines
1.2 KiB
Markdown

# ADR 007: Model Router Fallback Semantics
## Status
Accepted
## Context
В проекте уже зафиксирована идея:
- сначала weak;
- затем retry weak;
- затем strong fallback;
- external models не запрещаются кодом, а регулируются конфигом и policy.
## Decision
Fallback pipeline:
1. slot resolution выбирает provider и model для requested slot;
2. weak model вызывается первой;
3. если ответ невалиден по output contract, выполняется ограниченный retry weak;
4. если weak исчерпан, router проверяет доступность strong;
5. если strong разрешен config+policy, выполняется strong fallback;
6. если strong недоступен, возвращается structured degraded result.
## Notes
- “невалиден” означает нарушение response schema, parser failure или явный quality rejection;
- fallback trail сохраняется в invocation log;
- внешняя strong model не вызывается, если `allow_external_models=false` или policy запрещает.