Aller au contenu

PRD Lite (MVP)

Objectif & portée

  • Décrire la version minimale livrable (MVP) de SalamBot pour un ou plusieurs cas d'usage clés.
  • Couvre API v1, canaux (webchat/Facebook/WhatsApp) et RAG sur datasets approuvés.
  • Hors du périmètre: features avancées non critiques à la valeur initiale.

Contexte & problème

  • Problèmes actuels: temps de réponse variables, accès difficile à la KB, support saturé.
  • Impact: NPS bas, coût de support élevé, lenteur onboarding.
  • Opportunité: automatiser 60–80% des requêtes récurrentes avec qualité contrôlée.

Personas & parties prenantes

Persona Besoins Indicateurs de succès
Client final Réponses fiables et rapides TTFB, CSAT
Agent Support Handover fluide, historique Taux de transfert
Admin/Tenant Contrôle canaux & policies Temps config
DPO/Sécurité Traçabilité, no-PII logs Incidents PII = 0

Use cases prioritaires

  • Voir Product/use-cases.md pour le détail.
  • Priorisation (RICE/MoSCoW):
  • MUST: FAQ RAG, suivi commande, politique remboursement.
  • SHOULD: handover agent, analytics basiques.
  • COULD: multilingue étendu, suggestions proactives.

User stories (exemples)

  • En tant qu'utilisateur, je veux poser une question et recevoir une réponse sourcée pour vérifier l'exactitude.
  • En tant qu'agent, je veux reprendre une conversation avec contexte complet.
  • En tant qu'admin, je veux gérer canaux/policies sans code.

Critères d'acceptation (Gherkin, modèle)

  • Given dataset RAG v1.x, When user asks "remboursement", Then réponse inclut citations[] et score de confiance > seuil.

Portée

In: génération réponse RAG, webhooks FB/WA, export analytics minimal, observabilité (TTFB, E2E).

Out: paiements, intégrations CRM avancées, training supervisé humain à grande échelle.

Exigences fonctionnelles (FR)

Note endpoints : seules les routes canoniques POST /v1/generate/reply et POST /v1/search/query sont supportées.

Schéma de réponse minimal

{
  "answer": "...",
  "citations": [
    {
      "source_id": "kb:faq#123",
      "url": "https://kb.example/faq#123",
      "page": 3,
      "section": "retours",
      "score": 0.82
    }
  ],
  "latency_ms": 850,
  "confidence": 0.72,
  "trace_id": "...",
  "correlation_id": "..."
}
  • citations[] obligatoires (voir Quality/datasets.md pour métadonnées).

Erreurs & fallback

{
  "error": {
    "code": "INVALID_REQUEST|RATE_LIMIT|UPSTREAM_TIMEOUT|INSUFFICIENT_CONFIDENCE",
    "message": "...",
    "trace_id": "...",
    "correlation_id": "..."
  }
}
  • Fallback confiance : si confidence < 0.40 ⇒ handover automatique ; si 0.40 ≤ confidence < 0.60 ⇒ reformulation proposée (+ augmentation top_k).
  • Idempotence : requêtes POST /v1/generate/reply sans Idempotency-Key400 INVALID_REQUEST.
  • Citations manquantes : si citations[] vide pour un contenu RAG ⇒ réponse bloquée + handover.

  • FR-1: Endpoint /v1/generate/reply retourne answer, citations[], latency_ms.

  • FR-2: Endpoint /v1/search/query supporte top_k et filtres tenant.
  • FR-3: Handover vers agent avec transfert de contexte.
  • FR-4: Admin UI minimal: activer/désactiver canaux, policies de base.

Exigences non-fonctionnelles (NFR)

Quotas & anti-abus

  • Rate limiting (MVP) : 120 req/min/tenant, 20 req/min/utilisateur (paramétrables).
  • Idempotency-Key requis pour POST /v1/generate/reply.
  • Webhooks : retries exponentiels (2s, 4s, 8s, 16s, 32s), max 5.
  • Tailles max : message ≤ 4KB, contexte ≤ 64KB, top_k ≤ 10.

  • NFR-1: TTFB p95 ≤ 600ms; E2E p95 ≤ 2.5s (réf. Ops/slo-sla.md).

  • NFR-2: Dispo mensuelle ≥ 99.5% (palier Silver) pour MVP.
  • NFR-3: Observabilité OTel: traces/metrics/logs corrélées.
  • NFR-4: Sécurité: IAM (RBAC/ABAC), no-PII logs, webhooks signés (réf. Security/*).

Horodatage

  • Norme unique : ISO 8601 UTC (Z). L'UTC+1 n'est pas transportée par l'API, seulement affichée côté UI.

KPI de succès

Définitions de calcul

  • Taux d'auto-résolution = (# conversations résolues sans agent) / (# conversations totales).
  • CSAT post-réponse = moyenne des notes post-réponse (échantillon ≥ 100).
  • Taux d'hallucination (QA) = (# réponses factuellement incorrectes) / (# réponses évaluées).
  • Handover nécessaire = (# conversations transférées à un agent) / (# conversations totales).
KPI Cible MVP
Taux d'auto-résolution ≥ 60%
CSAT post-réponse ≥ 4.2/5
Latence E2E p95 ≤ 2.5s
Taux hallucination (QA) ≤ 3%
Handover nécessaire ≤ 30%

Instrumentation & analytics

  • Événements: msg_received, rag_retrieved, reply_generated, handover_triggered.
  • Propriétés: tenant, channel, latency_ms, top_k, confidence.
  • Dashboards: qualité RAG (MRR@k), latence, taux de handover.

Dépendances & intégrations

  • KB/datasets (Quality/datasets.md), Vector DB (Qdrant/Pinecone), Postgres/Redis, canaux FB/WA, observabilité (Grafana/Tempo/Prom).

Sécurité & conformité

  • Conformité PII (Security/pii.md), audit & logging (Security/audit.md), IAM (Security/iam.md).
  • Pas de PII en clair; citations sources obligatoires; export droits personnes disponible.

Plan de release (MVP)

Feature flags & rollout

  • Flags : rag_enabled, handover_enabled, wa_channel_enabled, fb_channel_enabled, analytics_basic.
  • Déploiement progressif par pourcentage de tenants (5% → 25% → 100%) avec rollback documenté.
Phase Contenu Jalons
Alpha chemin heureux RAG + FB T0 + 2 sem
Beta WhatsApp + handover T0 + 5 sem
GA SLO/SLA Silver + dashboards T0 + 8 sem

Risques & mitigations

Hypothèses clés

  • Datasets RAG v1.x publiés avec Data Cards validées (Quality/datasets.md).
  • IAM (RBAC/ABAC) opérationnel, scopes conformes (Security/iam.md).
  • Observabilité OTLP accessible (4318) avec dashboards prêts.
  • Endpoints canoniques utilisés dans toute la doc.
Risque Impact Mitigation
Qualité KB hétérogène Hallucinations Data Cards + RAG citations
Latence Vector DB UX dégradée Cache + top_k adaptatif
Webhooks instables Perte évts Retry signé + idempotence
PII résiduelle Conformité Scans PII CI/CD + redaction

Ouverts & hors périmètre

  • Multilingue complet, analytics avancées, CRM sync.
  • Questions: seuil confidence GA? politique top_k par tenant?

Critères d'acceptation (go/no-go)

Seuils par défaut

  • confidence_threshold = 0.60 (MVP) : si < 0.60, augmenter contexte ou top_k; si < 0.40, handover automatique.
  • MRR@50.80 sur jeux d'évaluation cibles avant GA.

Note API : utiliser uniquement /v1/generate/reply et /v1/search/query (alignement doc garanti).

  • KPI MVP atteints ≥ 4/5, SLO respectés sur 14j, incident P0=0.
  • Revue sécurité passée, DPO validé (si PII), on-call en place.
  • Runbooks et dashboards publiés; doc API à jour (API/reference.md).

Références croisées

  • Product/use-cases.md, Ops/slo-sla.md, Security/iam.md, Security/pii.md, Security/audit.md, Quality/datasets.md, Deployment/*