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 伺服器提供了全面的工具,用於儲存和檢索對話上下文、監控記憶體使用情況,以及管理持久化記憶基礎設施。憑藉智慧檢索、自然語言時間範圍和級聯回退策略等功能,使用者可以可靠地訪問對話歷史,無需重複提供上下文資訊。