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

TL;DR · AI 摘要
通过构建自定义 MCP 服务器集成 Amazon Bedrock AgentCore Memory,Kiro CLI 实现了跨会话的持久化对话记忆,解决了智能 IDE 上下文遗忘问题,提升了开发效率。
核心要点
- 利用 MCP 协议将 Bedrock AgentCore Memory 集成到 Kiro CLI,实现跨会话记忆。
- 采用两阶段检索策略:先语义搜索再回退到原始内容匹配,确保召回率。
- 提供会话、监控和管理三类工具,支持按时间或主题检索历史对话。
结构提纲
按章节快速跳转。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 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 提供了强大的功能,既能维持短期工作记忆,也能维持长期智能记忆。
该解决方案使用两阶段检索策略:首先尝试语义搜索,然后回退到直接的事件级内容匹配。
您可以在提示中使用 recent、last night 或 yesterday 等时间范围来查找相关对话。
使用 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 基础设施。
解决方案概览
整个方案由三大组件协同工作:
- [Amazon Bedrock AgentCore Memory](https://aws.amazon.com/blogs/machine-learning/amazon-bedrock-agentcore-memory-building-context-aware-agents/) 是一项全托管服务,负责存储与检索对话上下文,提供持久化记忆能力,并内置语义搜索。AgentCore Memory 既能维护短期工作记忆,也能维护长期智能记忆,使 AI Agent 能够保留上下文、从交互中学习,并提供真正个性化的体验。
- 自定义 MCP Server 通过 MCP 暴露 Amazon Bedrock AgentCore Memory 的能力,让兼容 MCP 的客户端可以访问记忆操作。
- Kiro CLI 通过 STDIO 协议连接 MCP 服务器,以存储和检索对话历史。

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 具备上下文感知能力,能够跨会话记住你的偏好、项目细节和工作流程,无需反复提供相同信息。
实操演练
演示前请确保满足以下先决条件:
- 通过 AWS 管理控制台 和 AWS 命令行界面 (AWS CLI) 访问 AWS 账户。
- 使用的 AWS Identity and Access Management (IAM) 用户必须具备进行本文所述 AWS 服务调用和管理 AWS 资源的权限。为 IAM 用户授权时,请遵循最小权限原则。
- 拥有一个 AWS Builder ID。
- 已在桌面/笔记本上安装并配置 Kiro CLI。
在终端中执行以下步骤:
- 运行以下命令克隆仓库:
git clone https://github.com/aws-samples/sample-amazon-bedrock-agentcore-memory-mcp-server.git- 运行以下命令创建 Python 虚拟环境并安装依赖:
cd sample-amazon-bedrock-agentcore-memory-mcp-server
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt- 运行以下命令创建 Amazon Bedrock AgentCore Memory 资源并生成 Kiro agent 配置。此步骤可能需要几分钟:
python3 setup_bedrock_agentcore_memory.py出现提示时,请为 actor 标识符选择以下选项之一。转换结果将存储在该标识符下。
- 选项 1:User ID(默认)——推荐个人使用。该选项使用 USER 环境变量中的系统用户名。上一条命令会在
agent/kiro_memory.json中设置ACTOR_ID_TYPE=userid - 选项 2:Project ID——推荐用于团队或基于项目的内存隔离。出现提示时,必须提供
projectid和your-project-id。上一条命令会在agent/kiro_memory.json中设置ACTOR_ID_TYPE=projectid和PROJECT_ID=your-project-id
使用的命名空间策略为:/strategy/semanticMemoryStrategy/actor/{actorId}/session/{sessionId}
- 设置 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/*
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`
[](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff459/2026/05/02/ML-19844-image-2.png)
在登录方式中,使用键盘方向键选择 **Use for Free with Builder ID** 并按回车。
[](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/05/02/ML-19844-image-3.png)
将生成一个用于创建新 Builder ID 的 URL。选择 **Open this URL** 或将链接复制粘贴到新的浏览器标签页中。
[](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/05/02/ML-19844-image-4.png)
使用刚刚创建的 Builder ID 登录。
系统会提示您确认请求。选择 **Confirm and continue**。
[](https://d2908q01vomqb2.cloudfront.net/f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/05/02/ML-19844-image-5.png)
接下来会请求您允许 Kiro CLI 访问数据。点击 Allow access。
[](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/05/02/ML-19844-image-6.png)
现在返回本地终端,您应该会看到消息 Logged in successfully。在终端中输入以下命令:
`kiro-cli --classic`
现在,在 Kiro CLI 中输入命令 `/mcp` 以查看此会话中配置的 MCP 服务器列表。
[](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/05/02/ml-19844-image8a.png)
MCP 服务器成功初始化后,运行 `/tools` 命令以列出会话中可用的工具。
[](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 的定价是多少?
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 服务器提供了全面的工具,用于存储和检索对话上下文、监控内存使用情况以及管理持久化内存基础设施。借助智能检索、自然语言时间范围以及级联回退策略等功能,你可以可靠地访问对话历史,而无需反复提供相同的上下文信息。
* * *
## 关于作者