Lorsque nous avons commencé à construire Vividiary, nous avions une hypothèse très simple, voire naïve : parler à une IA de sa journée est plus facile que de fixer une page blanche.
Nous avions raison sur ce point. Nos premiers tests bêta ont montré que les utilisateurs adoraient l'interface conversationnelle. Mais au jour 14, quelque chose d'alarmant s'est produit. Notre courbe de rétention s'est effondrée. 72% de nos bêta-testeurs ont abandonné au cours de la deuxième semaine.
J'ai contacté une douzaine de ces utilisateurs ayant abandonné et je les ai invités à un café virtuel. Les retours ont été unanimes et brutaux : « J'ai l'impression de parler à quelqu'un qui souffre d'une grave perte de mémoire à court terme. Je dois réexpliquer qui est mon patron, pourquoi je suis stressé par mon prochain déménagement et ce que je ressens au niveau de mon anxiété de base chaque jour. »
Ils avaient tout à fait raison. Nous avions créé un amnésique.
Si vous voulez comprendre comment créer une application de journal intime IA qui retient réellement les utilisateurs pendant des mois et des années, vous devez résoudre le problème de la mémoire. Les utilisateurs attendent d'un compagnon de journalisation IA qu'il se souvienne de leur historique émotionnel, reconnaisse des modèles et grandisse avec eux.
Mais construire une architecture de mémoire LLM pour les journaux intimes n'est pas aussi simple que de sauvegarder des journaux de discussion. Cela nécessite de naviguer dans un trilemme complexe entre performance, coût et confidentialité stricte des données. Voici un regard honnête sur la façon dont nous avons construit la mémoire de Vividiary, les approches que nous avons jetées à la poubelle et les compromis d'ingénierie que nous gérons encore aujourd'hui.
Le problème des journaux IA amnésiques
Les LLM traditionnels sont sans état par conception. Chaque fois que vous ouvrez une nouvelle session, le modèle renaît, totalement inconscient de la conversation que vous avez eue la veille.
Pour un assistant de codage, c'est acceptable. Pour une application de bien-être et de journalisation, c'est un défaut fatal. La journalisation est intrinsèquement cumulative. La valeur ne vient pas seulement de l'enregistrement d'une seule journée ; elle vient de la connexion des points sur des semaines et des mois.
Avant même de pouvoir aborder la mémoire de l'IA, nous devions corriger la saisie des données. Nous avons réalisé que forcer les utilisateurs à entrer directement dans une discussion ouverte créait des frictions. Nous avons donc conçu notre boucle principale pour commencer par un enregistrement d'humeur rapide de 3 secondes de niveau 5 (du meilleur au pire), accompagné d'étiquettes optionnelles d'émotion et d'activité.
Ce point d'entrée structuré et à faible barrière donne à l'IA des données concrètes et immédiates sur l'état actuel de l'utilisateur avant même que la conversation ne commence. Mais une fois que cette conversation démarre, comment l'IA sait-elle pourquoi une humeur « Pire » aujourd'hui pourrait être liée à une humeur « Mauvaise » d'il y a trois mardis ?
Ce que nous avons rejeté : l'approche naïve de la fenêtre de contexte
Lorsque nous avons réalisé que nous avions besoin d'une mémoire à long terme, notre équipe d'ingénierie s'est assise et a cartographié la solution la plus simple possible. Nous l'avons appelée le « bourrage de fenêtre de contexte ».
Approche rejetée 1 : bourrer le prompt L'idée était simple : chaque fois qu'un utilisateur commence une nouvelle discussion, il suffit de récupérer ses 30 dernières entrées de journal, de les coller de manière invisible dans le prompt système et de dire : « Voici l'historique de l'utilisateur. Maintenant, parlez-lui. »
- Latence : Nous avons effectué un test en injectant 15,000 jetons d'entrées de journal passées dans le prompt. Le temps jusqu'au premier jeton (TTFT) a grimpé à 8.4 secondes. Dans l'UX des applications mobiles, 8.4 secondes, c'est une éternité. 65% de nos utilisateurs de test ont abandonné la génération avant même que l'IA ne réponde.
- Coût : Envoyer des charges utiles massives de texte redondant à un LLM à chaque interaction est un suicide financier pour une startup. Nous avons rapidement réalisé que l'équilibrage des coûts de l'IA basée sur le cloud était impossible si notre utilisation de jetons augmentait linéairement avec l'ancienneté de l'utilisateur.
- Le phénomène du « perdu au milieu » : Les LLM sont notoirement mauvais pour rappeler des informations enfouies au milieu de prompts massifs. L'IA se souvenait de la première et de la dernière entrée, mais ignorait complètement le contexte émotionnel d'il y a deux semaines.
Approche rejetée 2 : la chaîne de résumé continu Ensuite, nous avons essayé un résumé continu. À la fin de chaque journée, l'IA lisait la nouvelle entrée, lisait le résumé précédent et écrivait un nouveau résumé maître de la vie de l'utilisateur.
Pourquoi nous l'avons abandonnée :
Cela détruisait la nuance. Le résumé disait : « Ethan est stressé par le travail. » Mais il perdait les détails spécifiques et granulaires, comme le fait que j'étais spécifiquement stressé par une synchronisation récurrente à 10 h avec un fournisseur spécifique. Lorsque l'IA essayait d'évoquer mon stress plus tard, cela semblait générique et robotique. Il manquait l'empathie qui vient d'un rappel spécifique.
Concevoir notre architecture cloud axée sur la confidentialité
Nous avons réalisé que nous avions besoin d'un système capable de récupérer sélectivement uniquement les souvenirs passés pertinents, exactement au moment où ils étaient nécessaires, sans faire exploser nos nombres de jetons ni compromettre la sécurité de données personnelles hautement sensibles.
De plus, nous devions être intransigeants sur la confidentialité. Vividiary est une plateforme axée sur la confidentialité. Bien que nous stockions les données dans le cloud pour permettre une synchronisation transparente entre les appareils et un traitement IA avancé, nous traitons ces données avec le plus haut niveau de respect cryptographique. Tout est chiffré en transit et au repos.
Voici ce que nous avons choisi de construire à la place : une architecture de génération augmentée par récupération (RAG) basée sur des vecteurs, spécifiquement adaptée au contexte émotionnel.
Étape 1 : optimiser la formation de la mémoire Nous avons pris une décision produit cruciale dès le début : nous ne stockons pas de journaux de discussion tentaculaires et non structurés.
Lorsque vous parlez à l'IA de Vividiary, la conversation n'est qu'un outil. Elle agit comme un agent de structuration conversationnelle. Une fois que vous avez fini de discuter, l'IA synthétise la conversation et génère un brouillon de journal à la première personne. « Aujourd'hui, je me suis senti dépassé parce que... »
L'utilisateur révise, modifie et approuve ce brouillon. Cela garantit que l'utilisateur reste l'auteur de sa propre histoire. Plus important encore pour notre architecture, cela signifie que la « mémoire » que nous stockons est un récit propre, structuré et approuvé par l'utilisateur, plutôt que 40 lignes de va-et-vient désordonnés avec un chatbot.
Étape 2 : plongements vectoriels Une fois que l'utilisateur approuve l'entrée, nous passons ce texte à travers un modèle d'intégration (embedding). Considérez un modèle d'intégration comme une machine qui lit le texte et lui attribue un ensemble de coordonnées sur une carte massive et multidimensionnelle.
Les entrées sur le « stress au travail » se regroupent dans une zone de la carte. Les entrées sur la « joie familiale » se regroupent dans une autre. Nous stockons ces coordonnées mathématiques (vecteurs) en toute sécurité dans notre base de données cloud (Supabase).
Étape 3 : récupération contextuelle Maintenant, disons qu'un utilisateur enregistre une humeur « Pire » un mardi et ajoute l'étiquette « Anxiété ».
Avant même que l'IA ne dise bonjour, notre système prend cet état actuel, le transforme en vecteur et recherche dans la base de données cloud chiffrée de l'utilisateur les entrées passées mathématiquement les plus proches. Il trouve trois entrées des deux derniers mois où l'utilisateur ressentait une anxiété similaire.
Nous injectons uniquement ces trois entrées hautement pertinentes dans le prompt de l'IA.
Le résultat ? L'IA répond instantanément (faible latence), nous coûte une fraction de centime (faible utilisation de jetons) et dit : « Je vois que vous vous sentez anxieux aujourd'hui. Je me souviens que le mois dernier, vous vous sentiez de la même manière juste avant votre évaluation trimestrielle. L'anxiété d'aujourd'hui est-elle liée au travail, ou est-ce autre chose ? »
C'est le moment magique. C'est là que l'IA cesse d'être un chatbot et devient un compagnon.
Comment la recherche vectorielle fait ressortir les modèles émotionnels à long terme
Cette architecture ne rend pas seulement la discussion quotidienne meilleure ; elle alimente tout le backend analytique de l'application.
Parce que nous cartographions déjà l'état émotionnel de l'utilisateur mathématiquement, nous pouvons le visualiser. C'est là que notre modèle freemium entre en jeu. Chaque utilisateur bénéficie d'un enregistrement d'humeur illimité et de 3 conversations IA par jour gratuitement. Mais pour les utilisateurs qui veulent creuser plus profondément, notre niveau Premium ($2.99/mois ou $11.99/an) débloque des informations visuelles avancées.
En utilisant les données vectorielles, nous générons des graphiques à bulles et des cartes thermiques qui montrent aux utilisateurs exactement quelles activités et quels sujets sont corrélés avec leurs meilleurs et leurs pires jours. Ce type de reconnaissance de modèles émotionnels par IA change la donne pour les utilisateurs confrontés à l'épuisement professionnel ou au stress chronique. Ils n'ont pas seulement à deviner ce qui les épuise ; les données le leur montrent.
Nous lions également cette mémoire directement à notre boucle de gamification. Vividiary propose un personnage « Clay » qui évolue sur 30 jours. Au fur et à mesure que vous enregistrez vos humeurs et que l'IA apprend vos modèles, le personnage Clay évolue visuellement, fournissant une représentation tangible et gamifiée de votre parcours de bien-être mental. L'état visuel du Clay est directement influencé par l'analyse des sentiments extraite de notre base de données vectorielle.
Les compromis d'ingénierie que nous gérons encore
J'ai promis d'être honnête, donc je ne prétendrai pas que ce système est sans faille. Construire une pile technologique d'application de bien-être moderne 2026 implique des compromis constants. Notre pile actuelle — React Native et Expo pour le frontend, Supabase pour notre base de données PostgreSQL/Vector, Firebase Auth pour la gestion sécurisée des identités et RevenueCat pour les abonnements — est incroyablement puissante, mais elle comporte des défis.
Compromis 1 : recherche sémantique vs réalité chronologique La recherche vectorielle est brillante pour trouver des entrées thématiquement similaires, mais elle n'a aucun sens inhérent du temps.
Lors des premiers tests, si un utilisateur disait : « Je suis triste à propos de mon chien », l'IA pouvait récupérer une entrée d'il y a quatre ans, lorsqu'un chien précédent est décédé, plutôt que l'entrée d'hier où le chien actuel est allé chez le vétérinaire.
Pour corriger cela, nous avons dû construire un système de recherche hybride. Nous utilisons maintenant un algorithme de décroissance qui pondère les entrées récentes légèrement plus haut que les entrées plus anciennes, tout en permettant aux anciennes entrées hautement pertinentes de percer. Le réglage de ces poids est une bataille hebdomadaire continue pour notre équipe d'ingénierie.
Compromis 2 : la ligne entre empathie et observation clinique Lorsqu'une IA a une mémoire parfaite, elle peut parfois paraître effrayante ou trop clinique. Dans notre première itération de la récupération vectorielle, l'IA listait fièrement les traumatismes passés pour prouver qu'elle s'en souvenait. C'était discordant.
Nous avons dû complètement réviser nos prompts système pour nous concentrer sur la conception UX de l'IA émotionnelle. Nous avons entraîné le modèle à utiliser les souvenirs passés comme contexte pour son ton, plutôt que comme des faits triviaux à réciter. Nous avons réalisé qu'une bonne conception de produit axée sur les émotions signifie que l'IA doit ressembler à un ami solidaire qui se souvient de votre historique, pas à un détective lisant un dossier.
Et ensuite ?
Nous expérimentons actuellement l'« extraction d'entités » parallèlement à nos plongements vectoriels. Cela signifie que le système apprendra et stockera en toute sécurité une liste des personnes, lieux et animaux importants de votre vie, garantissant qu'il n'oubliera jamais le nom de votre partenaire ou de votre meilleur ami.
Construire une IA avec une mémoire est difficile. En construire une qui respecte la confidentialité, fonctionne à la vitesse de l'éclair et aide réellement les gens à comprendre leur propre esprit est encore plus difficile. Mais lorsque nous regardons les mesures de rétention des utilisateurs qui font l'expérience de ce premier moment de « rappel » — lorsque l'IA se souvient de quelque chose de profondément personnel et l'utilise pour offrir du réconfort — nous savons que les maux de tête architecturaux en valent largement la peine.



