Mémoire

Ce qu’Alice retient de vous.

À lire d’abord

Alice peut se tromper. Elle peut mal comprendre une phrase et retenir quelque chose qu’elle n’aurait pas dû retenir, et les filtres décrits ici peuvent laisser passer un cas qu’ils n’ont pas prévu. Ils sont un garde-fou, pas une garantie. Ne faites pas entièrement confiance à ce qui est affiché comme retenu ou comme oublié. La vraie protection, c’est de ne donner à Alice que le minimum dont votre question a besoin, et jamais une adresse, une clé, une phrase de récupération (seed phrase), un montant ou quoi que ce soit qui vous identifie. Ce que vous écrivez dans la conversation reste sous votre responsabilité.

Alice tient 2 mémoires, l’une et l’autre sur votre appareil. La mémoire personnelle garde de courts faits que vous avez dits sur vous : une préférence pour des réponses courtes, le matériel que vous utilisez, un projet que vous construisez, une contrainte à garder en tête, ou une phrase que vous lui avez demandé de retenir. Le profil d’apprentissage garde votre degré de familiarité avec 14 notions Bitcoin, pour qu’elle choisisse le bon vocabulaire et la bonne profondeur. Aucune des deux n’est stockée sur nos serveurs, et aucune n’est une source de vérité pour Alice : elles changent seulement sa façon de répondre, jamais ce qu’elle tient pour vrai.

Cette page décrit ce que fait le code aujourd’hui, dans Alice App 0.2.7 sur le web et sur le bureau. Les éléments décidés mais pas encore dans l’app sont listés à la fin, sous « À venir », et nulle part ailleurs.

Ce qu’Alice retient, et comment

Un fait peut entrer dans la mémoire par 3 chemins. Tous passent par les mêmes filtres avant que quoi que ce soit ne soit écrit.

Des motifs fixes, dans le code
Une courte liste de formes de phrase est comparée à votre message, sans aucun modèle : « je préfère des réponses concises » ou « détaillées », « je construis… », « je travaille sur… », « mon objectif est… », « je veux… », et leurs formes anglaises. Ce chemin produit 2 faits au plus par message.
« Retiens que… », quand vous le demandez
Quand vous le demandez en toutes lettres (« retiens que… », « peux-tu retenir… », « remember that… »), Alice garde votre phrase telle que vous l’avez écrite, dans une catégorie Notes demandées. La phrase doit parler de vous et ne pas contenir de question ; sinon, c’est un message ordinaire. Quand la demande constitue tout votre message, Alice répond « Retenu : … » seulement une fois la note réellement enregistrée, et si un filtre la refuse, elle le dit et nomme ce qu’il a détecté.
Une proposition du modèle
Quand la mémoire est activée, il est demandé au modèle d’ajouter un bloc caché après sa réponse visible, avec 0 à 3 faits, chacun dans l’une de 8 catégories : préférence, installation, expérience, objectif, projet, centre d’intérêt, contexte, contrainte. Il a pour consigne de ne garder que ce que vous avez explicitement dit de vous, de ne jamais déduire l’identité, la personnalité, les croyances, l’expertise ou la situation, et de ne jamais enregistrer un montant ni un compte de plateforme d’échange. Il ne peut rien classer comme note demandée. L’app lit ce bloc et le retire avant que la réponse ne s’affiche.
Le profil d’apprentissage, à part
Les notions que touchent vos questions comptent comme des signaux, et une phrase comme « je maîtrise les UTXO » fixe un niveau déclaré que le modèle doit respecter. Dans Learn, lire un chapitre compte comme un signal et terminer un cours fixe un niveau. Le profil stocke, par notion, un état de familiarité (jamais vue, introduite, en exploration, familière), un nombre de signaux et des dates arrondies au jour. Rien d’autre.
D’un message à la mémoire de votre appareilVotre message peut atteindre la mémoire par 2 sortes de chemins. Dans le code : des motifs fixes, qui gardent 2 faits au plus, et une demande explicite « retiens que », gardée mot pour mot. Depuis le modèle : 0 à 3 faits dans un bloc caché après sa réponse, jamais déduits. Tout passe par 5 filtres dans le code : un détecteur de secrets, les valeurs brutes, les montants, les comptes de plateformes d’échange et les sujets interdits. Un fait refusé n’est pas écrit, et seule une demande « retiens que » reçoit une réponse qui dit pourquoi. Un fait accepté va dans la mémoire de votre appareil, 160 caractères par fait et sans plafond sur leur nombre : dans le stockage local du navigateur sur le web, chiffré par l’app sur le bureau. Cette mémoire alimente la conversation suivante, où les préférences, les contraintes et les notes demandées passent en premier et où le reste est classé selon le message, 10 au plus, ainsi que l’écran « Ce qu’Alice retient », avec Modifier et Supprimer par fait, Pause et Tout supprimer par catégorie, Oublier par notion et Tout oublier.Votre messageDans le code« je préfère »,« mon objectif est »,« je travaille sur » :2 faits au plus ;« retiens que… » :gardé mot pour motLe modèle propose0 à 3 faits dans un bloccaché après sa réponse,jamais déduits5 filtres, dans le code1. détecteur de secrets (seed, clés)2. valeurs brutes (adresses, identifiants)3. montants dans toute unité4. comptes de plateformes d’échange5. sujets interditsRefusérien n’est écrit ;sur « retiens que »,Alice dit pourquoiMémoire sur l’appareil160 caractères par fait,sans plafondweb : stockage localbureau : chiffré par l’appConversation suivantepréférences, contraintes,notes demandées d’abord,le reste classé selonle message, 10 au plus« Ce qu’Alice retient »Modifier, Supprimerpar fait ; Pause,Tout supprimer ici ;Oublier par notion ;Tout oublier
D’un message à la mémoire de votre appareil. Quel que soit le chemin, les 5 mêmes filtres passent d’abord. Un fait refusé n’est pas écrit, et seule une demande « retiens que » reçoit une réponse qui dit pourquoi. Nos serveurs n’en gardent aucune copie, à aucun moment.

Ce que le code refuse

Chaque candidat, quel que soit son chemin, passe par 5 filtres écrits dans le code. Un seul refus suffit : rien n’est écrit. La plupart des refus sont silencieux. Quand votre message n’est qu’une demande « retiens que », ou quand vous modifiez un fait sur l’écran de la mémoire, le motif s’affiche à la place.

1. Le détecteur de secrets
12 mots ou plus à la suite tirés de la liste de mots des seed phrases, les clés privées au format WIF, les clés privées étendues, et une clé hexadécimale précédée des mots « private key » ou « secret key ».
2. Les valeurs brutes
Adresses Bitcoin, clés xpub et xprv de toutes les familles, clés Nostr, factures Lightning, chaînes hexadécimales de 64 caractères, adresses e-mail, numéros de téléphone, identifiants avec un dièse, UUID.
3. Les montants
Un nombre suivi d’une unité de bitcoin ou d’une devise (« 0,5 BTC », « 20k sats », « 150 € », « deux bitcoins »), ou un symbole ou un code de devise suivi d’un nombre (« $300 »). Un nombre seul reste permis : « depuis 2021 » ou « un multisig 2 sur 3 » peuvent être conservés.
4. Les comptes de plateformes d’échange
Le nom d’une plateforme d’échange comme Binance, Kraken ou Coinbase, refusé d’office. Un nom qui est aussi un mot ordinaire, comme Strike, River ou Revolut, est refusé à côté d’un mot comme « compte », « portefeuille » ou « KYC ».
5. Les sujets interdits
Seed phrase, clé privée, adresse, facture, identifiant de transaction, transaction, solde, sats, e-mail, numéro de téléphone, user id, username, mot de passe, prénom et nom de famille, santé, médical, maladie, religion, sexualité, politique, adresse personnelle, coordonnées, en anglais et en français. Les accents et les majuscules ne comptent pas (« santé » comme « SANTÉ » est détecté), un pluriel compte comme le mot (« transactions », « clés privées »), et un mot de la liste attrape ses variantes proches : « politicien », « political », « sexuality » ou « diagnostic » sont refusés aussi. Un mot qui n’est pas dans la liste passe toujours.

Un fait est aussi refusé s’il fait moins de 3 ou plus de 160 caractères, ou s’il n’a pas de catégorie connue. Les doublons sont ignorés, et rien de nouveau n’entre dans une catégorie en pause. Le nombre de faits n’a pas de plafond : aucun n’est supprimé pour faire de la place.

2 autres règles agissent en amont. Un message qui demande votre solde, votre historique, un paiement ou une valeur réseau en direct reçoit une réponse fixe et ne produit aucun candidat de mémoire. Et une phrase conditionnelle (« si je fais tourner un nœud ») n’est lue ni comme une déclaration personnelle ni comme un niveau déclaré.

Où c’est stocké

Sur le web, app.alicebtc.comDans le stockage local de votre navigateur, sur cet appareil uniquement.
Sur le bureau, Alice App pour macOS, Windows et LinuxDans le même stockage local, chiffré par l’application avant d’être écrit, avec une clé conservée dans le trousseau du système.
Sur nos serveursRien. Aucune copie, aucune synchronisation entre appareils, aucun export vers votre compte.

Quand vous utilisez Private Cloud, les faits sélectionnés pour un message, 10 au plus, et les indications d’apprentissage pour ses notions voyagent dans la même enveloppe chiffrée que le message lui-même, destinée à n’être ouverte qu’à l’intérieur de l’enclave, jamais par le proxy et jamais par nous. Alice vérifie le matériel de l’enclave avant chaque message, mais ne peut pas encore vérifier quel logiciel tourne à l’intérieur : voir Confiance. En mode Local, la mémoire reste sur l’appareil : elle n’est jamais envoyée avec vos messages. Avec un serveur personnalisé que vous connectez vous-même, elle part vers ce serveur avec votre message.

Comment Alice s’en sert, et comment elle ne s’en sert pas

À chaque tour, Alice reçoit un court bloc qui dit en substance « mémoire privée, locale à l’appareil, à n’utiliser que si elle est pertinente, elle ne remplace jamais le message en cours ». Les préférences, les contraintes et les notes demandées passent en premier, quel que soit le sujet. L’installation, l’expérience, les objectifs, les projets, les centres d’intérêt et le contexte sont classés selon les mots qu’ils partagent avec votre message : ceux qui correspondent viennent ensuite, et les places restantes vont aux plus récents. 10 faits au plus, quel que soit le nombre stocké.

Ce qu’il lui est demandé de ne jamais faire :

Ce sont des instructions données au modèle, appliquées par le prompt. Les filtres ci-dessus sont appliqués par le code. L’avertissement en haut de cette page porte sur cette différence.

Tout voir, tout modifier et tout effacer

L’écran s’appelle « Ce qu’Alice retient ». Dans Alice App, il se trouve dans Réglages, puis IA, puis Mémoire d’Alice (dans l’interface en anglais : Settings, AI, Alice memory, et « What Alice remembers »). De haut en bas, il affiche :

À venir, pas encore livré

Ces décisions sont prises et pas encore dans l’app. Tant qu’elles ne sont pas livrées, rien sur cette page ne doit être lu comme si elles l’étaient.

Hors périmètre, par décision : aucune copie hors de l’appareil, aucune synchronisation entre appareils, aucun export vers votre compte.

Le code source est public sous licence AGPL. La version technique de cette page, avec les noms de fichiers et les listes exactes des filtres, se trouve dans le dépôt : lire la documentation de la mémoire. Voir aussi Confidentialité et Confiance.