Estendendo a memória conversacional do Kiro CLI com o Amazon Bedrock AgentCore Memory

O problema: agentes que esquecem tudo entre sessões

Quem trabalha com IDEs agênticas sabe bem a frustração: você passa dias ou semanas desenvolvendo em uma base de código complexa, com requisitos de negócio específicos, preferências de projeto bem definidas — e toda vez que abre uma nova sessão, o agente começa do zero. Nenhuma memória das conversas anteriores, nenhum contexto acumulado, nenhuma preferência salva.

O resultado prático é que o desenvolvedor precisa repassar as mesmas informações contextuais repetidamente, o que impacta diretamente a produtividade. É exatamente esse problema que a AWS abordou em um tutorial recente, demonstrando como estender a memória conversacional do Kiro CLI por meio de um servidor Protocolo de Contexto de Modelo (MCP) personalizado integrado ao Amazon Bedrock AgentCore Memory.

O que é o Kiro CLI e o Bedrock AgentCore Memory

O Kiro CLI é uma ferramenta que permite interagir com os agentes de IA do Kiro diretamente pelo terminal. Já o Amazon Bedrock AgentCore Memory é um serviço totalmente gerenciado pela AWS que permite que agentes de IA retenham informações de interações passadas, tornando as conversas mais inteligentes e conscientes do contexto.

O serviço oferece capacidades tanto para memória de curto prazo (contexto de trabalho imediato) quanto para memória de longo prazo (aprendizado acumulado entre sessões), com busca semântica integrada. Isso possibilita que agentes retenham contexto, aprendam com interações anteriores e entreguem experiências verdadeiramente personalizadas.

Visão geral da solução

A arquitetura proposta pela AWS é composta por três componentes principais que trabalham em conjunto:

  • Amazon Bedrock AgentCore Memory: serviço gerenciado responsável por armazenar e recuperar o contexto das conversas, com busca semântica nativa.
  • Servidor MCP personalizado: expõe as capacidades do AgentCore Memory por meio do protocolo MCP, tornando as operações de memória acessíveis a clientes compatíveis.
  • Kiro CLI: conecta-se ao servidor MCP via protocolos STDIO para armazenar e recuperar o histórico conversacional.

O servidor MCP atua como uma ponte entre o Kiro CLI e o Amazon Bedrock AgentCore Memory, permitindo que o Kiro mantenha histórico e contexto de conversas entre sessões.

Ferramentas disponíveis no servidor MCP

O servidor MCP organiza suas ferramentas em três categorias:

  • Ferramentas de conversa: permitem buscar histórico por tópico ou período, armazenar conversas com rastreamento consistente de sessão, recuperar o conteúdo completo de conversas e listar sessões anteriores.
  • Ferramentas de monitoramento: permitem visualizar estatísticas de uso de memória e a configuração do servidor MCP.
  • Ferramentas de gerenciamento: permitem deletar sessões específicas e remover dados armazenados quando necessário.

Estratégia de recuperação em dois estágios

A solução adota uma estratégia de recuperação em cascata: primeiro tenta a busca semântica usando a API retrieve_memory_records do Bedrock AgentCore Memory para correspondência conceitual; caso não encontre resultados adequados, recorre à correspondência direta no conteúdo dos eventos, varrendo os payloads brutos das conversas armazenadas nas sessões do AgentCore Memory.

Essa abordagem garante que as conversas sejam recuperáveis independentemente de o processamento semântico já ter sido concluído. Também é possível usar expressões de tempo em linguagem natural nas consultas, como “recente”, “ontem à noite” ou “semana passada”, para localizar conversas relevantes.

Pré-requisitos

Para seguir o tutorial, é necessário ter:

Passo a passo da configuração

1. Clonar o repositório

git clone https://github.com/aws-samples/sample-amazon-bedrock-agentcore-memory-mcp-server.git

2. Criar ambiente virtual Python e instalar dependências

cd sample-amazon-bedrock-agentcore-memory-mcp-server
python3 -m venv venv; source venv/bin/activate; pip3 install -r requirements.txt;

3. Criar o recurso de memória e gerar a configuração do agente Kiro

Este passo pode levar alguns minutos para ser concluído:

python3 setup_bedrock_agentcore_memory.py

Durante a execução, será solicitado que você escolha um tipo de identificador de ator. As conversas ficam associadas a esse identificador:

  • Opção 1 — User ID (padrão): recomendado para uso pessoal. Utiliza o nome de usuário do sistema a partir da variável de ambiente USER. Define ACTOR_ID_TYPE=userid no arquivo agent/kiro_memory.json.
  • Opção 2 — Project ID: recomendado para isolamento de memória por equipe ou projeto. Requer que você forneça o projectid e o your-project-id. Define ACTOR_ID_TYPE=projectid e PROJECT_ID=your-project-id no arquivo agent/kiro_memory.json.

A estratégia de namespace utilizada é: /strategy/semanticMemoryStrategy/actor/{actorId}/session/{sessionId}

4. Configurar o agente Kiro

mkdir -p ~/.kiro/agents/
mkdir -p ~/.kiro/hooks/
cp -p agent/kiro_memory.json ~/.kiro/agents/
cp -p hooks/cache-prompt.sh ~/.kiro/hooks/
cp -p hooks/load-preferences.sh ~/.kiro/hooks/
cp -p hooks/store-conversation.sh ~/.kiro/hooks/
chmod 755 ~/.kiro/hooks/*

Para definir o agente kiro_memory como padrão, adicione o seguinte ao arquivo cli.json no diretório ~/.kiro/settings/:

{"chat.defaultAgent": "kiro_memory"}

5. Fazer login no Kiro CLI

Para autenticar no Kiro CLI, é necessário ter um AWS Builder ID ou uma assinatura ativa do Kiro pela organização. Caso não tenha, é possível criar um AWS Builder ID seguindo as instruções da documentação oficial.

kiro-cli login --use-device-flow

Selecione a opção Use for Free with Builder ID usando as teclas de seta e pressione Enter. Uma URL será gerada para autenticação. Acesse-a no navegador, faça login com o Builder ID criado, confirme a solicitação e autorize o acesso. Ao retornar ao terminal, a mensagem Logged in successfully confirmará o login.

6. Iniciar o Kiro CLI e verificar as ferramentas disponíveis

kiro-cli --classic

Após iniciar, execute /mcp para listar os servidores MCP configurados na sessão. Depois que o servidor MCP for inicializado com sucesso, execute /tools para listar as ferramentas disponíveis. As seguintes ferramentas estarão acessíveis por meio do agentcore-memory-mcp-server:

  • clear_all_data — exclui informações de um namespace específico na memória
  • delete_session — exclui uma sessão específica
  • get_direct_conversation_history — acessa o conteúdo completo de sessões específicas
  • get_memory_stats — usa list_memory_records para fornecer uma visão geral da memória
  • get_server_config — exibe a configuração do servidor MCP
  • get_session_details — fornece informações sobre uma sessão específica
  • list_sessions — lista sessões armazenadas anteriormente
  • search_conversation_history — busca histórico de conversas por tópico ou período
  • search_memories — outra ferramenta para busca em memória de longo prazo
  • store_conversation — armazena conversas com IDs de sessão consistentes

Testando a solução na prática

O Kiro CLI invoca os servidores MCP conforme a funcionalidade necessária para responder ao prompt. Os hooks do Kiro CLI são acionados automaticamente para armazenar a conversa após cada interação.

Um exemplo prático de uso seria perguntar ao Kiro sobre um serviço da AWS — como o AWS DevOps Agent — e autorizar o acesso às ferramentas solicitadas. Ao encerrar a sessão com /quit e fazer login novamente, é possível perguntar “O que discutimos sobre o AWS DevOps Agent?” e o Kiro usará o agentcore-memory-mcp-server para buscar as informações relevantes no Bedrock AgentCore Memory.

A partir daí, é possível fazer perguntas de acompanhamento — como integrações disponíveis ou informações de preço — e o contexto acumulado nas sessões anteriores será aproveitado automaticamente. Ao encerrar e retornar em outro momento, o Kiro consegue apresentar um resumo das discussões anteriores em linguagem natural.

Limpeza dos recursos

Caso tenha seguido o tutorial apenas para fins de demonstração e queira evitar cobranças futuras, execute o seguinte comando para excluir os recursos criados:

python3 cleanup_bedrock_agentcore_memory.py

Também é necessário excluir manualmente a configuração do agente em ~/.kiro/agents/kiro_memory.json e os hooks em ~/.kiro/hooks/.

Conclusão

A AWS demonstrou com esse tutorial como é possível resolver um dos principais pontos de atrito no uso de IDEs agênticas: a perda de contexto entre sessões. Ao combinar o Kiro CLI com um servidor MCP personalizado integrado ao Amazon Bedrock AgentCore Memory, a solução entrega persistência de contexto de forma confiável — sem que o desenvolvedor precise repetir as mesmas informações a cada nova sessão.

Recursos como busca semântica, expressões de tempo em linguagem natural e a estratégia de recuperação em cascata tornam o histórico conversacional acessível de forma inteligente, elevando significativamente a produtividade no desenvolvimento com agentes de IA.

Fonte

Extending conversational memory in Kiro CLI using Amazon Bedrock AgentCore Memory (https://aws.amazon.com/blogs/machine-learning/extending-conversational-memory-in-kiro-cli-using-amazon-bedrock-agentcore-memory/)

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *