Mémoire
L'écran Mémoire permet de lire, d'ajouter, de rechercher et de supprimer les éléments de mémoire long terme que
les agents écrivent pendant leurs exécutions. Chemin du portail : /data/memory. Les développeurs l'utilisent pour
vérifier ce dont un agent se souvient ; les administrateurs du tenant l'utilisent pour supprimer un élément sur
demande.
Ce que montre l'écran
La table Éléments de mémoire liste les éléments que vous pouvez lire : le serveur ne garde que les éléments non
supprimés, non expirés, dont l'ACL readers contient l'une de vos identités et dont la classification ne dépasse pas
votre habilitation. Colonnes : Type de portée, Identifiant de portée, Type, Contenu,
Classification, Expire.
Filtres au-dessus de la table : Type de portée (user, agent, session, project, tenant),
Identifiant de portée et Type (fact, preference, summary, episode), appliqués avec Filtrer.
Un clic sur une ligne ouvre un panneau qui charge l'élément avec l'historique de ses versions (history).
Le formulaire de création Nouvel élément contient Type de portée (obligatoire), Identifiant de portée
(obligatoire), Type (obligatoire), Contenu (obligatoire), Classification (internal, public,
confidential, restricted), Identifiant de la personne et Durée de vie (jours). Le portail envoie la durée
de vie en ttl_seconds (jours x 86400).
Sous la table, le testeur Rechercher en mémoire contient Requête (obligatoire), Type de portée, Identifiant de portée, Type et Top K (10). La portée n'est envoyée que si son type et son identifiant sont remplis.
Actions
| Bouton ou action | Ce qu'il fait | Appel API | Rôles |
|---|---|---|---|
| Icône d'actualisation, Filtrer | Recharge la liste avec les filtres | GET /v1/memory | tout utilisateur du tenant (filtré par ACL) |
| Nouvel élément > Créer | Écrit un élément ; la DLP peut relever sa classification | POST /v1/memory | tout utilisateur du tenant, dans les limites de la politique et de l'habilitation |
| Clic sur une ligne | Ouvre l'élément et son historique | GET /v1/memory/{memory_id} | ACL readers |
| Supprimer (menu de ligne) | Affiche la confirmation d'impact, puis efface le contenu, le vecteur et les versions | DELETE /v1/memory/{memory_id} | ACL writers ou owners, ou tenant_admin |
| Exécuter (Rechercher en mémoire) | Recherche sémantique dans les éléments | POST /v1/memory/search | tout utilisateur du tenant, dans les limites de la politique |
Rôles
Le portail ne masque aucun bouton sur cet écran. Dans services/control-plane/src/eai/domains/memory/__init__.py le
Control Plane vérifie l'ACL de chaque élément plutôt qu'un rôle : un élément créé depuis le portail reçoit votre
identité comme lecteur, rédacteur et propriétaire. L'écriture passe par la décision de politique memory.write et
est refusée quand la classification dépasse votre habilitation. La suppression exige l'ACL writers ou owners, ou
tenant_admin ; un élément sous gel juridique ne peut pas être supprimé, et un élément marqué non supprimable ne
l'est que par tenant_admin.
Tâches courantes
Vérifier ce dont un agent se souvient
-
Filtrer sur l'agent. La mémoire est rangée par portée. Choisissez Type de portée
agent, saisissez l'identifiant de l'agent dans Identifiant de portée, puis cliquez sur Filtrer.Résultat attendu : les éléments de cet agent avec leur Type et leur date Expire.
En cas d'échec : une table vide signifie qu'aucun élément ne vous est visible ; votre identité doit figurer dans les
readersdes éléments. -
Ouvrir un élément. Cliquez sur la ligne.
Résultat attendu : le panneau affiche l'élément, son ACL, son bloc
deletionet sonhistory.En cas d'échec :
not_foundsignifie que l'élément a expiré, a été supprimé ou dépasse votre habilitation.
Retrouver une mémoire par son sens
-
Lancer une recherche. La recherche est sémantique, pas textuelle. Dans Rechercher en mémoire, saisissez une Requête, éventuellement une portée, puis Exécuter.
Résultat attendu : les éléments les plus proches dans le panneau de résultat.
En cas d'échec :
policy_deniedsignifie que la politique refuse la recherche pour cette portée.
Supprimer un élément sur demande
-
Le supprimer. La suppression retire le contenu, le vecteur et les anciennes versions. Ouvrez le menu de la ligne, choisissez Supprimer et confirmez.
Résultat attendu : le message « Terminé » et la ligne disparaît.
En cas d'échec :
legal_hold(409) signifie qu'un gel juridique le protège ; voir Rétention.
Dépannage
| Symptôme | Cause | Correction |
|---|---|---|
invalid_request (400) avec kind sur Créer | Le serveur accepte les types episodic, semantic, procedural, preference, fact ; la liste du portail propose aussi summary et episode | Choisissez fact ou preference |
invalid_request (400) avec scope | Type de portée inconnu | Utilisez session, agent, user, project ou tenant |
policy_denied (403) sur Créer | La classification (éventuellement relevée par la DLP) dépasse votre habilitation, ou la politique refuse l'écriture | Baissez la classification ou demandez une habilitation plus haute |
not_permitted_acl (403) sur Supprimer | Vous n'êtes pas dans les writers ou owners de l'élément | Demandez à son propriétaire ou à un administrateur du tenant |
legal_hold (409) sur Supprimer | Un gel juridique couvre l'élément | Levez d'abord le gel dans Rétention > Gel juridique |
conflict (409) sur Supprimer | L'élément est marqué non supprimable | Un tenant_admin le supprime |