Tous les produits
Search
Centre de documentation

:Memory Dream

Dernière mise à jour :Aug 19, 2026

À mesure que les conversations s'allongent, les mémoires à long terme accumulent des doublons, des formulations incohérentes, des entrées fusionnables et des éléments obsolètes. Memory Dream affine, fusionne et déduplique en arrière-plan les mémoires stockées ainsi que les messages bruts. Il génère des opérations exploitables qui maintiennent le magasin de mémoire concis et cohérent. Choisissez entre un examen préalable des propositions et une application automatique conditionnée par un seuil de confiance.

Concepts clés

Memory Dream lit les données du magasin de mémoire et produit des actions de consolidation en arrière-plan. Les tâches de consolidation se déclinent en trois types, distingués par leur cible. Les actions issues des tâches memory écrivent directement dans le magasin de mémoire ; celles provenant des tâches skill et profile sont émises uniquement sous forme d'événements autonomes destinés à être consommés par l'appelant.

taskType

Cible de la consolidation

Types d'actions émis

memory (par défaut)

Mémoires à long terme : réécriture, fusion, déduplication ou suppression des entrées obsolètes. Les actions appliquées mettent directement à jour le magasin de mémoire.

ADD / UPDATE / DELETE / MERGE / NOOP

skill

Compétences réutilisables extraites des interactions historiques. Les actions sont émises sous forme d'événements et n'écrivent pas dans le magasin de mémoire.

EMIT_SKILL

profile

Profils utilisateur structurés élaborés à partir des interactions. Les actions sont émises sous forme d'événements et n'écrivent pas dans le magasin de mémoire.

EMIT_PROFILE

Sélectionnez un mode d'application selon le niveau de confiance que vous accordez aux résultats de la consolidation :

applyMode

Comportement

proposal (par défaut)

La consolidation génère uniquement des actions proposed, que l'appelant applique explicitement via ApplyMemoryDreamActions.

safe_auto

Les actions atteignant le seuil de confiance (confidenceThresholds) sont automatiquement appliquées par le service ; les autres restent à l'état de proposition.

Remarque

Le paramètre applyMode est pris en charge uniquement pour taskType=memory. La transmission de skill ou profile renvoie une erreur 403 (applyMode is not supported for taskType=skill|profile). Les actions issues des tâches skill et profile (EMIT_SKILL / EMIT_PROFILE) sont émises sous forme d'événements destinés à être consommés par l'appelant, sans workflow apply.

Démarrage rapide

En mode proposal, le flux de travail de bout en bout utilise quatre API dans l'ordre suivant : création d'une tâche, interrogation de son statut, liste des actions proposées et application de ces dernières. Transitions d'état de la tâche : queued → running → planning → (optionnel applying) → completed. Les autres états terminaux incluent completed_with_failures, failed et cancelled.

Étape 1 : Créer une tâche de consolidation

POST /CreateMemoryDreamTask
{
  "memoryStoreName": "agent_memory",
  "scopes": [ { "appId": "app-001", "tenantId": "user-001" } ],
  "taskType": "memory",
  "applyMode": "proposal"
}

Réponse :

{
  "memoryStoreName": "agent_memory",
  "dreamId": "2a528008111f5dc3500c73fd965089f7",
  "status": "queued",
  "createdAt": "2026-06-17T07:21:25.329Z"
}

Étape 2 : Interroger le statut de la tâche

POST /GetMemoryDreamTask
{ "memoryStoreName": "agent_memory", "dreamId": "2a528008111f5dc3500c73fd965089f7" }
Remarque

Immédiatement après la création d'une tâche, l'index des tâches de consolidation peut encore être en cours de construction. L'appel GetMemoryDreamTask peut brièvement renvoyer une erreur 409 (message d'erreur : dream task index is still building, please retry shortly). Réessayez après une courte attente.

Réponse (completed) :

{
  "dreamId": "2a528008111f5dc3500c73fd965089f7",
  "taskType": "memory",
  "applyMode": "proposal",
  "status": "completed",
  "actions": { "total": 2, "proposed": 2, "applied": 0, "skipped": 0, "failed": 0 },
  "input": { "sessionCount": 1, "messageCount": 1, "memoryCount": 2, "incremental": false },
  "finishedAt": "2026-06-17T07:21:32.276Z"
}

Étape 3 : Examiner les actions proposées

POST /ListMemoryDreamActions
{ "memoryStoreName": "agent_memory", "dreamId": "2a528008111f5dc3500c73fd965089f7", "limit": 20 }

Réponse :

{
  "dreamId": "2a528008111f5dc3500c73fd965089f7",
  "actions": [
    {
      "actionId": "968768529cdfde8d56686a71e1c28227",
      "action": "UPDATE",
      "status": "proposed",
      "targetMemoryId": "d16fd038835d89ae8586f7814e5256c1",
      "newMemory": { "text": "User prefers concise responses.", "unitType": "atomic_fact" },
      "reason": "Rewrite as a more precise atomic_fact.",
      "confidence": 0.95
    }
  ]
}

Champs d'action principaux :

Champ

Description

actionId

ID de l'action. Utilisé lors de l'application de l'action.

action

Type d'action : ADD / UPDATE / DELETE / MERGE / NOOP / EMIT_SKILL / EMIT_PROFILE.

status

Statut de l'action : proposed / applied / skipped / failed.

targetScope / targetMemoryId

Portée et ID de la mémoire cible sur lesquels l'action opère (UPDATE / DELETE / MERGE).

newMemory

Nouveau contenu de la mémoire, incluant text et unitType. Utilisé pour ADD, UPDATE et MERGE.

reason

Raison fournie par le modèle pour l'action.

confidence

Score de confiance, compris entre 0 et 1.

Étape 4 : Appliquer les actions

POST /ApplyMemoryDreamActions
{
  "memoryStoreName": "agent_memory",
  "dreamId": "2a528008111f5dc3500c73fd965089f7",
  "actionIds": ["968768529cdfde8d56686a71e1c28227", "a0f4715245920ea7b6a34c1828c6f1ae"]
}

Réponse :

{
  "dreamId": "2a528008111f5dc3500c73fd965089f7",
  "applied": 2,
  "failed": 0,
  "results": [
    { "actionId": "968768529cdfde8d56686a71e1c28227", "status": "applied", "memoryId": "bd14a67ed215c114896325d912c8fa71" }
  ]
}

Paramètres clés

Pour connaître les plages de valeurs des paramètres, consultez Limitations et notes.

Paramètre

Description

scopes

Portées à consolider. Obligatoire. Jusqu'à 20 éléments.

actionIds

IDs des actions à appliquer. Obligatoire pour ApplyMemoryDreamActions ; les tableaux vides sont rejetés. Obtenez les IDs depuis la réponse de ListMemoryDreamActions.

confidenceThresholds

Seuils d'application automatique. Clés : add / update / merge ; valeurs comprises entre 0 et 1. Les actions DELETE ne prennent pas en charge les seuils automatiques et restent toujours à l'état de proposition.

scopeOutputMode

Portée des mémoires résultantes : preserve_scope (par défaut ; conserve la portée d'origine) ou promote_scope (promotion vers une portée de niveau supérieur).

incremental

Lorsqu'il est défini sur true, la consolidation reprend à partir de la progression de la dernière exécution réussie (adapté aux déclencheurs planifiés). Par défaut sur false pour une consolidation complète.

minTimestamp / maxTimestamp

Restreint la plage temporelle des messages inclus dans la consolidation.

maxSessions

Nombre maximal de sessions traitées lors d'une seule exécution de consolidation.

maxMessages

Nombre maximal de messages traités lors d'une seule exécution de consolidation.

maxMemories

Nombre maximal de mémoires traitées lors d'une seule exécution de consolidation.

expandedScopeLimit

Nombre maximal de portées après expansion.

instructions

Instructions de consolidation personnalisées, jusqu'à 4 000 caractères.

Bonnes pratiques

  • Ne bloquez pas le chemin de requête en ligne en attendant les résultats de la consolidation. La consolidation s'exécute en arrière-plan ; interrogez GetMemoryDreamTask pour suivre la progression.

  • Utilisez le mode proposal en production et appliquez les actions uniquement après confirmation humaine ou programmatique. Lorsque vous avez confiance dans les résultats, définissez des confidenceThresholds pour add, update et merge, puis basculez vers le mode safe_auto.

  • Pour une consolidation planifiée, définissez incremental=true afin d'éviter un retraitement complet à chaque exécution.