feat: AI provider testing page + multi-provider support + UX design spec
- Add AI Provider Testing page (/admin/ai-test) with Tags and Embeddings tests - Add new AI providers: CustomOpenAI, DeepSeek, OpenRouter - Add API routes for AI config, models listing, and testing endpoints - Add UX Design Specification document for Phase 1 MVP AI - Add PRD Phase 1 MVP AI planning document - Update admin settings and sidebar navigation - Fix AI factory for multi-provider support
This commit is contained in:
443
_bmad-output/analysis/brainstorming-session-2026-01-09.md
Normal file
443
_bmad-output/analysis/brainstorming-session-2026-01-09.md
Normal file
@@ -0,0 +1,443 @@
|
||||
---
|
||||
stepsCompleted: [1, 2, 3]
|
||||
inputDocuments: []
|
||||
session_topic: 'Amélioration de l''utilisation de l''IA dans Memento'
|
||||
session_goals: 'Explorer des cas d''usage IA pertinents, définir l''architecture multilingue, prioriser les fonctionnalités par valeur utilisateur'
|
||||
selected_approach: 'ai-recommended'
|
||||
techniques_used: ['SCAMPER Method', 'Future Self Interview', 'Six Thinking Hats']
|
||||
ideas_generated: ['20+ idées SCAMPER', 'Solution 3-couches confiance', '7 alternatives créatives Six Hats']
|
||||
context_file: ''
|
||||
session_status: 'completed'
|
||||
completion_date: '2026-01-09'
|
||||
---
|
||||
|
||||
# Brainstorming Session Results
|
||||
|
||||
**Facilitator:** AI Brainstorming Guide
|
||||
**Date:** 2026-01-09
|
||||
|
||||
## Session Overview
|
||||
|
||||
**Topic:** Amélioration de l'utilisation de l'IA dans Memento
|
||||
|
||||
**Goals:**
|
||||
- Explorer des cas d'usage IA pertinents pour une app de prise de notes
|
||||
- Définir l'architecture multilingue (prompts système en anglais, données en langue utilisateur)
|
||||
- Prioriser les fonctionnalités par valeur utilisateur
|
||||
|
||||
## Technique Selection
|
||||
|
||||
**Approach:** AI-Recommended Techniques
|
||||
|
||||
**Analysis Context:** Amélioration IA dans Memento avec focus sur cas d'usage pertinents, architecture multilingue et priorisation
|
||||
|
||||
**Recommended Techniques:**
|
||||
|
||||
### Phase 1: SCAMPER Method (Structured) ✅ TERMINÉ
|
||||
**Why this fits:** Vous avez déjà 3 idées de base. SCAMPER permet de les expandre systématiquement selon 7 dimensions créatives
|
||||
**Expected outcome:** 15-20 variantes et améliorations des 3 idées initiales ✅ ATTEINT
|
||||
|
||||
### Phase 2: Future Self Interview (Introspective Delight) 🔄 EN COURS
|
||||
**Why this builds on Phase 1:** Projection dans le futur pour comprendre les vrais besoins utilisateurs et frictions potentielles
|
||||
**Expected outcome:** Compréhension profonde des besoins réels et problèmes d'usage
|
||||
|
||||
### Phase 3: Six Thinking Hats (Structured)
|
||||
**Why this concludes effectively:** Vision complète des implications techniques, UX et business pour l'architecture multilingue
|
||||
**Expected outcome:** Architecture multilingue robuste avec analyse multi-perspectives
|
||||
|
||||
---
|
||||
|
||||
## Phase 1: SCAMPER Method - Results
|
||||
|
||||
### S - Substitute: Pattern ON/OFF
|
||||
**Idées clés:**
|
||||
- Auto-description d'images ON/OFF → Bouton transparent sur image quand OFF
|
||||
- Auto-reformulation ON/OFF → Bouton crayon sur paragraphes + menu contextuel
|
||||
- Auto-titres ON/OFF → 3 suggestions IA sous champ titre
|
||||
- Page Settings IA avec checkboxes pour chaque fonctionnalité
|
||||
- Philosophie: "Zéro friction par défaut, mais contrôlable"
|
||||
|
||||
### C - Combine: Hybrides intelligents
|
||||
**Idées clés:**
|
||||
- Images + Titres → Photo sans titre → analyse + titre auto
|
||||
- Reformulation + Titres → Bouton "Optimiser la note" → contenu + titre
|
||||
- Mode "Super IA" → Un bouton pour TOUT faire d'un coup
|
||||
- Tags hybrides → Catégories IA hiérarchiques + tags utilisateur personnalisés
|
||||
|
||||
### A - Adapt: Extensions contextuelles
|
||||
**Idées clés:**
|
||||
- Liens/URLs → Bouton IA pour résumer OU extraire points clés (choix paramètres)
|
||||
- Codes/citations → IA explique le contexte
|
||||
- Recherche sémantique → "Rechercher par sens" au lieu de mots-clés
|
||||
- Multilinguisme → Détection automatique par note + bouton régénération
|
||||
|
||||
### M - Modify: Améliorations UX
|
||||
**Idées clés:**
|
||||
- Tags hybrides → Catégories IA (hiérarchiques) + tags perso
|
||||
- Choix paramètres → Options configurables (résumé vs bullets vs analyse)
|
||||
- Proposition langue → IA détecte + propose/confirme avant générer
|
||||
- Bouton → Décision par A/B testing plus tard (itération pragmatique)
|
||||
|
||||
### P - Put to Other Uses: Extensions futures
|
||||
**Idées clés:**
|
||||
- Audio → Transcription + résumé notes vocales (pour plus tard)
|
||||
- IA priorisation → Organisation auto des notes
|
||||
- Business model → Freemium avec IA payante (type n8n, "paiement un café")
|
||||
- Contrainte Zéro DevOps → Solutions managées (Vercel, Netlify)
|
||||
|
||||
### E - Eliminate: Simplification
|
||||
**Idées clés:**
|
||||
- RÉTABLISSEMENT: Garde la détection AUTO de la langue (plus prévisible)
|
||||
- Bouton → Test A/B des scénarios pour décision itérative
|
||||
|
||||
### R - Reverse: Inversions innovantes
|
||||
**Idées clés:**
|
||||
- Workflow inversé → IA propose des brouillons basés sur patterns historiques
|
||||
- Rôle inversé → IA donne conseils d'organisation et structuration
|
||||
- Priorité inversée → IA suggère des suites logiques après chaque note
|
||||
- Travail fond (NON) → Pas d'IA en arrière-plan pendant sommeil
|
||||
|
||||
**Total idées générées:** 20+ concepts concrets
|
||||
|
||||
---
|
||||
|
||||
## Phase 2: Future Self Interview - Results ✅
|
||||
|
||||
**Approche:** Projection temporelle pour comprendre vrais besoins utilisateurs
|
||||
|
||||
### Interview Insights:
|
||||
|
||||
**Fonctionnalité la plus appréciée:**
|
||||
- 🎯 **"IA suggère des suites logiques"** - Gain de temps, évite d'oublier, flux de travail fluide
|
||||
|
||||
**Principal défi identifié:**
|
||||
- ⚠️ **Hallucinations de l'IA** - Erreurs, inventions, pertes de confiance
|
||||
|
||||
### Solution Élégante Proposée: Système de Confiance à 3 Couches
|
||||
|
||||
**1. Score de Confiance (Transparence)**
|
||||
- Score % affiché pour chaque génération IA
|
||||
- >90% = ✅ Solide (auto-application)
|
||||
- 70-89% = ⚠️ Moyen (à vérifier)
|
||||
- <70% = ❌ Faible (pas d'auto-génération)
|
||||
|
||||
**2. Feedback & Apprentissage**
|
||||
- Boutons 👍👎 à côté de chaque génération
|
||||
- "Ça marche!" → IA retient les patterns positifs
|
||||
- "Faux" → IA apprend et évite les erreurs
|
||||
|
||||
**3. Mode Conservatif (Safety First)**
|
||||
- Générations auto seulement si confiance >90%
|
||||
- Si doute: IA demande confirmation
|
||||
|
||||
---
|
||||
|
||||
## Phase 3: Six Thinking Hats - Results ✅
|
||||
|
||||
**Approche:** Vision multi-perspectives pour validation complète de l'architecture multilingue et des fonctionnalités IA
|
||||
|
||||
---
|
||||
|
||||
### 🎩 White Hat - Faits & Techniques (Architecture)
|
||||
|
||||
**Faits techniques actuels:**
|
||||
- Stack Next.js 15 + Prisma + SQLite
|
||||
- IA providers supportés: Ollama, OpenAI, Custom OpenAI
|
||||
- Tags AI déjà implémenté avec embeddings
|
||||
- Base de données existante avec User, Note, Label
|
||||
- Système auth fonctionnel
|
||||
|
||||
**Besoins techniques identifiés:**
|
||||
- API embeddings pour recherche sémantique (vector search)
|
||||
- API generation pour titres, résumés, reformulations
|
||||
- Stockage embeddings dans DB (nouvelle colonne/vector DB)
|
||||
- Scoring de confiance (mécanisme interne IA ou meta-layer)
|
||||
- Système feedback user (nouvelle table/user_feedback)
|
||||
- File upload pour images (OCR/description)
|
||||
- Configuration multi-provider (dans Settings admin)
|
||||
|
||||
**Architecture multilingue:**
|
||||
- Prompts système en anglais (stabilité)
|
||||
- Détection auto langue par note (user data)
|
||||
- Embeddings multi-langues supportés
|
||||
|
||||
**Contraintes:**
|
||||
- Zéro DevOps → Vercel/Netlify hosting
|
||||
- SQLite en prod (pas de vector DB séparée)
|
||||
- Modèles locaux via Ollama ou API externes
|
||||
|
||||
---
|
||||
|
||||
### ❤️ Red Hat - Émotions & Ressenti Utilisateur
|
||||
|
||||
**Ce que les utilisateurs vont ressentir:**
|
||||
- 😊 **Soulagement**: "Ça marche tout seul, je ne fais rien"
|
||||
- 🤩 **Délice**: "Wow, il a deviné ce que je voulais faire!"
|
||||
- 😰 **Frustration potentielle**: "Pourquoi la IA s'est trompée?"
|
||||
- 😕 **Confusion**: "Comment ça marche ce score de confiance?"
|
||||
- 🎯 **Contrôle**: "Je peux désactiver si je veux"
|
||||
|
||||
**Points de friction émotionnelle identifiés:**
|
||||
- Hallucinations = perte de confiance rapide
|
||||
- Trop d'options = overwhelm
|
||||
- IA trop présente = sentiment d'être surveillé
|
||||
- IA invisible = "magie" mais aussi manque de compréhension
|
||||
|
||||
**Design émotionnel recommandé:**
|
||||
- Transparence sur ce que fait la IA
|
||||
- Feedback immédiat (spinners, toast notifications)
|
||||
- Contrôle utilisateur TOUJOURS disponible
|
||||
- Messages humains, pas techniques
|
||||
|
||||
---
|
||||
|
||||
### 🌞 Yellow Hat - Bénéfices & Valeur
|
||||
|
||||
**Valeur utilisateur directe:**
|
||||
- ⏱️ **Gain de temps**: Titres auto, tags auto, reformulations rapides
|
||||
- 🧠 **Moins de charge cognitive**: IA gère la organisation, user se concentre sur contenu
|
||||
- 🔍 **Retrouvabilité**: Recherche sémantique = trouver par sens, pas mots-clés
|
||||
- 📈 **Qualité**: Reformulations améliorent clarté des notes
|
||||
- 🎯 **Flow**: Suggestions de suites logiques = ne pas oublier, continuation fluide
|
||||
|
||||
**Valeur business (modèle freemium):**
|
||||
- 💰 **Revenus**: Abonnement pour features IA avancées
|
||||
- 🎁 **Attraction**: Version gratuite = acquisition users
|
||||
- ☕ **Payment friendly**: "Buy me a coffee" = low friction
|
||||
- 🚀 **Scalabilité**: Zéro DevOps = coûts maîtrisés
|
||||
|
||||
**Valeur technique:**
|
||||
- 🔧 **Maintenabilité**: Architecture modulaire (factory pattern pour providers)
|
||||
- 🌍 **International**: Support multi-langues out-of-the-box
|
||||
- 🛡️ **Confiance**: Système de feedback = amélioration continue
|
||||
|
||||
**Différenciation vs concurrents:**
|
||||
- Google Keep: pas de IA avancée
|
||||
- Notion: IA payante seulement, complexe
|
||||
- Memento: simple + IA progressive + respect privacy (Ollama local)
|
||||
|
||||
---
|
||||
|
||||
### ⚫ Black Hat - Risques & Défis
|
||||
|
||||
**Risques techniques:**
|
||||
- ⚠️ **Performance**: Embeddings = ralentissements si beaucoup de notes
|
||||
- 💾 **Stockage**: SQLite avec embeddings = taille DB rapide
|
||||
- 🔐 **Sécurité**: File upload images = validation nécessaire
|
||||
- 🐛 **Hallucinations**: IA peut générer faux, même avec score de confiance
|
||||
- 🌐 **API limits**: OpenAI = coûts, rate limits; Ollama = nécessite installation locale
|
||||
|
||||
**Risques UX:**
|
||||
- 😤 **Frustration**: IA qui se trompe = abandon
|
||||
- 🤔 **Complexité**: Trop de features = overwhelm
|
||||
- 🎭 **Incohérence**: Tags IA qui ne font pas sens pour l'utilisateur
|
||||
- 🔔 **Spam**: Notifications IA trop fréquentes = désactivation
|
||||
|
||||
**Risques business:**
|
||||
- 💸 **Coûts IA**: OpenAI API = margin pressure si beaucoup d'users
|
||||
- 📉 **Adoption**: Users ne voient pas la valeur IA = pas de conversion freemium
|
||||
- 🏃 **Churn**: Une mauvaise expérience IA = perte user
|
||||
- ⚖️ **Concurrence**: Notion, Obsidian ajoutent IA aussi
|
||||
|
||||
**Risques adoption:**
|
||||
- 🔒 **Privacy**: Users inquiets que IA lise leurs notes
|
||||
- 🏠 **Setup local**: Ollama = barrière à l'entrée pour utilisateurs non-techniques
|
||||
- 📊 **Data usage**: Users sur connexion limitée = embeddings = consommation data
|
||||
|
||||
**Mitigations identifiées:**
|
||||
- Système confiance + feedback = réduit hallucinations impact
|
||||
- Mode conservatif = moins d'erreurs auto
|
||||
- ON/OFF granulaire = user contrôle = réduit frustration
|
||||
- Hosting managé = zéro DevOps mais coûts hosting
|
||||
- Ollama optionnel = fallback OpenAI pour users non-tech
|
||||
|
||||
---
|
||||
|
||||
### 🌱 Green Hat - Alternatives Créatives
|
||||
|
||||
**Nouvelles idées issues de l'analyse:**
|
||||
|
||||
**1. IA Contextuelle (Smart Context)**
|
||||
- IA adapte son comportement selon le type de note
|
||||
- Note code = suggestions techniques
|
||||
- Note liste = checkboxes, organisation
|
||||
- Note réflexion = questions de synthèse
|
||||
|
||||
**2. Templates IA-Enhanced**
|
||||
- IA génère templates personnalisés selon patterns utilisateur
|
||||
- "Meeting notes", "Brainstorming", "Project planning"
|
||||
- Auto-complétion de sections
|
||||
|
||||
**3. IA Collaborative**
|
||||
- Mode "Brainstorm avec IA" = IA propose des idées
|
||||
- IA joue rôle de "devils advocate" = challenge les idées
|
||||
- IA suggère des connexions entre notes
|
||||
|
||||
**4. Gamification Subtile**
|
||||
- "Note du jour" = IA met en avant une note à relire
|
||||
- "Patterns découverts" = IA montre tendances d'écriture
|
||||
- "Insight semaine" = IA résume les thèmes récurrents
|
||||
|
||||
**5. IA Prédictive**
|
||||
- IA suggère de créer une note avant même qu'on le demande
|
||||
- "Tu créés souvent des notes X le mardi, veux-tu un template?"
|
||||
- Anticipation basée sur historique
|
||||
|
||||
**6. Mode "Focus IA"**
|
||||
- Interface simplifiée avec IA en avant
|
||||
- Tout est automatique, minimal UI
|
||||
- Pour utilisateurs qui veulent zéro friction
|
||||
|
||||
**7. IA + Voice (future-proofing)**
|
||||
- Préparer architecture pour transcription vocale
|
||||
- Commandes vocales: "Crée une note sur X"
|
||||
- Dictée avec reformulation IA en temps réel
|
||||
|
||||
---
|
||||
|
||||
### 🔵 Blue Hat - Process & Organisation
|
||||
|
||||
**Synthèse des 3 phases:**
|
||||
|
||||
**20+ idées générées (SCAMPER):**
|
||||
- Catégorisation: UX (5), Architecture (4), Business (3), Features (8)
|
||||
|
||||
**Problème critique identifié (Future Self):**
|
||||
- Hallucinations → Solution: Système confiance 3 couches ✅
|
||||
|
||||
**Validation multi-perspectives (Six Hats):**
|
||||
- Technique: Faisable avec stack actuel + quelques ajouts
|
||||
- Émotionnel: Besoin transparence + contrôle
|
||||
- Valeur: Gain temps + différenciation claire
|
||||
- Risques: Mitigables avec architecture solide
|
||||
- Créatif: 7 nouvelles directions innovantes
|
||||
|
||||
---
|
||||
|
||||
### 📊 Priorisation des Fonctionnalités
|
||||
|
||||
**Phase 1 - MVP IA (Maximum Value, Quick Wins):**
|
||||
1. ✅ **Tags IA automatiques** (déjà implémenté)
|
||||
2. 🎯 **Titres auto** (3 suggestions, pas d'auto-génération)
|
||||
3. 🔍 **Recherche sémantique** (vector search avec embeddings)
|
||||
4. 🎨 **Bouton reformulation** (manuel, par paragraphe)
|
||||
|
||||
**Phase 2 - Experience Enhancement:**
|
||||
5. 🖼️ **Description images** (OCR + description)
|
||||
6. 🔗 **Résumé URLs** (extraction points clés)
|
||||
7. 💡 **Suggestions suites logiques** (après chaque note)
|
||||
8. ⚙️ **Settings IA granulaires** (ON/OFF par feature)
|
||||
|
||||
**Phase 3 - Trust & Intelligence:**
|
||||
9. 📊 **Score de confiance** (transparence)
|
||||
10. 👍👎 **Feedback learning** (amélioration continue)
|
||||
11. 🛡️ **Mode conservatif** (safety first)
|
||||
12. 🌍 **Détection langue auto** (multilingue)
|
||||
|
||||
**Phase 4 - Advanced Features (Freemium):**
|
||||
13. 🎙️ **Transcription audio** (notes vocales)
|
||||
14. 📁 **Organisation auto** (IA propose dossiers/catégories)
|
||||
15. 🧠 **Templates IA personnalisés** (patterns utilisateur)
|
||||
16. 🤖 **Mode "Super IA"** (optimisation complète note)
|
||||
|
||||
---
|
||||
|
||||
### 🎯 Architecture Technique Recommandée
|
||||
|
||||
**Base de données (Prisma + SQLite):**
|
||||
```
|
||||
Note (existante)
|
||||
+ embedding: Vector (512) // embeddings pour recherche sémantique
|
||||
+ autoGenerated: Boolean // True si titre/tags par IA
|
||||
+ aiConfidence: Int? // Score 0-100 si généré par IA
|
||||
+ language: String? // Langue détectée: 'fr', 'en', etc.
|
||||
|
||||
AiFeedback (nouvelle)
|
||||
+ id: ID
|
||||
+ noteId: Note
|
||||
+ userId: User
|
||||
+ feedbackType: Enum (thumbs_up, thumbs_down, correction)
|
||||
+ originalContent: String
|
||||
+ correctedContent: String?
|
||||
+ createdAt: DateTime
|
||||
```
|
||||
|
||||
**API Routes:**
|
||||
- `/api/ai/tags` (existante)
|
||||
- `/api/ai/embeddings` (génération embeddings note)
|
||||
- `/api/ai/search` (recherche sémantique)
|
||||
- `/api/ai/titles` (suggestions titres)
|
||||
- `/api/ai/refactor` (reformulation texte)
|
||||
- `/api/ai/image` (description OCR)
|
||||
- `/api/ai/url-summary` (résumé URL)
|
||||
- `/api/ai/feedback` (collecte feedback)
|
||||
- `/api/ai/next-steps` (suggestions suites)
|
||||
|
||||
**Components:**
|
||||
- `<AiButton />` (bouton générique avec loading state)
|
||||
- `<AiSuggestion />` (suggestion avec score confiance)
|
||||
- `<AiFeedbackButtons />` (👍👎 avec tooltip)
|
||||
- `<AiSettingsPanel />` (ON/OFF granulaire)
|
||||
- `<ConfidenceBadge />` (affichage score)
|
||||
|
||||
**Services:**
|
||||
- `ai.service.ts` (orchestration appels IA)
|
||||
- `confidence.service.ts` (calcul score confiance)
|
||||
- `feedback.service.ts` (collecte et analyse feedback)
|
||||
- `embedding.service.ts` (génération et stockage embeddings)
|
||||
|
||||
---
|
||||
|
||||
### 🚀 Next Steps Concrets
|
||||
|
||||
**Immédiat (cette semaine):**
|
||||
1. ✅ Valider architecture technique avec équipe
|
||||
2. 📝 Créer PRD pour features Phase 1
|
||||
3. 🔧 Setup infrastructure embeddings (colonne Vector DB)
|
||||
4. 🧪 Tester modèles Ollama + OpenAI pour titres/refactor
|
||||
|
||||
**Court terme (2-4 semaines):**
|
||||
5. 💻 Implémenter recherche sémantique (MVP +)
|
||||
6. 🎨 Développer suggestions titres
|
||||
7. ✨ Bouton reformulation UX
|
||||
8. 🧪 Tests utilisateurs avec petits cohort
|
||||
|
||||
**Moyen terme (1-2 mois):**
|
||||
9. 🖼️ Description images + OCR
|
||||
10. 🔗 Résumé URLs
|
||||
11. ⚙️ Settings IA granulaires
|
||||
12. 📊 Système feedback + scoring confiance
|
||||
|
||||
**Long terme (3+ mois):**
|
||||
13. 🎙️ Transcription audio
|
||||
14. 🤖 Mode "Super IA"
|
||||
15. 🧠 Templates intelligents
|
||||
16. 💰 Lancement freemium + paiement
|
||||
|
||||
---
|
||||
|
||||
## 🎉 Conclusion Session Brainstorming
|
||||
|
||||
**Résumé exécutif:**
|
||||
- **20+ idées IA générées** via SCAMPER
|
||||
- **Problème critique identifié**: hallucinations → solution élégante proposée
|
||||
- **Architecture multilingue validée**: prompts anglais, données utilisateur multi-langues
|
||||
- **Priorisation claire**: 4 phases de MVP à features avancées
|
||||
- **Business model défini**: freemium avec "buy me a coffee", zéro DevOps
|
||||
|
||||
**Décision clef:**
|
||||
"Zéro prise de tête" = automatique par défaut, contrôle utilisateur TOUJOURS disponible
|
||||
|
||||
**Prochaine étape:**
|
||||
Créer PRD détaillé pour Phase 1 (MVP IA) avec specs techniques + mockups UX
|
||||
|
||||
---
|
||||
|
||||
✅ **Session terminée avec succès!**
|
||||
|
||||
**Date:** 2026-01-09
|
||||
**Durée:** 3 phases (SCAMPER, Future Self Interview, Six Thinking Hats)
|
||||
**Output:** Architecture validée + roadmap priorisée + next steps concrets
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user