T
traeai
登录
返回首页
AWS Machine Learning Blog

使用 Amazon Bedrock AgentCore Memory 扩展 Kiro CLI 的对话记忆

8.2Score
使用 Amazon Bedrock AgentCore Memory 扩展 Kiro CLI 的对话记忆

TL;DR · AI 摘要

通过构建自定义 MCP 服务器集成 Amazon Bedrock AgentCore Memory,Kiro CLI 实现了跨会话的持久化对话记忆,解决了智能 IDE 上下文遗忘问题,提升了开发效率。

核心要点

  • 利用 MCP 协议将 Bedrock AgentCore Memory 集成到 Kiro CLI,实现跨会话记忆。
  • 采用两阶段检索策略:先语义搜索再回退到原始内容匹配,确保召回率。
  • 提供会话、监控和管理三类工具,支持按时间或主题检索历史对话。

结构提纲

按章节快速跳转。

  1. 方案由 Bedrock AgentCore Memory、自定义 MCP 服务器和 Kiro CLI 三部分组成。

  2. Bedrock 提供持久化记忆,MCP 服务器作为桥梁,Kiro CLI 通过 STDIO 连接。

  3. MCP 服务器提供会话检索、监控统计和数据管理三类工具。

  4. 采用语义搜索优先、原始内容匹配兜底的两阶段检索策略。

  5. 实施演示需要具备 AWS 账户访问权限及配置好 IAM 用户权限。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • Kiro CLI Memory Extension
    • Architecture
      • Bedrock AgentCore Memory
      • Custom MCP Server
      • Kiro CLI (STDIO)
    • Key Features
      • Two-stage Retrieval
      • Session Management
      • Context Persistence

金句 / Highlights

值得收藏与分享的关键句。

  • AgentCore Memory 提供了强大的功能,既能维持短期工作记忆,也能维持长期智能记忆。

    Solution overview

    ⬇︎ 下载 PNG𝕏 分享到 X
  • 该解决方案使用两阶段检索策略:首先尝试语义搜索,然后回退到直接的事件级内容匹配。

    Solution overview

    ⬇︎ 下载 PNG𝕏 分享到 X
  • 您可以在提示中使用 recent、last night 或 yesterday 等时间范围来查找相关对话。

    Solution overview

    ⬇︎ 下载 PNG𝕏 分享到 X
#AWS#MCP#Agent#Kiro CLI#Bedrock
打开原文

使用 Amazon Bedrock AgentCore Memory 在 Kiro CLI 中扩展对话记忆 | Amazon Web Services

URL 来源:https://aws.amazon.com/blogs/machine-learning/extending-conversational-memory-in-kiro-cli-using-amazon-bedrock-agentcore-memory/

发布时间:2026-05-19T07:23:22-08:00

Markdown 内容: 会忘记你在之前会话中说过什么的 Agent IDE 并不实用。你花了几天甚至几周的时间在庞大的代码库上工作,业务需求复杂。然而,你的 IDE 只在当前会话里记得你,无法回忆对话历史、从对话中提炼出的偏好,或任何额外洞见。结果每次新会话你都得重复提供相同的上下文信息。这种反复设置上下文的需求严重影响了生产力。

本文将演示如何通过实现一个自定义的 Model Context Protocol(MCP)服务器,把 Amazon Bedrock AgentCore Memory 集成进来,从而扩展 Kiro CLI 的对话记忆能力。你可以直接在终端里用 Kiro CLI 与 Kiro 的 AI Agent 交互。Amazon Bedrock AgentCore Memory 是一项全托管服务,让 AI Agent 能够保留过往交互的信息,实现更智能、更懂上下文的对话。通过实现自定义 MCP 服务器,你可以为 Kiro CLI 提供工具,用于存储与检索对话上下文、监控内存使用,并管理底层的 Bedrock Agent Core Memory 基础设施。

解决方案概览

整个方案由三大组件协同工作:

  1. [Amazon Bedrock AgentCore Memory](https://aws.amazon.com/blogs/machine-learning/amazon-bedrock-agentcore-memory-building-context-aware-agents/) 是一项全托管服务,负责存储与检索对话上下文,提供持久化记忆能力,并内置语义搜索。AgentCore Memory 既能维护短期工作记忆,也能维护长期智能记忆,使 AI Agent 能够保留上下文、从交互中学习,并提供真正个性化的体验。
  2. 自定义 MCP Server 通过 MCP 暴露 Amazon Bedrock AgentCore Memory 的能力,让兼容 MCP 的客户端可以访问记忆操作。
  3. Kiro CLI 通过 STDIO 协议连接 MCP 服务器,以存储和检索对话历史。
图 1:展示 Kiro CLI 与 Amazon Bedrock AgentCore Memory 及 MCP Server 集成的架构图

MCP 服务器充当 Kiro CLI 与 Amazon Bedrock AgentCore Memory 之间的桥梁,使 Kiro CLI 能够跨会话保留对话历史和上下文。MCP 服务器提供的工具分为三类:

  • 对话工具——可按主题或时间段搜索对话历史,以一致的会话追踪方式存储对话,检索完整对话内容,并列出已已存储的会话。
  • 监控工具——可查看内存使用统计和 MCP 服务器配置。
  • 管理工具——可按需删除特定会话或清除已存储的数据。

该方案采用两阶段检索策略:首先通过 retrieve_memory_records Bedrock AgentCore Memory API 进行语义搜索以实现概念匹配;若失败,则回退到事件级内容匹配,扫描存储在 AgentCore Memory 会话中的原始对话负载。这种级联方式确保无论语义策略是否已完成处理,对话都能被检索到。你可以在提示中使用诸如 *recent*、*last night* 或 *yesterday* 等时间限定词来查找相关对话。

此架构让 Kiro CLI 具备上下文感知能力,能够跨会话记住你的偏好、项目细节和工作流程,无需反复提供相同信息。

实操演练

演示前请确保满足以下先决条件:

在终端中执行以下步骤:

  1. 运行以下命令克隆仓库:
bash
   git clone https://github.com/aws-samples/sample-amazon-bedrock-agentcore-memory-mcp-server.git
  1. 运行以下命令创建 Python 虚拟环境并安装依赖:
bash
   cd sample-amazon-bedrock-agentcore-memory-mcp-server
   python3 -m venv venv
   source venv/bin/activate
   pip3 install -r requirements.txt
  1. 运行以下命令创建 Amazon Bedrock AgentCore Memory 资源并生成 Kiro agent 配置。此步骤可能需要几分钟:
bash
   python3 setup_bedrock_agentcore_memory.py

出现提示时,请为 actor 标识符选择以下选项之一。转换结果将存储在该标识符下。

  • 选项 1:User ID(默认)——推荐个人使用。该选项使用 USER 环境变量中的系统用户名。上一条命令会在 agent/kiro_memory.json 中设置 ACTOR_ID_TYPE=userid
  • 选项 2:Project ID——推荐用于团队或基于项目的内存隔离。出现提示时,必须提供 projectidyour-project-id。上一条命令会在 agent/kiro_memory.json 中设置 ACTOR_ID_TYPE=projectidPROJECT_ID=your-project-id

使用的命名空间策略为:/strategy/semanticMemoryStrategy/actor/{actorId}/session/{sessionId}

  1. 设置 kiro agent 配置 ```

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/*

code
Bash  
2.   将 kiro_memory agent 配置为默认 agent。

在 `~/.kiro/settings/` 目录下的 `cli.json` 文件中添加以下内容,以默认使用 `kiro_memory` agent:`{"chat.defaultAgent": "kiro_memory"}`

1.   登录 Kiro CLI

要登录 Kiro CLI,您需要 AWS Builder ID 或来自您组织的有效 Kiro 订阅。

如果两者都没有,可以通过完成 [创建 AWS Builder ID](https://docs.aws.amazon.com/signin/latest/userguide/create-builder-id.html) 中的步骤来创建 AWS Builder ID。

`kiro-cli login --use-device-flow`

[![Image 2: Debug console screenshot showing Kiro CLI login method selection with Builder ID and IDC Account options](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/05/02/ML-19844-image-2.png)](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff459/2026/05/02/ML-19844-image-2.png)

在登录方式中,使用键盘方向键选择 **Use for Free with Builder ID** 并按回车。

[![Image 3: Terminal output showing Kiro CLI device flow login with browser confirmation URL and authorization code.](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/05/02/ML-19844-image-3.png)](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/05/02/ML-19844-image-3.png)

将生成一个用于创建新 Builder ID 的 URL。选择 **Open this URL** 或将链接复制粘贴到新的浏览器标签页中。

[![Image 4: AWS Builder ID sign-in page with email input field, Continue button, and Google authentication option](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/05/02/ML-19844-image-4.png)](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/05/02/ML-19844-image-4.png)

使用刚刚创建的 Builder ID 登录。

系统会提示您确认请求。选择 **Confirm and continue**。

[![Image 5: AWS authorization dialog requesting code confirmation to grant application access to AWS account resources](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/05/02/ML-19844-image-5.png)](https://d2908q01vomqb2.cloudfront.net/f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/05/02/ML-19844-image-5.png)

接下来会请求您允许 Kiro CLI 访问数据。点击 Allow access。

[![Image 6: AWS permission dialog asking user to allow Kiro CLI to access their data, with Allow and Deny options](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/05/02/ML-19844-image-6.png)](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/05/02/ML-19844-image-6.png)

现在返回本地终端,您应该会看到消息 Logged in successfully。在终端中输入以下命令:

`kiro-cli --classic`

现在,在 Kiro CLI 中输入命令 `/mcp` 以查看此会话中配置的 MCP 服务器列表。

[![Image 7: Kiro CLI terminal showing agentcore-memory-mcp-server loaded in 1.15 seconds with a context hooks tip](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/05/02/ml-19844-image8a.png)](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/05/02/ml-19844-image8a.png)

MCP 服务器成功初始化后,运行 `/tools` 命令以列出会话中可用的工具。

[![Image 8: Kiro CLI tools permission matrix showing built-in tools and agentcore-memory-mcp-server operations with trust levels](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/05/02/ML-19844-image-9.png)](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff459/2026/05/02/ML-19844-image-9.png)

请注意,以下工具通过 `agentcore-memory-mcp-server` 提供给会话使用。

*   `clear_all_data` – 从特定命名空间的内存中删除信息
*   `delete_session` – 删除特定会话
*   `get_direct_conversation_history` – 访问特定会话的完整对话内容
*   `get_memory_stats` – 使用 list_memory_records 提供内存概览
*   `get_server_config` – 提供 MCP 服务器的配置
*   `get_session_details` – 提供特定会话的信息
*   `list_sessions` – 列出之前存储的会话
*   `search_conversation_history` – 按主题或时间段搜索对话历史的工具
*   `search_memories` – 另一个用于搜索长期记忆的工具
*   `store_conversation` – 使用一致的会话 ID 存储对话

## 测试解决方案

Kiro CLI 会根据响应或执行提示所需的功能调用 MCP 服务器。Kiro CLI 钩子会在每次对话后触发并 存储对话。以下是一些使用示例:

`什么是 AWS DevOps agent?它是否已经 GA?`

允许 Kiro 请求使用的工具访问权限。在得到响应后,输入 `/quit` 退出 Kiro CLI。

重新登录 Kiro CLI 并询问:

`我们之前讨论过 AWS DevOps agent 的哪些内容?`

允许 Kiro CLI 发出的工具使用请求。Kiro 将使用 `agentcore-memory-mcp-server` 从 Bedrock AgentCore 内存中获取相关信息。

你可以继续提问,例如:

我能否将 GitHub 与 AWS DevOps agent 集成? AWS DevOps agent 的定价是多少?

code

Bash

再次输入 `/quit` 退出 Kiro CLI 会话,稍等片刻后重新登录。用自然语言让 Kiro CLI 检索之前关于 AWS DevOps Agent 的讨论。Kiro 会为你展示之前的讨论摘要。

更多细节请参考以下录屏演示:

## 清理资源

如果你只是为了演示而跟随本文操作,为避免产生后续费用,请运行以下命令删除本文创建的资源:

`python3 cleanup_bedrock_agentcore_memory.py`

从你的 kiro 目录中删除本文创建的 Agent 配置(`~/.kiro/agents/kiro_memory.json`)

从你的 kiro 目录中删除本文创建的 hooks(`~ ~/.kiro/hooks/`)

## 结论

在本文中,我们展示了如何通过自定义 MCP 服务器(集成 Amazon Bedrock AgentCore Memory)来增强 Kiro CLI 的上下文持久化能力。该自定义 MCP 服务器提供了全面的工具,用于存储和检索对话上下文、监控内存使用情况以及管理持久化内存基础设施。借助智能检索、自然语言时间范围以及级联回退策略等功能,你可以可靠地访问对话历史,而无需反复提供相同的上下文信息。

* * *

## 关于作者

AI 可能会生成不准确的信息,请核实重要内容