用途
Amazon Bedrock AgentCore Memory 为智能体提供持久化记忆与学习能力,使其能够在不同会话之间保留知识,从用户交互中学习,从而提供越来越个性化的体验。其目标是为智能体赋予跨会话的记忆与学习能力。
该能力采用基于能力的模式,包含两种记忆类型,并据资料所述经 AWS 于 2025 年 12 月验证。
主要能力与关键原则
- 情节记忆(Episodic Memory):从对话中抽取的长期事实。
- 短期记忆(Short-term Memory):原始的逐轮会话上下文。
- 自动抽取(Automatic Extraction):通过后台反思过程创建情节。
- 语义检索(Semantic Retrieval):上下文感知的记忆查找。
- 按用户隔离(User-Scoped):记忆按用户/参与者隔离。
- 隐私控制(Privacy Controls):细粒度的记忆管理。
资料列出的质量目标为:记忆检索延迟小于 100 毫秒;抽取准确率不低于 85%;存储效率方面对事实进行去重。
架构说明
资料给出的架构示意显示,智能体运行时中存在多个会话(Session 1、Session 2 直至 Session N),每个会话各有一份短期记忆;这些短期记忆向上汇聚到“反思引擎(Reflection Engine,后台进程)”,再产出情节记忆(长期存储),其中保存诸如“User prefers X”“Learned fact Y”“Historical event Z”等内容。
适用场景
资料建议在以下情况使用 bedrock-agentcore-memory:
- 构建能够记住用户偏好的智能体;
- 跨会话创建个性化体验;
- 实现从过往交互中学习;
- 为长时间运行的工作流维持上下文;
- 构建随时间改进的智能体。
不建议在以下情况使用:
- 简单的无状态问答(无需持久化);
- 短暂的单一会话交互;
- 无法存储用户数据(合规)的场景。
前提条件
必需:
- 已部署 AgentCore 智能体;
- 已创建记忆资源;
- 具备记忆操作的 IAM 权限。
建议:
- 制定用户/参与者标识策略;
- 定义数据保留政策;
- 记录隐私要求。
使用方式与操作
资料提供了五类操作及对应代码示例:
-
创建记忆资源:通过 boto3 的 bedrock-agentcore-control 客户端调用 create_memory,可配置情节记忆(enabled、reflectionConfig 中的 reflectionInterval 如 SESSION_END 或 PERIODIC、extractionModel、extractionInstructions、periodicIntervalMinutes)与短期记忆(enabled、maxTurns、contextWindowStrategy 如 SLIDING),并通过 retentionConfig 设置 episodicRetentionDays 与 shortTermRetentionDays;随后可使用 MemoryCreated waiter 等待资源就绪。资料还给出旅行智能体(长期记住偏好)与支持智能体(聚焦问题历史)两种配置示例。
-
存储记忆事件:通过 bedrock-agentcore 客户端调用 create_event,传入 memoryId、actorId、sessionId 以及包含 eventTime、traceId、userMessage/assistantMessage/toolCall 的事件体;资料也说明了批量事件存储的做法,并注明批量 API 可能可用,需查阅最新文档。
-
检索记忆:调用 retrieve_memory_records,使用 retrievalQuery 的 semanticQuery 与 maxRecords 进行语义查询;或用 paginator 调用 list_memory_records 列出某用户的全部情节记忆;资料还给出根据当前上下文提取主题、逐主题检索、去重并按 relevanceScore 排序的上下文感知检索示例函数。
-
手动记忆管理:调用 batch_create_memory_records 手动创建记忆记录(含 content 与 metadata,如 source、confidence、category、priority);调用 batch_update_memory_records 更新记录;调用 delete_memory_record 或 batch_delete_memory_records 删除记录,资料提及可用于 GDPR 被遗忘权场景。
-
记忆抽取作业:调用 start_memory_extraction_job 手动触发反思/抽取(可指定 actorIds 与 sessionFilter 的时间范围),随后通过 list_memory_extraction_jobs 轮询作业状态,直到 COMPLETED 或 FAILED,并可在完成后查看 recordsCreated;此外可用 control.update_memory 更新记忆配置中的 extractionInstructions,自定义从对话中抽取或禁止抽取的内容。
与智能体集成
资料给出“具备记忆意识的智能体”模式:在入口函数中先按 user_id 和用户消息检索相关记忆并格式化为上下文,将其拼入增强提示词,再运行 Agent(示例模型为 anthropic.claude-sonnet-4-20250514-v1:0),最后回存交互以供未来学习,并返回响应。
限制与未提供信息
资料未提供收费、价格、具体平台可用区域、性能实测数据或使用步骤之外的实施细节;上述质量目标与原则来自资料所述内容。文中标注的行内注释与示例代码保持原样,未作改动。