如今,大多数Agent在运行过程中,仅仅依赖当前交互环节里所能获取到的可见信息。它们虽然可以获取相关事实与知识,却无法记住自己以往解决类似问题的方式,也不清楚某些方法奏效或失败的原因,这导致Agent在学习新知识与迭代优化方面,存在明显的短板。
Amazon Bedrock AgentCore情景记忆功能(后文简称情景记忆),通过为AI Agent捕捉并呈现经验层面的知识,攻克了这一难题。语义记忆能够帮助Agent记住自身掌握的知识,而情景记忆则会记录Agent获取这些知识的具体过程,包括目标设定、推理步骤、执行动作、最终结果以及复盘反思。
通过将每次交互转化为结构化的情景片段,Agent便能回忆起相关知识,同时解读并复用过往的推理逻辑。这一机制有助于Agent在不同会话间自适应调整,避免重复犯同样的错误,并能够随时间推移不断优化自身规划能力。
Amazon Bedrock AgentCore Memory是一项全托管服务,它借助短期记忆与长期智能记忆能力,帮助开发者构建具备上下文感知能力的AI Agent。如需了解更多信息,可参阅往期推文《让AI Agents更聪明的“秘密武器”:AgentCore Memory长期记忆系统》与以下博客。
《Amazon Bedrock AgentCore Memory:构建具备上下文感知能力的Agent》
https://aws.amazon.com/blogs/machine-learning/amazon-bedrock-agentcore-memory-building-context-aware-agents/
本文将详细介绍构建和存储情景片段的完整架构,深入探讨反思模块的工作原理,并分享极具说服力的基准测试结果,其充分展示了该功能可大幅提升Agent任务成功率。
设计Agent情景记忆的核心挑战
情景记忆能够让Agent留存自身经验,并基于这些经验进行推理。然而,设计这样的系统需要攻克以下多个核心挑战,才能确保经验具备连贯性、可评估性与可复用性:
1.保持时间与因果连贯性:情景片段需完整保留推理步骤、执行动作与结果的顺序及因果逻辑,使Agent能够清晰追溯自身决策的形成过程。
2.识别并拆分多目标任务:单次交互会话中往往存在目标交叉或目标切换的情况,情景记忆必须能够准确识别并区分不同目标,避免将不相关的推理痕迹混为一谈。
3.从过往经历中复盘学习:需要评估每一段情景片段的成功或失败情况,再通过反思环节对比过往相似情景片段,提炼具备普适性的规律与原则,让Agent能够将其应用于全新目标,而非简单重复以往的操作路径。
下节内容将阐述如何构建AgentCore情景记忆策略,涵盖经验提取、存储、检索及反思全流程,同时解析这些组件如何协作,助力Agent将实战经验转化为自适应智能能力。
AgentCore情景记忆工作原理
当Agent应用向AgentCore Memory发送对话事件时,原始交互内容会通过智能提取与反思处理流程,转化为丰富详实的情景记忆记录。下图展示了该情景记忆策略的工作原理,以及简单的Agent对话如何转变为具有指导意义、可复盘的记忆数据,进而影响后续交互过程。
下图以更为丰富的细节信息,展示了同一架构的详细数据流转过程。
上图展示了情景记忆策略的各个步骤。前两个步骤(以粉色和紫色标注)被归为情景片段提取模块的两阶段流程,二者功能不同但互为补充。第三个步骤(以蓝色标注)为复盘模块,可助力Agent从过往经历中学习。
下文将详细介绍上述步骤。
情景片段提取模块
情景片段提取模块是情景记忆策略中的基础环节,负责将用户与Agent之间原始的的交互数据,转化为结构清晰、富有意义的情景片段。
该模块采用两阶段处理架构,两个阶段分别用于捕捉每次交互的细粒度步骤机制(即轮次提取),以及提取更广泛层面的情景片段知识,来构建连贯完整的事件脉络(即情景片段提取)。
为方便理解,您可以将其类比为会议记录:在会议期间实时记录要点就好比轮次提取,在会议结束后撰写会议纪要就好比情景片段提取。这两个阶段虽然各有侧重,但对于Agent从过往经历中汲取经验教训而言,都有着不可或缺的价值。
在情景片段提取的第一阶段,系统会开展轮次提取处理,以此判断交互过程中哪些环节进展顺利,哪些地方出现了问题。具体而言,系统会先识别出用户与Agent之间单次信息交互的单元(即对话轮次),然后再精准划分,并从以下维度将其转化为结构化的摘要信息:
轮次情境
系统对Agent在本轮对话中做出回应所依托的情境与背景的简单描述,涵盖即时对话语境、可能贯穿多轮交互的用户核心目标,以及为当前交互提供参考的历史对话相关信息。
轮次意图
Agent在本轮对话中的具体目的与核心目标,本质上是在回答“Agent试图达成什么目标”这一问题。
轮次动作
详细记录交互过程中所采取的具体步骤,包括使用了哪些特定工具、向各工具提供了哪些输入参数或参数值,以及Agent如何将意图转化为可执行的操作。
轮次思考
Agent做出决策背后的推理过程,解释选择工具与实施方案的原因。
轮次评估
客观评判Agent是否成功达成本轮既定目标,针对所选方案与执行动作的有效性给出即时反馈。
目标评估
从更宏观的视角,判断用户在整个对话流程中的总体目标是否得到满足,或Agent是否正朝着完成的方向推进。该评估跳出单轮对话的局限,聚焦整体任务的完成情况。
完成对单个对话轮次的处理与结构化整理后,系统将进入情景片段提取阶段。用户达成目标(由大语言模型识别判定)或结束当前交互时,就会触发该阶段。这一设计有助于完整还原用户的交互全流程,因为用户的目标往往需要跨越多轮对话才能实现,仅依靠单轮对话数据,既无法判断整体目标是否达成,也无法清晰了解解决问题的全局策略。
在本阶段,系统会将具有先后关联的对话轮次整合为条理清晰、逻辑连贯的情景记忆,完整记录用户从发起初始请求到问题最终解决的全流程:
情景片段场景:触发用户寻求Agent协助需求的背景情况。
情景片段意图:清晰阐述用户最终想要达成的目标。
成效评估:明确判定每个情景片段中的对话是否达成预期目标。
评估依据:基于对话过程中能体现对话是否朝着目标进行的关键节点,为成败判定提供切实依据。
情景片段洞察:提炼当前情景片段中已被验证有效的做法,并总结需要规避的问题。
反思模块
Amazon Bedrock AgentCore情景记忆的核心优势,正体现在反思模块具备的经验学习能力,它能够从历史交互经验中提炼洞察,助力Agent优化后续表现。在这一模块的作用下,单个情景片段所沉淀的学习成果,不再局限于特定场景,而是会逐步升华成为具有广泛适用性的知识,从而指导Agent应对各类不同场景。
反思模块基于跨情景片段反思机制运行:它会根据用户意图,检索过往相似的成功情景片段,并对多个情景片段交叉分析,得出更具普适性的经验洞察。在处理新的情景片段时,系统将依次执行以下操作:
1.系统以用户意图为语义检索关键词,从向量数据库中筛选出历史上取得成功,并且与当前目标、背景或问题领域等方面相似的情景片段。
2.对比分析当前主要情景片段与相关历史情景片段,探寻在不同背景下始终行之有效的可迁移方法。
3.系统审查现有的反思知识:既可以用新提炼的洞察对原有知识进行补充强化,也可以将跨情景片段分析发现的全新模式纳入知识体系。
流程结束时,每条反思记忆记录均包含以下信息:
适用场景:该经验洞察的适用时机与场景,涵盖相关用户目标及触发条件。
指导建议(经验洞察):具备可操作性的指导方案,包括工具选择策略、有效实施方案以及需要规避的问题。
置信度评分:取值范围为0.1–1.0,用于衡量该洞察在不同场景下的普适性程度。
情景片段为Agent提供了过往解决类似问题的具体案例,这些案例展示了使用的特定工具、采用的推理逻辑以及最终达成的结果,其中既包含成功经验,也涵盖失败教训。这一机制构建起一套完善的学习框架,助力Agent沿用经实践验证的有效策略,同时规避再犯已有记录的错误。
反思记忆从多个情景片段中提炼共性规律,输出具备指导性的策略洞察。它不再局限于单一案例,而是明确指出各类工具的最优适用场景、有效的决策思路,以及影响最终结果的关键因素。这些经过提炼的核心原则,能够为Agent应对复杂场景时提供更高层次的指导。
自定义覆盖配置
尽管内置的记忆策略已覆盖各类常见应用场景,但诸多领域仍需定制化的记忆处理方案。该系统支持通过自定义提示词覆盖内置策略,以此拓展内置逻辑,助力团队根据自身特定需求,灵活调整记忆处理机制。您可实施以下自定义覆盖配置:
自定义提示词
这类提示词聚焦判定标准与逻辑规则,而非输出格式,可帮助开发者定义以下内容:
提取标准:明确需提取或过滤哪些信息。
整合规则:规定关联记忆的整合方式。
冲突解决机制:确定如何处理相互矛盾的信息。
洞察生成逻辑:说明如何综合跨情景片段的反思内容。
自定义模型
AgentCore Memory支持为记忆提取、整合及反思操作选择自定义模型,这种灵活性可帮助开发者根据自身需求,在准确性和延迟之间取得平衡。创建memory_resource作为策略覆盖项时,您可通过API进行自定义模型配置,也可直接在Amazon Bedrock AgentCore控制台操作,如下图所示。
命名空间
命名空间为情景片段与反思记忆提供了层级化的组织结构,支持用户以不同粒度访问Agent的经验数据,同时实现经验数据的自然无缝分组。
例如,为一款旅游应用程序设计命名空间时,用户可将情景片段存储在travel_booking/users/userABC/episodes路径,将反思记忆存放于travel_booking/users/userABC路径。请注意,反思记忆的命名空间必须是情景片段命名空间的子路径。
性能评估
本例选取了零售和航空领域的真实场景作为评估依据,以目标达成情况为衡量标准(样本取自τ2-bench),对Amazon Bedrock AgentCore情景记忆功能进行了效果评估。这些评估场景所涉及的任务,均源自真实的客户服务案例,用户需要Agent协助达成特定目标。
本次实验针对以下三种不同配置方案进行了对比分析:
1.作为基础对照,本例让基于Anthropic Claude 3.7构建的Agent独立运行,并且不与记忆组件交互。
2.对于具备记忆增强功能的Agent,本例探索了两种运用记忆的方法:
上下文学习示例法
将提取的情景片段作为上下文学习示例。具体来说,构建一个名为retrieve_exemplars的工具(工具定义详见附录),Agent可通过输入查询指令,例如:如何办理退款,从情景片段库中获取分步操作指南。当Agent遇到类似问题时,检索到的情景片段会被纳入上下文,指导Agent执行下一步操作。
反思引导法
即利用反思洞察引导Agent。具体而言,构建一个名为retrieve_reflections的工具(工具定义详见附录),Agent可借助该工具,从过往经验中获取更具普适性的策略洞察。与retrieve_exemplars工具类似,Agent可生成查询指令来检索反思记忆并纳入上下文,从而获得策略和方法层面的洞察,而非具体的分步操作指导,进而做出明智决策。
本例采用的评估方法如下:
首先,基准方案Agent处理一批历史客户交互数据,这些数据将作为记忆提取的来源。
随后,该Agent接收来自τ2-bench数据集的新用户查询请求。
每个查询请求均会并行执行四次尝试处理。
评估环节会基于这四次尝试处理,计算通过率指标,其中Pass^k用于衡量四次尝试中至少成功k次的任务占比:
Pass^1:至少成功1次,衡量Agent能力水平。
Pass^2:至少成功2次,衡量Agent可靠性。
Pass^3:至少成功3次,衡量Agent稳定性。
如下表所示,该方案在两个业务领域的多次测试中,性能均得到了显著优化。
在各领域及不同一致性水平下,具备记忆增强功能的Agent表现始终优于基础对照Agent。至关重要的是,这些结果表明不同的记忆检索策略适用于不同特性的任务。
与基础对照相比,跨情景片段反思使Pass^1指标提升了11.4%、Pass^3指标提升了13.6%,这说明在应对交互模式多样的开放式客服场景时,具备普适性的策略洞察价值尤为突出。
与之形成对比的是,航空领域任务具有规则复杂、流程步骤多的特点,该领域更适合采用情景片段示例策略,这一策略下的Pass^3指标达到了最高值43.0%,高于反思策略的41.0%。这表明具体的分步操作示例,能够帮助Agent稳定处理结构化的业务流程。
值得注意的是,记忆策略的相对优势在更高一致性要求的评估指标(即Pass^3)上体现得最为显著,原因在于记忆功能可帮助Agent规避会导致偶发故障的各类失误。
使用情景记忆功能的最佳实践
能否有效运用情景记忆,关键在于把握使用时机,并选择与具体场景相匹配的记忆类型。本节将分享已经实践验证的最佳实践。
使用时机
当情景记忆类型与当下需求精准匹配时,它才能发挥最大价值。情景记忆尤其适用于涉及复杂多步骤操作、上下文信息至关重要且过往经验会产生显著影响的场景,例如代码调试、旅行规划与数据分析等。对于那些借鉴先前尝试经验来显著改善结果的重复性工作流程,以及特定领域内依赖长期经验积累的问题,情景记忆同样具有不可估量的价值。
然而,情景记忆并非适用于所有场景。诸如天气查询、基础事实已确认等无需推理或上下文信息的简单一次性问题,没有必要启用这一功能。简单的客服对话、基础问答或日常闲聊,也无需使用情景记忆提供的高级功能。
情景记忆的真正价值需要经过长期应用才能体现。对于短期任务,一份会话摘要就能提供足够的信息,而对于复杂任务与重复性工作流程,情景记忆可帮助Agent依托历史经验持续优化自身表现。
选择情景记忆或反思记忆
当面临相似的具体问题,且需要明确指引时,情景片段能发挥最佳效用。例如,在调试一个无法渲染的React组件时,情景片段可以清晰展示过往解决类似问题的方案,包括使用工具、思考过程以及最终结果。当一般性建议不足以解决问题时,情景片段能提供真实案例,完整呈现从发现问题到解决问题的全过程。
当需要宏观策略指导,而非具体的分步解决方案时,反思记忆的作用最为突出。遇到全新类型问题、需要掌握通用原则时,比如探索数据可视化任务的最优实施路径、在API集成问题中效果最佳的调试策略,反思记忆能够发挥最大价值。尤其在工具选型、方案抉择等高层级决策时,或理解某些模式成败的深层原因时,反思记忆的作用尤为突出。
任务开始前,您可查阅反思记忆获取策略指导,参考同类情景片段提炼解决方案的共性模式,同时梳理过往尝试中已记录的高频错误。
任务执行过程中,若遇到阻碍则可参考情景片段,借助反思记忆的经验洞察辅助选择合适工具,并思考当前场景与历史案例的差异。
总结
Amazon Bedrock AgentCore情景记忆功能弥补了当前Agent能力体系中的关键短板。通过完整存储推理路径,并从结果中汲取经验教训,Agent能够避免重复犯错,同时基于成功策略持续优化。
情景记忆与摘要记忆、语义记忆、偏好记忆共同构成了Amazon Bedrock AgentCore的记忆框架,各类记忆功能各司其职:摘要记忆负责管理上下文长度,语义记忆负责存储事实性信息,偏好记忆负责处理个性化需求,而情景记忆则专注于积累实践经验。这种组合模式让Agent既能掌握结构化知识,又能积累实践经验,从而更高效处理复杂任务。
如需深入了解情景记忆相关信息,您可参阅《情景记忆策略》《如何高效检索情景片段以提升Agent性能》,以及AgentCore Memory GitHub示例代码。
《情景记忆策略》
https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/episodic-memory-strategy.html
《如何高效检索情景片段以提升Agent性能》
https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/episodic-memory-strategy.html#memory-episodic-retrieve-episodes
AgentCore Memory GitHub示例代码:
https://github.com/awslabs/amazon-bedrock-agentcore-samples/tree/main/01-tutorials/04-AgentCore-memory
附录
下面将介绍为记忆增强型Agent启用记忆功能的两种方法示例。
情景片段应用示例
以下是将提取的情景片段用作上下文学习示例的案例。
** Context **A customer(Jane Doe) contacted customer service expressing frustration about a recent flight delay that disrupted their travel plans and wanted to discuss compensation or resolution options for the inconvenience they experienced. ** Goal **The user's primary goal was to obtain compensation or some form of resolution for a flight delay they experienced, seeking acknowledgment of the disruption and appropriate remediation from the airline. --- ### Step 1: **Thought:**The assistant chose to gather information systematically rather than making assumptions, as flight delay investigations require specific reservation andflight details. This approach facilitates accurate assistance and demonstrates professionalism by acknowledging the customer's frustration while taking concrete steps to help resolve the issue. **Action:**The assistant responded conversationally without using any tools, asking the user to provide their user ID to access reservation details. --- End of Step 1 --- ... ** Episode Reflection **:The conversation demonstrates an excellent systematic approach to flight modifications: starting with reservation verification, then identifying confirmation, followed by comprehensive flight searches, and finally processing changes with proper authorization. The assistant effectively used appropriate tools in a logical sequence - get_reservation_details for verification, get_user_details for identity/payment info, search_direct_flight for options, and update tools forprocessing changes. Key strengths included transparent pricing calculations, proactive mention of insurance benefits, clear presentation of options, and proper handling of policy constraints(explaining why mixed cabin classes aren't allowed). The assistant successfully leveraged user benefits (Gold status for free bags) and maintained security protocols throughout. This methodical approach made sure user needs were addressed while following proper procedures for reservation modifications.左右滑动查看完整示意
反思记忆应用示例
以下为反思记忆的应用示例,可用于为Agent提供决策指导。
**Title:** Proactive Alternative Search Despite Policy Restrictions **Use Cases:**This applies when customers request flight modifications or changes that are blocked by airline policies(such as basic economy no-change rules, fare class restrictions, or booking timing limitations). Rather than simply declining the request, this pattern involves immediately searching foralternative solutions to help customers achieve their underlying goals. It's particularly valuable for emergency situations, budget-conscious travelers, or when customers have specific timing needs that their current reservations don't accommodate. **Hints:**When policy restrictions prevent the requested modification, immediately pivot to solution-finding rather than just explaining limitations. Use search_direct_flight to find alternative options that could meet the customer's needs, even if it requiresseparate bookings or different approaches. Present both the policy constraint explanation AND viable alternatives in the same response to maintain momentum toward resolution. Consider the customer's underlying goal(getting home earlier, changing dates, etc.)and search for flights that accomplish this objective. When presenting alternatives, organize options clearly by date and price, highlight budget-friendly choices, and explain the trade-offs between keeping existing reservations versus canceling and rebooking. This approach transforms policy limitations into problem-solving opportunities and maintains customer satisfaction even when the original request cannot be fulfilled.左右滑动查看完整示意
工具定义
以下代码是retrieve_exemplars的工具定义。
def retrieve_exemplars(task: str) -> str: """ Retrieve example processes to help solve the given task. Args: task: The task to solve that requires example processes. Returns: str: The example processes to help solve the given task. """左右滑动查看完整示意
以下代码是retrieve_reflections的工具定义。
def retrieve_reflections(task: str, k: int = 5) -> str: """ Retrieve synthesized reflection knowledge from past agent experiences by matching against knowledge titles and use cases. Each knowledge entry contains: (1) a descriptive title, (2) specific use cases describing the types of goals where this knowledge applies and when to apply it, and(3) actionable hints including best practices from successful episodes and common pitfalls to avoid from failed episodes. Use this to get strategic guidance for similar tasks. Args: task: The current task or goal you are trying to accomplish. This will be matched against knowledge titles and use cases to find relevant reflection knowledge. Describe your task clearly to get the most relevant matches. k: Number of reflection knowledge entries to retrieve. Default is 5. Returns: str: The synthesized reflection knowledge from past agent experiences. """左右滑动查看完整示意
本篇作者
Jiarong Jiang
亚马逊云科技的首席应用科学家,致力于推动RAG与Agent记忆系统的创新,以提升企业级AI应用的准确性与智能水平。她热衷于帮助客户构建具备上下文感知能力和推理能力驱动的应用程序,助力客户高效利用自身数据创造业务价值。
Akarsha Sehwag
Amazon Bedrock AgentCore GTM团队中的生成式AI数据科学家。她在人工智能与机器学习领域拥有超过六年的专业经验,曾为生成式AI、深度学习及计算机视觉领域的不同客户群体,构建了可投入生产环境的企业级解决方案。
Mani Khanuja
亚马逊云科技首席生成式AI专家解决方案架构师,同时也是《亚马逊云科技应用机器学习与高性能计算》一书的作者。她主导着多个领域的机器学习项目,涵盖计算机视觉、自然语言处与生成式AI等方向。她经常在各类内外部会议上发表演讲,例如亚马逊云科技re:Invent大会、美国西部制造业女性峰会、YouTube网络研讨会以及GHC 23等。
Peng Shi
亚马逊云科技的高级应用科学家。他负责Agent记忆系统的研发工作,致力于提升AI的准确性、适应性与推理能力。他专注于将前沿研究成果与实际业务价值相结合,打造更智能、具备上下文感知能力的应用。
Anil Gurrala
亚马逊云科技驻亚特兰大的高级解决方案架构师。他在亚马逊云科技任职超3年,在数字创新与转型领域拥有近20年经验,致力于协助客户在亚马逊云科技上开展现代化改造项目、架构设计与优化工作。他擅长落地实施Agentic AI解决方案,同时帮助企业客户在亚马逊云科技云环境中,构建可扩展的应用程序并优化部署流程。
Ruo Cheng
亚马逊云科技高级用户体验设计师,负责在Amazon Bedrock与Amazon Bedrock AgentCore上设计企业级AI及开发者体验相关产品。她拥有十年行业经验,主导设计AgentCore Memory,为Agent类应用程序构建记忆相关的工作流程与功能模块。她热衷于将复杂的AI与基础设施概念,转化为符合用户直觉、以用户为中心的体验。
新用户注册海外区域账户,可获得最高200美元服务抵扣金,覆盖Amazon Bedrock生成式AI相关服务。“免费计划”账户类型,确保零花费,安心试用。
星标不迷路,开发更极速!
关注后记得星标「亚马逊云开发者」
听说,点完下面4个按钮
就不会碰到bug了!
点击阅读原文查看博客!获得更详细内容!