Skip to content

Roadmap (L4)

Стратегия: делаем универсальное ядро сейчас, сложные места включаем как опциональные и выносим в следующие фазы. Контракты v0 не ломаем — только добавляем опциональные поля.

P0 — Core (ship now)

  • Ingest: ExperienceEvent.v0 (append-only, idempotent upsert)
  • Privacy enforce: redact/block на ingest; block скрывает текст на read
  • Summarize: extractive или простая гибридная; свежесть p95 < 2s
  • Index: hybrid (vector + sparse + filters); базовые фильтры (recency, entities, channel)
  • Retrieval: p95 < 8 ms; деградации (lower top_k → simplify scoring → minimal)
  • Budgets: budgets.experience_top_k; время — из общего time_ms
  • KV: pin > compress > evict (простые правила)
  • Observability: request_id, final_top_k, latency p50/p95; leak_rate=0 на синтетике
  • Docs: README, contracts, pipeline, retrieval, privacy, metrics, examples

Критерии приёмки (P0)

  • Online: p95 < 8 ms на 95-й перцентиль запросов с top_k ≤ 10
  • Privacy: leak_rate = 0; redact применяется при mode=redact
  • Quality: Recall@5 не хуже baseline vector-only ±2%
  • Freshness: summarize lag p95 < 2s

P1 — Universal+ (next)

  • Optional поля Event/Unit: source_app, session_id, project_id/tenant_id, tool_name, locale (repo/branch — опционально)
  • budgets.experience_time_ms (если доля L4 > 40% общего времени)
  • Alias: GET /experience/search (debug-only, аутентифицированный)
  • Scoring: калибровка весов (grid search), entity_boost и recency_boost
  • KV tuning: правила pin на основе CTR/top10%, compress long-tail, evict по quality<0.3 + давность >90д
  • L1 linkage: обязательная линковка сущностей в summarize (офлайн), онлайн — только признаки

Критерии приёмки (P1)

  • Recall@5 +≥5% vs P0 при Δp95 < 1 ms
  • Coverage_entities +≥10%
  • Доля L4 во времени ≤40% или появился experience_time_ms

P2 — Advanced (later)

  • Abstractive summarize c контролем токенов и валидацией фактов
  • Обученные веса скоринга/learning-to-rank
  • Расширенные политики ретеншна (tiered storage, adaptive eviction)
  • Глубокая интеграция с графом L1 (graph-enriched rerank)
  • Стоимость: cost_ms/cost_tokens поля, биллинг/квоты

Риски/Сложности (можно отложить)

  • Abstractive + fact-check — риск утечки/галлюцинаций → P2
  • LTR и сложные rerank — требует корпуса и MLOps → P2
  • Полные графовые обходы онлайн — дорого по p95 → только как enricher позже
  • Multi-tenant ограничения на индекс → по мере реальной нагрузки

Изменения контрактов (без ломающей семантики)

  • v0 остаётся; новые поля — опциональные, задокументированы в contracts-registry.md (P1)

Миграции/откат

  • Git‑native версии схем; флаги включения P1/P2 по конфигу