View a markdown version of this page

Estratégia de memória episódica - Amazon Bedrock AgentCore

Estratégia de memória episódica

A memória episódica captura partes significativas das interações do usuário e do sistema para que os aplicativos possam relembrar o contexto de uma forma que pareça focada e relevante. Em vez de armazenar todos os eventos brutos, ele identifica momentos importantes, os resume em registros compactos e os organiza para que o sistema possa recuperar o que importa sem ruído. Isso cria uma experiência mais adaptável e inteligente, permitindo que os modelos entendam como o contexto evoluiu ao longo do tempo.

Sua força vem de ter um contexto estruturado que abrange muitas interações e, ao mesmo tempo, permanece eficiente para armazenar, pesquisar e atualizar. Os desenvolvedores obtêm um equilíbrio entre frescor, precisão e continuidade de longo prazo sem precisar criar seus próprios pipelines de resumo.

As reflexões se baseiam em registros episódicos, analisando episódios anteriores para revelar insights, padrões e conclusões de alto nível. Em vez de simplesmente recuperar o que aconteceu, as reflections ajudam o sistema a entender por que certos eventos são importantes e como devem influenciar o comportamento futuro. Eles transformam a experiência bruta em orientação que o aplicativo pode usar imediatamente, oferecendo aos modelos uma maneira de aprender com a história.

Seu valor vem do levantamento de informações acima de momentos ou episódios individuais e da criação de conhecimento duradouro que melhora a tomada de decisões, a personalização e a consistência. Isso ajuda os aplicativos a evitar a repetição de erros, a se adaptarem mais rapidamente às preferências do usuário e a se comportarem de forma coerente por longos períodos.

Os clientes devem usar a memória episódica em qualquer cenário em que a compreensão de uma sequência de interações passadas melhore a qualidade, bem como em cenários em que a melhoria a longo prazo seja importante. Os casos de uso ideais incluem conversas de suporte ao cliente, fluxos de trabalho orientados por agentes, assistentes de código que dependem do histórico da sessão, ferramentas de produtividade pessoal, fluxos de diagnóstico ou solução de problemas e aplicativos que precisam de contexto baseado em eventos anteriores reais em vez de perfis estáticos.

Quando você invoca a estratégia episódica, detecta AgentCore automaticamente a conclusão do episódio nas conversas e processa os eventos em registros estruturados de episódios.

Etapas da estratégia

A estratégia de memória episódica inclui as seguintes etapas:

  • Extração — analisa o episódio em andamento e determina se o episódio foi concluído.

  • Consolidação — Quando um episódio é concluído, combina extrações em um único episódio.

  • Reflexão — Os insights são gerados em todos os episódios.

Resultado da estratégia

A estratégia de memória episódica retorna a XML-formatted saída para episódios e reflections. Cada episódio é dividido em uma situação, intenção, avaliação, justificativa e reflexão em nível de episódio. À medida que a interação prossegue, o episódio é analisado passo a passo. Você pode usar essas informações para entender melhor a ordem das operações e o uso da ferramenta.

Exemplos de episódios capturados por essa estratégia

  • Uma interação de implantação de código em que o agente selecionou ferramentas específicas, encontrou um erro e o resolveu com êxito usando uma abordagem alternativa.

  • Uma tarefa de reagendamento de compromissos que capturou a intenção do usuário, a decisão do agente de usar uma ferramenta específica e o resultado bem-sucedido.

  • Um fluxo de trabalho de processamento de dados que documentou quais parâmetros levaram ao desempenho ideal para um tipo de dados específico.

A estratégia episódica inclui etapas de extração e consolidação de memória (compartilhadas com outras estratégias). Além disso, a estratégia episódica também gera reflections, que analisam episódios em segundo plano à medida que as interações acontecem. As reflexões se consolidam em vários episódios para extrair insights mais amplos que identificam estratégias e padrões bem-sucedidos, possíveis melhorias, modos de falha comuns e lições aprendidas que abrangem várias interações.

Exemplos de reflections incluem

  • Identificar quais combinações de ferramentas conduzem consistentemente a resultados bem-sucedidos para tipos específicos de tarefas.

  • Reconhecer padrões em tentativas fracassadas e as abordagens que os resolveram.

  • Extraindo as melhores práticas de vários episódios de sucesso com cenários semelhantes.

A imagem a seguir esquematiza a estratégia de memória episódica:

Esquema da estratégia de memória episódica.

Ao referenciar episódios armazenados, seu agente pode recuperar experiências passadas relevantes por meio de pesquisa semântica e rever reflexões para evitar a repetição de abordagens fracassadas e adaptar estratégias bem-sucedidas a novos contextos. Essa estratégia é útil para agentes que se beneficiam da identificação de padrões, precisam atualizar continuamente as informações, manter a consistência nas interações e exigem contexto e raciocínio, em vez de conhecimento estático, para tomar decisões.

Namespaces

Ao criar uma memória com a estratégia episódica, você define namespaces sob os quais armazenar episódios e reflections.

nota

Independentemente do namespace em que você escolher armazenar episódios, os episódios são sempre criados a partir de uma única sessão.

Os episódios geralmente são armazenados em um dos seguintes namespaces:

  • /strategy/{memoryStrategyId}/— Armazene episódios no nível da estratégia. Episódios que têm atores diferentes ou que vêm de sessões diferentes, mas que pertencem à mesma estratégia, são armazenados no mesmo namespace.

  • /strategy/{memoryStrategyId}/actor/{actorId}/— Armazene todos os episódios no nível do ator. Episódios provenientes de sessões diferentes, mas que pertencem ao mesmo ator, são armazenados no mesmo namespace.

  • /strategy/{memoryStrategyId}/actor/{actorId}/session/{sessionId}/— Armazene todos os episódios no nível da sessão. Os episódios que pertencem à mesma sessão são armazenados no mesmo namespace.

As reflexões devem corresponder ao mesmo padrão de namespace dos episódios, mas as reflexões podem ser menos aninhadas. Por exemplo, se o seu namespace episódico for/strategy/{memoryStrategyId}/actor/{actorId}/, você pode usar os seguintes namespaces para reflections:

  • /strategy/{memoryStrategyId}/actor/{actorId}/— Os insights serão extraídos de todos os episódios de um ator.

  • /strategy/{memoryStrategyId}/— Os insights serão extraídos de todos os episódios e de todos os atores da estratégia.

Importante

Como as reflexões podem abranger vários atores dentro do mesmo recurso de memória, considere as implicações de privacidade da análise entre atores ao recuperar as reflexões. Considere usar grades de proteção em conjunto com a memória ou refletir no nível do ator, se isso for uma preocupação.

Qual a melhor forma de recuperar episódios para melhorar o desempenho da agência

Há várias maneiras de utilizar a memória episódica:

  • Dentro do seu código de agente

    • Ao iniciar uma nova tarefa, configure seu agente para realizar uma consulta solicitando os episódios e reflections mais semelhantes. Consulte também episódios relevantes e, posteriormente, reflita com base em alguma lógica.

    • Ao criar memórias de curto prazo com CreateEvent, a inclusão de TOOL resultados produzirá os melhores resultados.

    • Para episódios de sucesso semelhantes, linearize os turnos dentro do episódio e forneça apenas isso ao agente para que ele se concentre nas etapas principais.

  • Manualmente

    • Veja suas reflexões ou episódios malsucedidos e considere se alguns problemas poderiam ser resolvidos com atualizações no código do seu agente

Ao realizar recuperações, observe que os registros de memória são indexados com base na “intenção” dos episódios e no “caso de uso” para reflexão.

Para outras estratégias de memória, os registros de memória são gerados regularmente durante uma interação. Os registros de memória episódica, por outro lado, só serão gerados quando a AgentCore memória detectar um episódio concluído. Se um episódio não for concluído, ele demorará mais para ser gerado porque o sistema espera para ver se a conversa continua.