Route Policy Drift в 2026: как замечать, что маршрутизация уже живёт не по тем правилам, которые вы думаете

Route policy drift в 2026: как отслеживать расхождение между задуманной routing policy и тем, как система реально выбирает модели, fallback tiers, review paths и degraded modes.

Route policy drift в 2026 нужен потому, что routing policy почти всегда сложнее, чем кажется на старте. В доке написано одно: expensive model только для hard cases, degraded mode только при слабом retrieval, review path только для risky actions. Через месяц в проде реальное поведение уже другое: fallback включается чаще, один route quietly съехал на cheaper model, review path перегружен и его начинают обходить, а tenant exceptions меняют политику сильнее, чем baseline rules. Команда думает, что контролирует маршрутизацию, но фактически живёт в другой системе.

Policy drift — это расхождение между тем, как routing policy была задумана, и тем, как она реально работает в production.
Самый вредный anti-pattern - считать route policy статичной конфигурацией. На деле routing дрейфует через исключения, degraded modes, cost pressure, hotfixes и silent operational compromises.

Короткая версия

Хороший drift-control для routing в 2026 обычно проверяет:

  1. Какие routes реально выбираются
  2. Когда fallback включается чаще нормы
  3. Не съехал ли risk-aware routing в более дешёвый или более слабый режим
  4. Не вырос ли bypass review path
  5. Совпадает ли observed behavior с policy spec

Что особенно важно

  • drift бывает не только model drift, но и routing drift;
  • temporary overrides часто становятся permanent behavior;
  • route policy надо наблюдать как систему decision events;
  • cost optimization и incident hotfixes — частые источники drift.
Без техники
Команда уверена, что premium route идёт только на сложные кейсы.
С техникой
Audit показывает, что route policy незаметно изменилась: часть сложных кейсов уже месяц идёт в cheaper fallback tier.
ПромптRoute-drift intuition
Почему routing policy может дрейфовать, даже если конфиг никто явно не менял?
Ответ модели

Потому что поведение меняется через overrides, exceptions, degraded paths, hidden fallbacks и операционные компромиссы, а не только через формальный config diff.

1. Route drift часто невидим в outcome metrics

Проблема в том, что:

  • outcomes могут остаться приемлемыми;
  • latency даже улучшится;
  • cost снизится;
  • incidents не сразу вырастут.

Но decision quality уже сдвинулась. Команда видит нормальный upper-level KPI, но не видит, что policy больше не соответствует исходному intent.

2. Drift полезно искать на уровне decision events

Например:

  • route_selected;
  • fallback_triggered;
  • review_required;
  • review_skipped;
  • model_override_applied;
  • degraded_mode_entered.

Именно эти события показывают, как routing реально живёт.

Если вы не можете ответить, какой процент трафика реально идёт по intended route policy, значит routing уже частично работает на доверии, а не на observability.

3. Drift часто рождается из operational pressure

Типовые источники:

  • aggressive cost cuts;
  • fallback during provider issues;
  • temporary tenant exceptions;
  • incident hotfixes;
  • manual reviewer overload;
  • stale thresholds in route classifier.

Сами по себе эти решения иногда разумны. Проблема в том, что они остаются жить дольше, чем планировалось.

4. Drift должен сравниваться с policy baseline

Полезно хранить:

  • intended routing spec;
  • acceptable fallback rates;
  • expected review rates by route;
  • allowed override classes;
  • target confidence bands.

Тогда observed routing можно сравнивать не с прошлой неделей, а с исходным intent.

5. Что особенно часто ломают команды

Config-only thinking

Смотрят только на config diff, а не на observed behavior.

Temporary override amnesia

Временный workaround становится нормой.

No route audit trail

Нельзя понять, почему именно был выбран route.

Cost-first drift

Policy quietly съезжает в дешёвые tiers.

Review bypass under load

Когда очередь растёт, control path незаметно ослабевает.

6. Какие метрики полезны

Минимальный dashboard обычно включает:

  • route selection distribution vs baseline;
  • fallback activation by route;
  • override usage duration;
  • review-required vs review-observed gap;
  • drift in expensive-route usage;
  • incidents correlated with routing deviations.

Плюсы

  • Route drift monitoring делает routing policy реально управляемой
  • Помогает увидеть компромиссы, которые уже стали новой нормой
  • Снижает скрытый quality erosion от cost и incident pressure
  • Связывает policy intent с observed routing behavior

Минусы

  • Нужно явно моделировать baseline routing spec
  • Не все deviations легко классифицируются как harmful
  • Часть drift выглядит полезной в краткосрочной перспективе
  • Без event instrumentation route drift почти невидим

Пример routing baseline

routes:
  premium_support:
    expected_model: high_quality
    max_fallback_rate: 0.05
    expected_review_rate: 0.12

Простой drift check

def route_drift(observed, baseline):
    return observed["fallback_rate"] > baseline["max_fallback_rate"]

Практический совет: routing policy начинает дрейфовать задолго до того, как это становится очевидно по user-facing incidents, поэтому её нужно мерить как отдельный operational слой.

Проверьте себя

1. Почему route policy drift трудно заметить по одним outcome metrics?

2. Что особенно полезно логировать для drift detection?

3. Какой anti-pattern особенно опасен?