AI News HubLIVE
站內改寫3 分鐘閱讀

使用 Amazon Bedrock AgentCore Memory 擴展 Kiro CLI 的對話記憶

本文演示如何通過實現一個自定義的模型上下文協議(MCP)服務器,將 Amazon Bedrock AgentCore Memory 集成到 Kiro CLI 中,從而擴展其對話記憶能力。Kiro CLI 是一款終端工具,可用於直接與 Kiro 的 AI 代理交互。Amazon Bedrock AgentCore Memory 是一項全託管服務,允許 AI 代理保留歷史交互信息,實現更智能、更具上下文感知的對話。通過自定義 MCP 服務器,Kiro CLI 可以存儲和檢索對話上下文、監控內存使用情況,並管理底層 Bedrock Agent Core Memory 基礎設施。

來源AWS Machine Learning Blog作者: Biswanath Mukherjee

在 AI 輔助編程中,智能 IDE 如果無法記住之前會話中的上下文,將會大大降低工作效率。開發者往往需要花數天或數週時間處理大型代碼庫和複雜業務需求,但 IDE 只能記住當前會話,無法回憶對話歷史、偏好或額外見解。這導致每次新會話都需重複提供相同的上下文信息,嚴重影響生產力。

本文演示瞭如何通過實現一個自定義的模型上下文協議(MCP)服務器,將 Amazon Bedrock AgentCore Memory 集成到 Kiro CLI 中,從而擴展其對話記憶能力。Kiro CLI 是一款終端工具,可直接與 Kiro 的 AI 代理交互。Amazon Bedrock AgentCore Memory 是一項全託管服務,允許 AI 代理保留歷史交互信息,實現更智能、更具上下文感知的對話。通過自定義 MCP 服務器,Kiro CLI 可以存儲和檢索對話上下文、監控內存使用情況,並管理底層 Bedrock Agent Core Memory 基礎設施。

解決方案概述

該解決方案由三個主要組件協同工作:

  • Amazon Bedrock AgentCore Memory:全託管服務,負責存儲和檢索對話上下文,提供持久化記憶能力,內置語義搜索。它支持短期工作記憶和長期智能記憶,使 AI 代理能夠保留上下文、從交互中學習,並提供個性化體驗。
  • 自定義 MCP 服務器:通過 MCP 暴露 Amazon Bedrock AgentCore Memory 的能力,使 MCP 兼容客户端可以訪問記憶操作。
  • Kiro CLI:通過 STDIO 協議連接 MCP 服務器,以存儲和檢索跨會話的對話歷史。

MCP 服務器充當 Kiro CLI 與 Amazon Bedrock AgentCore Memory 之間的橋樑,使 Kiro CLI 能夠維護對話歷史和上下文。MCP 服務器提供的工具分為三類:

  • 會話工具:按主題或時間範圍搜索對話歷史、使用一致的會話 ID 存儲對話、檢索完整會話內容、列出之前存儲的會話。
  • 監控工具:查看內存使用統計信息和 MCP 服務器配置。
  • 管理工具:刪除特定會話或在需要時清除存儲的數據。

該解決方案採用兩級檢索策略:首先使用 Bedrock AgentCore Memory 的 retrieve_memory_records API 進行語義搜索,實現概念匹配;若失敗,則回退到直接的事件級內容匹配,掃描存儲在 AgentCore Memory 會話中的原始對話數據。這種級聯方法確保無論語義策略是否完成處理,對話都能被檢索到。用户可以在提示中使用時間範圍,如“最近”、“昨晚”或“昨天”,來查找相關會話。

這種架構使 Kiro CLI 具有上下文感知能力——它能記住用户的偏好、項目細節和工作流程,無需重複提供相同信息。

操作步驟

演示需要以下前提條件:

  • 通過 AWS 管理控制台和 AWS CLI 訪問 AWS 賬户。
  • 使用的 IAM 用户必須具有必要的服務調用和資源管理權限,並遵循最小權限原則。
  • AWS Builder ID。
  • 在桌面/筆記本上安裝並配置 Kiro CLI。

從終端執行以下步驟:

  1. 克隆倉庫:git clone https://github.com/aws-samples/sample-amazon-bedrock-agentcore-memory-mcp-server.git
  1. 創建 Python 虛擬環境並安裝依賴:
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 代理配置:python3 setup_bedrock_agentcore_memory.py。系統會提示選擇用户 ID 或項目 ID 作為參與者標識符。
  1. 配置 Kiro 代理:將生成的配置文件複製到 ~/.kiro/agents/~/.kiro/hooks/,設置執行權限。
  1. kiro_memory 代理設置為默認代理:在 ~/.kiro/settings/cli.json 中添加 {"chat.defaultAgent": "kiro_memory"}
  1. 登錄 Kiro CLI:使用 kiro-cli login --use-device-flow,選擇使用 Builder ID 免費使用,完成登錄流程。
  1. 在 Kiro CLI 中輸入 /mcp 查看配置的 MCP 服務器,輸入 /tools 列出可用工具。可用的工具包括:clear_all_datadelete_sessionget_direct_conversation_historyget_memory_statsget_server_configget_session_detailslist_sessionssearch_conversation_historysearch_memoriesstore_conversation

測試解決方案

Kiro CLI 會根據提示需要自動調用 MCP 服務器,並在每次對話後觸發鈎子存儲會話。示例用法:

  • 提問“什麼是 AWS DevOps agent?它正式發佈了嗎?”然後退出會話。
  • 重新登錄後詢問“我們之前關於 AWS DevOps agent 討論了什麼?”Kiro 會通過 MCP 服務器從 Bedrock AgentCore Memory 中檢索信息。
  • 可以進一步詢問集成或定價等後續問題。

清理資源

為演示創建的資源可通過運行 python3 cleanup_bedrock_agentcore_memory.py 刪除,並移除代理配置和鈎子文件。

結論

本文展示瞭如何通過自定義 MCP 服務器集成 Amazon Bedrock AgentCore Memory,增強 Kiro CLI 的上下文持久化能力。該自定義 MCP 服務器提供了全面的工具,用於存儲和檢索對話上下文、監控內存使用情況,以及管理持久化記憶基礎設施。憑藉智能檢索、自然語言時間範圍和級聯回退策略等功能,用户可以可靠地訪問對話歷史,無需重複提供上下文信息。