Memoria
L'imbracatura mantiene automaticamente lo stato di conversazione in AgentCore memoria. Ad ogni chiamata, la conversazione viene salvata, suddivisa in base all'ID della sessione (e in aggiunta all'ID dell'attore, se fornito). Nelle chiamate successive con lo stesso ID di sessione, la cronologia dell'agente viene caricata dalla memoria prima che venga eseguita la scansione: ricorda ciò che è accaduto nei turni precedenti, anche dopo la scadenza della sessione MicroVM sottostante. Non è necessario inviare personalmente i messaggi precedenti; è sufficiente inviare il nuovo messaggio.
Come funziona la memoria
-
Short-term la memoria acquisisce eventi non elaborati (messaggi, chiamate di strumenti) all'interno di una sessione. Questo è ciò che dà all'agente la continuità tra i turni.
-
Long-term la memoria estrae conoscenze durevoli tramite strategie configurabili (semantiche, di riepilogo, preferenze dell'utente, episodiche o personalizzate) e le rende recuperabili tramite ricerca semantica nelle sessioni successive.
-
Actor ID identifica l'entità che interagisce con l'agente (un utente, un altro agente o un sistema). Gli eventi di memoria sono definiti da actorID + sessionID, quindi ogni attore ha una memoria isolata. Long-term il recupero utilizza actorID come variabile modello nei percorsi dello spazio dei nomi (ad esempio), mappando le strategie di memoria configurate.
/summary/{actorId}/{sessionId}/
Memoria gestita (impostazione predefinita)
Per impostazione predefinita, l'harness esegue automaticamente il provisioning di un'istanza di AgentCore memoria con impostazioni predefinite ragionevoli (semantica e strategie di riepilogo, scadenza degli eventi di 30 giorni). Non è necessario creare o configurare nulla: la memoria funziona e basta.
Per personalizzare la memoria gestita al momento della creazione:
Esempio
La memoria gestita è completamente gestita dal cablaggio:
-
La configurazione della strategia è controllata tramite
UpdateHarness. È comunque possibile effettuare read/write eventi e interrogare i record direttamente tramite le API di memoria. -
La memoria gestita non può essere eliminata direttamente tramite le API di memoria. Per trasformare la memoria gestita in una normale risorsa di AgentCore memoria, è possibile dissociarla dal cablaggio in due modi:
-
Utilizzatelo
UpdateHarnessper passare a BYO (agentCoreMemoryConfiguration) o disattivarlo. -
Passa
deleteManagedMemory=falseinvece l'eliminazione alla dissociazione: per impostazione predefinita,DeleteHarnesselimina in cascata la memoria gestita.
-
Strategie disponibili
| Strategia | Description |
|---|---|
|
|
Estrae conoscenze fattuali dalle conversazioni, recuperabili tramite ricerca semantica. |
|
|
Crea riassunti ricorrenti delle conversazioni, suddivisi per attore e sessione. |
|
|
Cattura le preferenze e le impostazioni dell'utente espresse durante le conversazioni. |
|
|
Registra eventi ed esperienze significativi come episodi distinti. |
Aggiungi memoria esistente (BYO)
Esempio
Disattiva la memoria
Per disabilitare completamente la memoria:
aws bedrock-agentcore-control update-harness \ --harness-id "MyHarness-UuFdkQoXSL" \ --memory '{"optionalValue": {"disabled": {}}}'
Per-user ambito della memoria con ID attore
Passa actorId al momento della chiamata l'ambito della memoria a un utente specifico. Ogni attore ottiene una memoria isolata a breve e lungo termine:
response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, actorId="user-123", messages=[{"role": "user", "content": [{"text": "What do you remember about my preferences?"}]}], )
Long-term recupero della memoria
Quando un cablaggio dispone di strategie di memoria attive (gestite o BYO), il recupero avviene automaticamente: il cablaggio ricava una configurazione di recupero dalle strategie attive dell'istanza di memoria. Ad ogni chiamata, l'agente interroga i ricordi a lungo termine pertinenti e li inserisce nel contesto della conversazione prima di ragionare.
Comportamento predefinito:
-
Il recupero viene configurato automaticamente con i parametri predefiniti (
topK=10,relevanceScore=0.2) per lo spazio dei nomi di ogni strategia attiva. -
Non è necessaria alcuna configurazione manuale per la memoria gestita o BYO.
Sostituisci le impostazioni predefinite: se fornisci esplicitamente un retrievalConfig nella configurazione della memoria BYO, i tuoi valori hanno la priorità e non si verifica alcuna derivazione automatica. Ciò consente di personalizzare gli spazi dei nomi su cui eseguire le query, modificare o disabilitare il recupero per strategie specifiche. topK relevanceScore
aws bedrock-agentcore-control update-harness \ --harness-id "MyHarness-UuFdkQoXSL" \ --memory '{"optionalValue": {"agentCoreMemoryConfiguration": {"arn": "arn:aws:bedrock-agentcore:us-west-2:123456789012:memory/MyMemory-abc123", "retrievalConfig": {"/facts/{actorId}/": {"topK": 5, "relevanceScore": 0.5, "strategyId": "FactExtractor-abc123"}}}}}'
Importante
Se aggiorni le strategie dell'istanza di memoria BYO (aggiungi o rimuovi) dopo averla collegata a un cablaggio, chiama per aggiornare la configurazione di recupero. UpdateHarness Per quanto riguarda la memoria gestita, la strategia cambia aggiornando automaticamente la configurazione. UpdateHarness
Troncamento del contesto
Quando la cronologia delle conversazioni si estende oltre la finestra di contesto del modello, l'harness applica una strategia di troncamento. Configuralo sul cablaggio o esegui l'override per ogni invocazione.
-
sliding_window(impostazione predefinita): mantiene gli N messaggi più recenti. Semplice e prevedibile. -
summarization- comprime i messaggi più vecchi in un riepilogo, preservando più contesto con un minor numero di token. -
none- nessun troncamento. Utilizzalo solo se gestisci tu stesso le dimensioni del contesto.
aws bedrock-agentcore-control update-harness \ --harness-id "MyHarness-UuFdkQoXSL" \ --truncation '{"strategy": "sliding_window", "slidingWindowConfig": {"numMessages": 30}}'
Ulteriori informazioni: AgentCore memoria, creazione di un archivio di memoria, strategie di memoria a lungo termine.
Argomenti correlati
-
Modelli e istruzioni- configura modelli e prompt di sistema
-
Ambiente e file system- ambiente, filesystem e contenitori personalizzati
-
Competenze- allega abilità da Git, S3 o AWS Skills
-
Sicurezza e controlli degli accessi- politiche relative ai ruoli di esecuzione per l'accesso alla memoria