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.mdpour 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 ; si0.40 ≤ confidence < 0.60⇒ reformulation proposée (+ augmentationtop_k). - Idempotence : requêtes
POST /v1/generate/replysansIdempotency-Key⇒400 INVALID_REQUEST. -
Citations manquantes : si
citations[]vide pour un contenu RAG ⇒ réponse bloquée + handover. -
FR-1: Endpoint
/v1/generate/replyretourneanswer,citations[],latency_ms. - FR-2: Endpoint
/v1/search/querysupportetop_ket 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
confidenceGA? politiquetop_kpar tenant?
Critères d'acceptation (go/no-go)¶
Seuils par défaut¶
confidence_threshold= 0.60 (MVP) : si< 0.60, augmenter contexte outop_k; si< 0.40, handover automatique.MRR@5≥ 0.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/*