NODEDC_1C/llm_normalizer/docs/normalizer_v2_spec.md

2.5 KiB
Raw Blame History

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.