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

1.2 KiB

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 запрещает.