Initial import NDC_1C

This commit is contained in:
2026-03-26 10:38:25 +03:00
commit a162d77ef7
2943 changed files with 3615871 additions and 0 deletions
+65
View File
@@ -0,0 +1,65 @@
# Normalizer v2 Spec
## Назначение
`Normalizer v2` переводит слой нормализации с single-intent модели на decomposition-first:
`raw message -> fragments + scope + flags -> deterministic routing in code`
LLM в v2 не выдает финальное route-решение как источник истины.
LLM возвращает структурированную семантику, а маршрут выбирается правилами в коде.
## Вход
- Сырое сообщение пользователя (в т.ч. длинное, multi-intent, шумное).
## Выход
- JSON по схеме `normalized_query_v2`.
- Ключевые части:
- `message_in_scope`, `scope_confidence`
- `fragments[]`
- `discarded_fragments[]`
- `global_notes`
## Fragment Contract
Каждый фрагмент содержит:
- domain gating (`domain_relevance`, `business_scope`);
- semantic hints (`entity_hints`, `account_hints`, `document_hints`, `register_hints`);
- `time_scope`;
- route-critical flags;
- `candidate_labels` (multi-label, без жесткого single-intent);
- `confidence`.
## Deterministic Routing
Код применяет правила к `flags`:
1. `asks_for_exact_object_trace=true` -> `live_mcp_drilldown`
2. `asks_for_ranking_or_top=true` или `asks_for_period_summary=true` -> `batch_refresh_then_store`
3. `has_multi_entity_scope=true` и `asks_for_chain_explanation=true` -> `hybrid_store_plus_live`
4. `asks_for_rule_check=true` и нет causal-chain -> `store_feature_risk`
5. `asks_for_anomaly_scan=true` без heavy/causal -> `store_feature_risk`
6. fragment `out_of_scope` -> `no_route`
7. остальное in-scope -> `store_canonical`
## Совместимость
- `v1` и `v2` поддерживаются параллельно.
- Выбор схемы:
- `promptVersion=normalizer_v2` (или `schemaVersion=v2`) -> `normalized_query_v2`
- иначе -> `normalized_query_v1`
## UI-диагностика v2
Добавлены диагностические представления:
- Fragment View
- Scope View
- Flags View
- Route Simulation
## Ограничения этапа
- Полноценный quality-eval v2 отдельно планируется (см. `reports/v2_pilot_eval_plan.md`).
- Старый eval runner метрик `intent/route` ориентирован на v1 и не является основным приемочным контуром для v2.