Memória
O arnês persiste automaticamente o estado da conversa na AgentCore memória. Em cada invocação, a conversa é salva, delimitada pelo ID da sessão (e, adicionalmente, pelo ID do ator, se fornecido). Nas invocações subsequentes com o mesmo ID de sessão, o histórico do agente é carregado da Memória antes que ele raciocine. Ele lembra o que aconteceu nos turnos anteriores, mesmo após a expiração da sessão de microVM subjacente. Você não precisa passar mensagens anteriores sozinho; basta enviar a nova mensagem.
Como a memória funciona
-
Short-term a memória captura eventos brutos (mensagens, chamadas de ferramentas) em uma sessão. Isso é o que dá continuidade ao agente nas curvas.
-
Long-term a memória extrai conhecimento durável por meio de estratégias configuráveis (semântica, sumarização, preferência do usuário, episódica ou personalizada) e os torna recuperáveis por meio de pesquisa semântica em sessões posteriores.
-
O ID do ator identifica a entidade que está interagindo com o agente (um usuário, outro agente ou um sistema). Os eventos de memória são definidos por ActorID + SessionID, então cada ator tem memória isolada. Long-term retrieval usa ActorID como uma variável de modelo em caminhos de namespace (por exemplo
/summary/{actorId}/{sessionId}/), mapeando para as estratégias de memória configuradas.
Memória gerenciada (padrão)
Por padrão, o harness provisiona automaticamente uma instância de AgentCore memória com padrões razoáveis (estratégias semânticas + de sumarização, expiração de eventos de 30 dias). Você não precisa criar ou configurar nada - a memória simplesmente funciona.
Para personalizar a memória gerenciada no momento da criação:
exemplo
A memória gerenciada é totalmente gerenciada pelo chicote:
-
A configuração da estratégia é controlada por meio de
UpdateHarness. Você ainda pode realizar read/write eventos e consultar registros diretamente por meio das APIs de memória. -
A memória gerenciada não pode ser excluída diretamente por meio das APIs de memória. Para transformar a memória gerenciada em um recurso de AgentCore memória normal, você pode desassociá-la do chicote de duas maneiras:
-
Use
UpdateHarnesspara alternar para BYO (agentCoreMemoryConfiguration) ou desativado. -
deleteManagedMemory=falseEm vez disso, passe a exclusão para dissociar -DeleteHarnessexclui em cascata a memória gerenciada por padrão.
-
Estratégias disponíveis
| Estratégia | Description |
|---|---|
|
|
Extrai conhecimento factual das conversas, recuperável por meio de pesquisa semântica. |
|
|
Cria resumos contínuos de conversas, com escopo definido por ator e sessão. |
|
|
Captura as preferências e configurações do usuário expressas durante as conversas. |
|
|
Registra eventos e experiências significativas como episódios discretos. |
Adicionar memória existente (BYO)
exemplo
Desativar memória
Para desativar totalmente a memória:
aws bedrock-agentcore-control update-harness \ --harness-id "MyHarness-UuFdkQoXSL" \ --memory '{"optionalValue": {"disabled": {}}}'
Per-user escopo de memória com ID de ator
Passe actorId no momento da chamada para definir o escopo da memória para um usuário específico. Cada ator obtém memória isolada de curto e longo prazo:
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 recuperação de memória
Quando um chicote tem estratégias de memória ativa (gerenciadas ou BYO), a recuperação funciona automaticamente - o chicote deriva uma configuração de recuperação das estratégias ativas da instância de memória. Em cada invocação, o agente consulta memórias relevantes de longo prazo e as injeta no contexto da conversa antes de raciocinar.
Comportamento padrão:
-
A recuperação é configurada automaticamente com parâmetros padrão (
topK=10,relevanceScore=0.2) para cada namespace da estratégia ativa. -
Nenhuma configuração manual é necessária para memória gerenciada ou BYO.
Substitua os padrões: se você fornecer explicitamente um retrievalConfig na configuração de memória BYO, seus valores terão prioridade e nenhuma derivação automática ocorrerá. Isso permite que você personalize quais namespaces são consultados, ajuste topK ou relevanceScore desabilite a recuperação para estratégias específicas.
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 você atualizar as estratégias da sua instância de memória BYO (adicionar ou remover) depois de conectá-la a um chicote, ligue UpdateHarness para atualizar a configuração de recuperação. Para memória gerenciada, a estratégia muda por meio da UpdateHarness atualização automática da configuração.
Truncamento de contexto
Quando o histórico de conversas cresce além da janela de contexto do modelo, o equipamento aplica uma estratégia de truncamento. Configure isso no chicote ou substitua por invocação.
-
sliding_window(padrão) - mantém as N mensagens mais recentes. Simples e previsível. -
summarization- compacta mensagens antigas em um resumo, preservando mais contexto em menos tokens. -
none- sem truncamento. Use somente se você mesmo gerenciar o tamanho do contexto.
aws bedrock-agentcore-control update-harness \ --harness-id "MyHarness-UuFdkQoXSL" \ --truncation '{"strategy": "sliding_window", "slidingWindowConfig": {"numMessages": 30}}'
Saiba mais: AgentCore Memória, crie um armazenamento de memória, estratégias de memória de longo prazo.
Tópicos relacionados
-
Modelos e instruções- configurar modelos e solicitações do sistema
-
Ambiente e sistema de arquivos- ambiente, sistema de arquivos e contêineres personalizados
-
Habilidades- anexe habilidades do Git, S3 ou Skills AWS
-
Segurança e controles de acesso- políticas de função de execução para acesso à memória