Mémoire d'agent

IA / LLM 🔴 Senior

Définition

Persistance d'informations entre sessions, hors de la fenêtre de contexte : fichiers de notes, base clé-valeur, base vectorielle. L'outil memory_20250818 d'Anthropic est côté client : le modèle demande view, create, str_replace, insert, delete ou rename sous /memories et l'application exécute sur son propre stockage, en interdisant tout chemin hors du répertoire. Claude Code ajoute une auto-mémoire alimentée par les corrections de l'utilisateur.

Analogie

Le carnet d'un enquêteur : ce qu'il n'écrit pas est oublié à la fin de la journée.

Exemple de code

import path from 'node:path';
const ROOT = path.resolve('./memories');

function safe(p: string) {                 // anti path traversal
  const abs = path.resolve(ROOT, '.' + p.replace(/^\/memories/, ''));
  if (!abs.startsWith(ROOT + path.sep) && abs !== ROOT) throw new Error('Chemin interdit');
  return abs;
}
async function memoryHandler(input: { command: string; path: string; file_text?: string }) {
  switch (input.command) {
    case 'view':   return fs.readFile(safe(input.path), 'utf8');
    case 'create': await fs.writeFile(safe(input.path), input.file_text ?? ''); return 'File created successfully at: ' + input.path;
    case 'delete': await fs.rm(safe(input.path), { recursive: true }); return 'Successfully deleted ' + input.path;
    default:       return `Error: unknown command ${input.command}`;
  }
}
// tools: [{ type: 'memory_20250818', name: 'memory' }]

Cas d'usage

Agents multi-sessions (projet sur plusieurs jours), assistants qui doivent retenir les préférences d'un utilisateur.

Anti-pattern

Stocker des secrets ou des données personnelles brutes dans la mémoire de l'agent sans chiffrement ni expiration.
#ia#agents#architecture

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre