智能体协作的“记忆”秘诀:Manus团队的上下文工程实战经验分享!

原文:智能体协作的“记忆”秘诀:Manus团队的上下文工程实战经验分享! - 哔哩哔哩

COOL官网地址:https://cool-js.com/

最新开源Cool Unix,针对uni-app x 最新兼容适配的跨端开发框架!

Cool Unix地址:https://unix.cool-js.com/

cut-off

一、AI智能体的“记忆”挑战与机遇

在AI智能体光鲜的能力背后,也隐藏着一个核心且常常被忽视的挑战:智能体的“记忆”问题,即我们常说的“上下文管理”。大型语言模型(LLM)作为AI智能体的核心驱动力,尽管其能力令人印象深刻,但它们本身存在固有的技术限制。例如,LLM可能会产生不准确的输出,这在需要高精度和可重复性的环境中构成了信任障碍。此外,LLM本质上是被动的,除非被明确提示,否则它们无法独立驱动工作流程或做出决策。它们在处理涉及多个步骤、决策点或分支逻辑的复杂工作流程时也常遇到困难,并且许多现有LLM的持久记忆能力有限,难以长时间跟踪上下文或在扩展交互中保持连贯性。这种概率性本质也使得LLM容易产生“幻觉”,即编造不真实的信息。

在多智能体协作的场景下,这些“记忆”问题被进一步放大。想象一下,如果一个AI助手在多轮对话后开始“健忘”或“胡言乱语”,用户体验将大打折扣。当多个智能体协同工作时,如果它们无法有效共享和维护上下文,协作效率将显著降低,甚至导致任务错位。因此,如何设计一个灵活且通用的记忆系统来支持LLM智能体的长期交互,成为了一个关键的挑战。

本文将深入探讨Manus团队在构建多智能体协作系统时,如何通过“上下文工程”来解决这些“记忆”难题。通过分析他们的实践经验,并结合最新的研究成果,帮助大家在AI智能体时代构建更强大、更可靠的应用。

二、揭秘上下文工程:智能体“大脑”的秘密武器

要理解上下文工程,首先需要明确LLM的“上下文窗口”是什么,以及它为何如此重要。

什么是LLM的“上下文窗口”?它为何如此重要?

简单来说,LLM的“上下文窗口”是指语言模型在生成回复时能够考虑的文本数据量。它包含了模型在回复前需要查看的所有输入文本(即token),以收集上下文信息。这个窗口的大小直接影响模型对文本的理解深度和回复的准确性。

上下文窗口在LLM中至关重要,因为它能捕捉对话或文本的细微之处。一个适当大小的上下文窗口能够确保模型与主题保持相关性,利用之前的token来塑造回复,维持对话流程,并减少突兀的、上下文不准确的回答。它有助于LLM做出更明智的预测并生成更高质量的文本,在摘要、翻译和内容生成等任务中,理解更广泛的上下文有助于提供连贯的输出。

然而,管理上下文窗口并非易事。如果窗口太小,模型可能会遗漏关键信息,导致“失忆”;但如果太大,又可能处理不必要的噪音,甚至引发“大海捞针”问题,即模型在大量信息中难以有效利用关键细节。因此,如何有效地管理和优化这个窗口,是让LLM展现其“智能”的关键。

从“提示工程”到“上下文工程”的范式转变

过去,我们更多地关注“提示工程”(Prompt Engineering),即如何精心设计问题或指令来引导LLM生成期望的输出。这是一种静态的“问题构造”方法,强调措辞的巧妙。

然而,随着AI智能体的发展,仅仅依赖提示工程已不足以应对复杂和持续的任务。AI智能体需要超越单次交互,进行长期的规划和适应。这就引出了“上下文工程”(Context Engineering)的概念。上下文工程不仅仅是写好一个问题,它更侧重于构建动态系统,自动为模型提供正确的信息、工具和历史记录。这代表了一种从静态的“问题构造”到动态的“环境构建”的范式转变。上下文工程的目标是为AI智能体搭建一个“舞台”,确保它在执行任务前,已经拥有了所有必要的“道具”和“剧本”,使其能够随着时间的推移进行适应并保持连贯性。

这种“环境构建”能力是实现AI智能体长期运行、可靠性和适应性的关键。如果上下文是静态的,智能体就无法在多轮交互或复杂任务中保持连贯性。因此,上下文工程的出现,标志着AI开发思维从“一次性交互优化”向“全生命周期智能体行为管理”的升级。对于开发者而言,这意味着需要将上下文视为一个动态、可编程的资源,而不仅仅是文本输入。

三、Manus团队的实战痛点:那些年我们踩过的“坑”

在构建多智能体协作系统时,Manus团队(以及所有走在前沿的团队)都不可避免地遇到了以下几个“拦路虎”:

上下文广度与相关性的平衡:信息过载与信息不足的困境

在为LLM提供上下文时,开发者面临一个两难选择:提供过少的信息会导致模型信息不足,难以准确理解任务;而提供过多的信息则可能超出LLM的上下文窗口限制,或者稀释重要的细节,导致模型被不相关的token分散注意力。找到最佳的上下文切片始终是一门艺术,需要持续的调整和用户反馈。这就像给一个学生一堆书,但没有明确指出重点,他很可能无法抓住核心。

长期记忆与一致性维护:智能体“健忘症”与“精神分裂”的挑战

LLM天生具有“短期记忆”的局限性,难以长时间跟踪上下文或在扩展交互中保持连贯性。当用户进行编辑或长时间暂停时,维护上下文的一致性是一个巨大的挑战。例如,用户可能会纠正AI(“实际上,那个信息过时了,请使用这个”),系统需要整合新的事实,并可能在后续上下文中移除或降低旧信息的优先级。这种动态更新很难做到完美,有时如果上下文刷新逻辑不健全,AI可能会恢复到旧信息,导致类似“精神分裂”的体验。

“大海捞针”问题:信息量大,但关键信息易被忽略

即使LLM的上下文窗口不断增大,模型也可能出现“迷失在中间”(lost in the middle)的问题,即对上下文开头和结尾的信息记忆更好,而中间部分容易遗忘。这使得在大量信息中精准定位和利用关键事实变得异常困难。

可靠性与成本:幻觉与计算资源的双重压力

LLM的概率性本质导致它们可能产生“幻觉”,即编造不准确的信息。在需要高精度和可重复性的企业环境中,这种不确定性会严重影响对AI智能体的信任。同时,每次LLM调用,特别是涉及长上下文的调用,都意味着高昂的计算成本和潜在的延迟。如何在保证性能的同时有效控制成本,是实际生产中的一大痛点。

LLM固有的概率性、有限的上下文窗口以及处理复杂工作流的困难,是AI智能体在实际部署中出现“幻觉”、高成本和“健忘症”等可靠性问题的根本原因。LLM的这些底层技术特性直接决定了其在实际应用中的表现。概率性意味着无法保证100%的准确性,从而导致幻觉和不可靠。上下文限制则直接导致了记忆问题和处理长流程的困难。这些技术限制并非简单的缺陷,而是LLM架构的固有属性,它们直接转化为部署AI智能体时的“可靠性”和“成本”两大挑战。因此,开发者不能盲目信任LLM的输出,必须通过上下文工程等外部机制来“驯服”其不确定性,并通过优化上下文管理来降低成本。理解这些底层原因,才能设计出更鲁棒的智能体系统。

多智能体协作中的上下文碎片化

当多个智能体协同工作时,如果每个智能体都拥有独立的上下文,信息就容易碎片化。例如,一个子任务分解目标,另一个子任务执行目标,两者都应该能够访问相同的总体指令和相关事实,以避免错位。上下文碎片化会导致协作效率低下,甚至出现任务错位。

随着AI系统从单智能体向多智能体协作演进,上下文管理问题从单一模型的内部挑战,升级为跨模型、跨任务的“信息流转与共享”的系统级挑战,对统一记忆和协调机制提出了更高要求。单个LLM的上下文问题是关于“我能记住多少”,而多智能体系统则引入了“我们如何共享记忆”和“如何保持一致性”的维度。这种从“个体记忆”到“集体记忆”的转变,意味着需要设计更复杂的架构,例如统一的共享内存或通用知识库,以及更精妙的协作机制。上下文的碎片化会直接导致多智能体协作的失败。因此,多智能体系统并非简单地将多个LLM堆叠起来,而是需要一套全新的上下文管理理念。开发者在设计多智能体系统时,必须将“上下文共享”和“统一记忆”作为核心考量,否则将难以实现真正的“集体智能”和高效协作。

四、破局之道:Manus团队的上下文工程“武器库”

面对上述挑战,Manus团队(以及业界领先者)并非束手无策,他们构建了一套强大的“武器库”来应对上下文管理的复杂性:

1. 动态记忆与检索增强生成(RAG):让智能体拥有“外脑”和“知识库”

检索增强生成(RAG)是目前最强大、最广泛采用的为LLM提供长期记忆和外部知识增强的技术。它将对话历史或外部文档视为可搜索的数据库。

工作原理: RAG的核心在于,首先将大量信息(如对话记录、企业文档、网页内容等)转化为“向量嵌入”,并存储在专门的向量数据库中。当用户提出新查询时,系统会根据语义相似性从向量数据库中检索出最相关的文本片段。随后,这些高度相关的片段会被动态地注入到LLM的上下文窗口中,与用户当前的问题一同提交给模型进行处理。

实践效果: 通过动态检索相关信息,LLM的上下文窗口可以保持精炼,只关注最相关的内容,从而大大降低了计算成本和延迟。这就像给智能体配备了一个“完美图书馆员”,总能找到你需要的精准信息,有效解决了“大海捞针”问题和长期记忆不足的问题。

最新进展: 现在的RAG系统已经进化到“智能体RAG”(Agentic RAG),它们展现出更自主和自适应的检索行为。这些系统可以动态决定何时以及检索什么,甚至能够生成假设性回复来引导检索过程,并根据中间结果迭代优化其搜索策略。

2. 对话摘要与实体提取:提炼精华,抓住重点,减轻负担

为了进一步优化上下文并减轻LLM的负担,对话摘要和实体提取是两种非常有效的技术。

对话摘要: 这种直观的方法并非提供完整的对话历史记录,而是在对话进行过程中,由另一个LLM在后台生成对话的简洁摘要。这个摘要可以独立使用,也可以添加到最近几轮对话的前面。对于超长对话,这甚至可以是一个递归的过程,即现有摘要会随着新消息的摘要而更新。这种方法能显著减少需要处理的token数量,从而降低计算成本和延迟,同时还能过滤掉“闲聊”,聚焦核心要点,有助于缓解“迷失在中间”的问题。

实体与偏好提取: 这种方法涉及将用户偏好和关键数据点作为结构化数据进行显式跟踪。一个LLM或另一个自然语言处理模型会专门扫描对话,识别并提取关键的“实体”(如姓名、订单号、用户偏好、既定目标等),并将其存储为结构化格式(如JSON对象或简单的数据库表)。这为关键用户细节提供了高度可靠且简洁的记忆。它能防止上下文漂移和核心事实的误解,确保智能体始终“记得”用户的核心需求,例如“记住,用户的衬衫尺码是L码”。

3. 多智能体间的上下文共享:协作无间,信息流转的艺术

当AI解决方案涉及多个步骤或多个子代理时,在步骤之间共享上下文至关重要。

核心原则: 关键在于“共享上下文,并共享完整的代理跟踪”贯穿整个代理系统。这意味着所有组件都应引用统一的上下文(共享内存或通用知识库),而不是每个组件都有独立的提示。如果一个子任务负责分解目标,另一个子任务负责执行目标,两者都应该能够访问相同的总体指令和相关事实,以避免错位。

实践考量: 许多团队倾向于设计具有连续上下文的单代理或线性设计,而不是碎片化上下文的并行多代理设置。构建一个统一的“共享记忆”层,确保信息在不同智能体或任务步骤之间无缝流转,可以有效避免上下文碎片化,从而实现真正的“集体智能”。多智能体系统通过结合多个代理的能力,力求实现超越个体贡献总和的集体智能。有效的协作机制是实现这一目标的关键,它促使代理之间进行连接、协商、决策和联合行动。

4. 记忆优化与“反思”机制:让智能体学会“思考”和“成长”

为了让智能体拥有更持久、更可靠的记忆,并能够从经验中学习,记忆优化和“反思”机制变得越来越重要。

动态上下文更新: 系统应记住对话早期的关键细节,并整合新信息。这通常包括短期记忆缓冲区(在上下文中保留最近的对话)和长期记忆存储(在数据库或向量存储中持久化重要事实或用户偏好)。

“新近度偏差管理”与“明确记忆结构”: 为了对抗“迷失在中间”的问题,可以采用“新近度偏差管理”,确保重要事实在上下文中重复或固定,并将对话历史存储在外部数据库中作为“明确记忆结构”。

“经验记录与回放”(AgentRR): 这是一种新兴的高级技术,其核心思想是记录智能体与环境的交互轨迹和内部决策过程,将其总结为结构化的“经验”,并在后续类似任务中回放这些经验来指导智能体行为。这种方法使得智能体能够从过去的错误中学习,表现出更强的韧性和适应性。

“反思”与“上下文修复”: 一些高级代理甚至会使用“反思”(AI自我检查已完成的工作)和“上下文修复”(检测和纠正上下文中的不一致)作为其工作循环的一部分,本质上实现了自我修复的记忆能力。

AI智能体的记忆系统正在从预定义、静态的存储结构,向更加自主、动态和自进化的方向发展,即智能体能够根据新经验自主生成、建立和更新记忆连接。例如,A-Mem系统能够自主生成上下文描述、动态建立记忆连接,并根据新经验智能地进化现有记忆。AgentRR则通过记录和回放结构化经验来指导智能体行为。这些方法超越了传统的RAG或摘要,它们赋予了智能体更高级别的“学习”和“适应”能力,使其记忆不再是简单的信息存储,而是能够自我组织、自我完善的知识体系。这种趋势意味着未来的AI智能体将拥有更强的“韧性”和“泛化能力”,能够更好地应对复杂、开放式的任务,而无需人类频繁干预其记忆管理。这预示着记忆管理将成为AI智能体核心智能体现之一。

核心上下文工程策略对比

为了帮助开发者快速理解和选择,以下表格对比了Manus团队可能采用以及业界普遍认可的几种核心策略:

上下文工程的成功,很大程度上取决于其作为“信息检索问题”的有效解决。Taivo Pungas在2023年曾指出:“获取正确的上下文本质上是一个信息检索问题——类似于搜索引擎几十年来所做的事情”。这一观点将上下文工程的底层逻辑与成熟的信息检索(IR)领域联系起来。它表明,即使LLM拥有强大的理解能力,如果输入给它的信息本身是“垃圾”或不相关的,那么输出的质量也无法保证。这意味着RAG等依赖检索的技术,其效果好坏的关键在于检索系统的质量。开发者需要深入理解信息检索的原理,例如如何进行有效的文档分块、如何构建高质量的向量嵌入、如何设计高效的检索算法(如语义搜索),以及如何对检索结果进行排名和过滤。因此,上下文工程不仅仅是关于LLM本身,更是关于如何构建一个高效的“信息管道”,将最相关、最优质的信息以可消化的方式呈现给LLM。这要求开发者具备跨领域的知识,将AI与传统的信息检索技术有机结合,才能真正发挥上下文工程的威力。

五、未来智能体协作的上下文工程展望

从Manus团队的经验和最新的研究趋势中,我们可以看到未来智能体协作中上下文工程的几个关键方向。

1. 上下文金字塔:分层管理,全局优化

“上下文金字塔框架”,它将上下文分为三层:基础上下文(静态知识库)、集成上下文(与动态数据源的连接)和交互上下文(实时提示、对话历史和即时指令)。

这不仅仅是技术的堆砌,更是一种系统性、分层级的架构思想。它意味着一个成熟的AI智能体系统,不会只依赖单一的记忆解决方案,而是会策略性地组合运用各种技术,以实现从底层知识到实时交互的全面、高效的上下文管理。对于开发者来说,这提示我们在设计智能体时要考虑多层次的“记忆”结构,从而更好地平衡上下文的广度、相关性、一致性和成本。

2. “停止提示,开始工程”:上下文即代码

一个振聋发聩的原则:“将提示视为代码,对其进行版本控制、测试和重构上下文的组装方式”。

这句话道出了上下文工程的精髓。它不再是简单的Prompt调优,而是一项严肃的软件工程任务。这意味着我们需要像管理代码一样,对上下文的构建、更新和共享逻辑进行版本控制、自动化测试和持续优化。只有这样,才能确保智能体在复杂、动态的环境中保持稳定和可靠,尤其是在企业级应用中,可靠性和可维护性是至关重要的。

3. 自我修复与动态演进的记忆:向生物记忆学习

A-Mem 和 AgentRR 等前沿研究都在探索让智能体记忆系统具备“自主生成”、“动态建立连接”和“智能进化”的能力。甚至有研究提到通过“反思”(AI自我检查已完成的工作)和“上下文修复”(检测和纠正上下文中的不一致)机制来实现自我修复的记忆。

这预示着未来的AI智能体将拥有更接近生物的记忆能力,能够从错误中学习,自我纠正,并随着时间的推移不断优化其知识组织和检索方式。这会是实现真正通用AI的关键一步,也将大大降低人工干预和维护的成本,使智能体能够更自主地应对复杂和开放式的任务。

给开发者的实用建议

拥抱RAG: 这是当前最成熟、最有效的增强LLM记忆和知识的方法。投入时间去理解和实践RAG的各种优化技巧(预检索、后检索、混合检索等),以提升智能体的知识获取能力和输出质量。

结构化你的上下文: 不要只把文本一股脑丢给LLM。尝试用JSON、XML或其他自定义格式来结构化信息,让LLM更容易理解和利用。结构化信息能够提高模型处理效率和准确性。

分层设计记忆系统: 结合短期记忆(如对话摘要)、中期记忆(如实体提取)和长期记忆(如RAG),构建一个多层次、协同工作的记忆架构。这种分层方法可以更有效地管理不同时间尺度和粒度的信息。

关注多智能体协作的上下文流转: 如果项目涉及多智能体,务必设计统一的上下文共享机制,避免信息孤岛,确保信息在不同智能体或任务步骤之间无缝流转。

持续测试与优化: 上下文工程不是一劳永逸的。利用RAGAS、Promptfoo等工具持续评估上下文质量和模型表现,并根据反馈不断迭代优化。

六、结语:拥抱智能体时代的“记忆”革命

AI智能体正在重塑我们与技术互动的方式,而“上下文工程”正是这场变革背后的无名英雄。Manus团队的经验,以及本文探讨的这些前沿技术和理念,都指向一个核心:让AI智能体拥有更强大、更可靠的“记忆”。

作为开发者,掌握这些“记忆”秘诀,不仅能帮助构建出更智能、更人性化的AI应用,更能在这场AI浪潮中,始终站在最前沿。理解并实践上下文工程,是为AI智能体打造一个永不遗忘、持续进化的“大脑”的关键。

Manus博客:https://manus.im/zh-cn/blog/Context-Engineering-for-AI-Agents-Lessons-from-Building-Manus

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值