Aller au contenu principal

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 actionCe qu'il faitAppel APIRôles
Icône d'actualisation, FiltrerRecharge la liste avec les filtresGET /v1/memorytout utilisateur du tenant (filtré par ACL)
Nouvel élément > CréerÉcrit un élément ; la DLP peut relever sa classificationPOST /v1/memorytout utilisateur du tenant, dans les limites de la politique et de l'habilitation
Clic sur une ligneOuvre l'élément et son historiqueGET /v1/memory/{memory_id}ACL readers
Supprimer (menu de ligne)Affiche la confirmation d'impact, puis efface le contenu, le vecteur et les versionsDELETE /v1/memory/{memory_id}ACL writers ou owners, ou tenant_admin
Exécuter (Rechercher en mémoire)Recherche sémantique dans les élémentsPOST /v1/memory/searchtout 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​

  1. 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 readers des éléments.

  2. Ouvrir un élément. Cliquez sur la ligne.

    Résultat attendu : le panneau affiche l'élément, son ACL, son bloc deletion et son history.

    En cas d'échec : not_found signifie que l'élément a expiré, a été supprimé ou dépasse votre habilitation.

Retrouver une mémoire par son sens​

  1. 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_denied signifie que la politique refuse la recherche pour cette portée.

Supprimer un élément sur demande​

  1. 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ômeCauseCorrection
invalid_request (400) avec kind sur CréerLe serveur accepte les types episodic, semantic, procedural, preference, fact ; la liste du portail propose aussi summary et episodeChoisissez fact ou preference
invalid_request (400) avec scopeType de portée inconnuUtilisez session, agent, user, project ou tenant
policy_denied (403) sur CréerLa classification (éventuellement relevée par la DLP) dépasse votre habilitation, ou la politique refuse l'écritureBaissez la classification ou demandez une habilitation plus haute
not_permitted_acl (403) sur SupprimerVous n'êtes pas dans les writers ou owners de l'élémentDemandez à son propriétaire ou à un administrateur du tenant
legal_hold (409) sur SupprimerUn gel juridique couvre l'élémentLevez d'abord le gel dans Rétention > Gel juridique
conflict (409) sur SupprimerL'élément est marqué non supprimableUn tenant_admin le supprime

Pages liées​