AI Agent 中的上下文工程 (Context Engineering)

AI Agent 中的上下文工程 (Context Engineering)

💡 原文中文,约11800字,阅读约需29分钟。
📝

内容提要

本文介绍AI智能体中的上下文工程,旨在优化大模型信息流,弥补人机“智能鸿沟”。核心应对“上下文腐烂”问题,通过上下文缩减、检索、隔离、卸载及分层行动空间等技术管理信息。Manus采用多智能体架构、文件系统检索和分层工具设计,强调简化优于过度工程,以保持系统灵活性和未来适应性。

🔎

延伸解读

上下文腐烂:长上下文的隐性瓶颈

文章指出,即使模型宣称支持百万级token,实际有效上下文往往远小于此。当上下文超过128K-200K的“腐烂阈值”后,模型对远端信息的利用能力急剧下降。这意味着,单纯依赖扩大上下文窗口并不能解决智能体的信息管理问题,必须通过检索、压缩等技术确保关键信息始终处于有效感知区域内,否则重要信息可能在长对话中失效。

压缩与摘要:可逆与不可逆的取舍

Manus将上下文缩减分为压缩和摘要两种方式。压缩是可逆的,通过将可从外部状态重建的信息(如文件路径)剥离,不丢失任何信息;而摘要不可逆,需谨慎使用。Manus在摘要前会先卸载关键上下文到文件,并保留最后几次工具调用的完整细节,同时采用结构化模式而非自由提示,以提高摘要的稳定性和可控性。这种区分有助于在信息保留与上下文节省之间取得平衡。

分层行动空间:避免工具过多导致的混乱

当集成MCP等大量工具时,工具本身会占用上下文并可能导致“上下文混淆”,模型可能调用错误或不存在的工具。Manus采用分层行动空间:第一层仅保留10-20个原子函数,第二层利用沙盒中的命令行工具,第三层通过Python脚本调用API。所有操作最终都通过少数核心函数执行,从而为模型维护简单、缓存友好的接口,平衡了安全性与灵活性。

简化胜于过度工程:架构的未来适应性

Manus强调,最大的进步往往来自简化,而非增加复杂性。他们通过固定架构、切换不同模型来评估未来适应性,并避免过早进行模型微调,因为技术快速迭代可能使专门化模型过时。这种策略让产品保持灵活性,同时通过无参数在线学习(如利用用户反馈)实现自我改进,而非依赖强化学习,因为后者在非固定行为空间中难以设计有效的奖励函数。

Q&A

什么是上下文工程?为什么它对AI智能体很重要?

上下文工程是优化AI智能体中大型语言模型信息流的技术,旨在弥补人机之间的“智能鸿沟”。它通过构建知识库、维护记忆系统、部署RAG检索、集成外部工具等方式,将高熵的碎片化信息转化为低熵的结构化上下文,让机器更好地理解人类意图。对AI智能体而言,它有助于应对长交互中的“上下文腐烂”问题,提升系统性能和准确性。

什么是上下文腐烂?它如何影响AI智能体的性能?

上下文腐烂是指在长上下文场景中,当上下文窗口超过某个阈值(如128K-200K token)后,AI模型对远端信息的理解和利用能力急剧下降的现象。这会导致即使模型支持百万级token,实际可用的有效上下文远小于此,从而降低智能体的效率和准确性。

上下文缩减中的压缩和摘要有什么区别?Manus如何应用它们?

压缩是可逆的,将可从外部状态重建的信息(如文件路径)从上下文中剥离,不丢失信息;摘要是不可逆的,用于浓缩信息。Manus在上下文接近腐烂阈值时先触发压缩,当压缩收益微小时转向摘要。压缩时可能压缩最旧的50%工具调用,保留较新的完整细节;摘要时使用完整数据,并保留最后几次工具调用的完整细节以保持连贯性。

Manus为什么在上下文检索中优先使用文件系统工具(如grep)而不是向量索引?

因为Manus的沙盒会话是瞬时的,每次会话都是全新环境,没有时间动态构建索引。基于文件的命令行工具(如grep、glob)更高效,且纯文本格式利于行级搜索。对于需要长期记忆或大型企业知识库的场景,外部向量索引仍然必要。

Manus的多智能体架构如何实现上下文隔离?

Manus采用两种隔离模式:通信模式适用于简单任务,子智能体上下文仅限于指令;共享上下文模式适用于复杂任务,子智能体可访问完整历史。系统由通用执行器、规划器和知识管理器组成,大多数子任务通过“智能体即工具”范式实现,子智能体封装为工具,通过定义输出模式和“提交结果”工具确保结构化输出。

什么是分层行动空间?它如何解决工具过多导致的上下文混淆?

分层行动空间将工具分为三层:第1层是10-20个固定的原子函数(如读写文件、执行shell命令),保持核心层简洁;第2层是沙盒中的命令行工具,通过系统提示告知模型;第3层是Python脚本调用API或自定义包。这样将大量工具卸载到外层,避免核心函数调用层混乱,减少上下文混淆。

Manus如何管理长期记忆?

Manus采用显式的“知识”概念,需要用户确认才能将信息(如偏好设置)存入长期记忆。例如,用户告诉Manus每次以Excel格式交付结果,系统会弹窗询问是否接受为长期知识。同时,系统探索利用集体用户反馈进行无参数的在线学习,实现自我改进。

Manus如何评估其智能体架构的未来适应性?

Manus固定智能体架构,然后在不同模型(从弱到强)之间切换。如果架构从较弱模型切换到较强模型后获得巨大提升,则说明架构更具未来适应性。Manus每隔一两个月进行一次架构审视,并经常内部试用开源或专有模型。

Manus在安全方面采取了哪些防护措施?

Manus在沙盒环境中阻止信息泄露(如Token)到沙盒之外,并对出站流量进行检查。对于浏览器或沙盒内的敏感操作(如登录持久化),要求用户手动确认或接管,因为网页内容可能存在提示注入风险。Manus与模型提供商合作增强防护,并倾向于让用户在敏感操作时接管。

Manus为什么倾向于简化而非过度工程?

Manus认为最大的进步往往来自于简化——移除不必要的复杂性,并给予底层LLM更多信任。上下文工程的真正艺术在于在性能、成本、延迟、可逆性等目标间找到平衡,追求更简单、更稳定、更智能的架构。总结为“少做加法,多做理解”。

🏷️

标签

➡️

继续阅读