当前位置:
AIGC文章详情

张大妈

Manus 上下文工程:应对大模型多工具调用的三大核心策略

源自新浪微博:i陆三金

04-14 22:33

精选参考来源

Langchain 和 Manus 最近搞了个线上分享,Manus 首席科学家季逸超分享了 Manus 的上下文工程典型 Manus 任务会使用 50 次工具调用。若不进行上下文工程,工具调用结果会堆积在 LLM 上下文窗口,导致 LLM 性能下降。Manus 上下文工程三大核心方法:(一)缩减(Reduce):压缩与总结1. 压缩策略:Manus 中许多工具调用有 “完整” 和 “简洁” 两种表示形式。完整版本含工具调用原始内容(如完整搜索结果),存储于沙箱(如文件系统);简洁版本则存储对完整结果的引用(如文件路径)。当智能体接近上下文窗口限制时,Manus 会用策略执行压缩,将较旧工具结果替换为简洁版本,保留较新工具结果完整形式以指导下一步决策,类似 Anthropic 的上下文编辑功能。2.总结策略:当压缩回报递减时,Manus 会基于完整工具结果生成总结,并使用特定模式定义总结字段,为任何智能体轨迹创建一致的总结对象。(二)隔离(Isolate):战略性子智能体设计1. 子智能体设置原则:避免多智能体系统中常见的拟人化分工,因 LLM 无人类认知限制,仅使用少量专门子智能体,包括管理工作的规划器、审查对话并确定文件系统保存内容的知识管理器、委派任务的执行器,以减少智能体间通信难度与通信开销。2. 任务规划方式转变:Manus 最初用 todo.md 进行任务规划,但约 1/3 操作用于更新待办清单,浪费 tokens,后转为子智能体模式,由专门规划器通过函数调用子智能体(执行者)。3. 上下文共享规则- 简单任务(如规划器仅需输出):规划器向子智能体发送指令,类似 Claude Code 的任务工具。- 复杂任务(如子智能体需写入父智能体也使用的文件):规划器与执行器子智能体共享完整上下文,子智能体虽有自身动作空间(工具)和提示词,但会接收父智能体完整上下文(如完整对话历史)。4. 输出规范:规划器定义子智能体的输出模式,子智能体有 “提交结果” 工具,在向规划器返回结果前填充该模式,Manus 通过约束解码确保输出符合定义模式。(三)卸载(Offload):分层动作空间1. 工具使用痛点:构建智能体时,使用大量工具会使工具描述占用宝贵 token,且部分工具(常重叠或模糊)会导致模型困惑;动态检索工具(基于任务索引工具描述并实时获取)若与智能体之前调用工具不同,也可能让模型困惑。2. Manus 分层设计- 函数调用层:十分精简,仅含不到 20 个 LLM 可调用的原子函数,如执行任意 shell 命令的 shell 工具、读写文件的文本编辑器,凭借这些简单通用函数,智能体可执行极广泛操作。- 沙箱层:Manus 将许多操作(如语音工具、MCP CLI 等实用工具,以 shell 命令形式存在)推至沙箱层而非函数调用层。智能体指令仅简要提及可用实用工具,指导智能体通过--help等命令了解工具。3. 文件系统访问:Manus 可访问文件系统,类似 Claude Code,使用glob和grep等基本 UNIX 工具搜索文件系统,不依赖索引或向量存储;但 Peak 提到在企业知识库等大规模文档集合场景中,索引有用,可通过 MCP 连接 Manus。总结:缩减:压缩较旧工具结果(如带文件链接),压缩达收益递减时进行总结。卸载:将工具结果保存到上下文窗口外部(如文件系统),以便按需访问。隔离:将任务委派给有独立上下文窗口的子智能体,依任务复杂度共享指令或完整上下文。链接:rlancemartin.github.io/2025/10/15/manus视频:www.youtube.com/watch?v=6_BcCthVvb8
内容由AI生成

精选参考来源

Langchain 和 Manus 最近搞了个线上分享,Manus 首席科学家季逸超分享了 Manus 的上下文工程典型 Manus 任务会使用 50 次工具调用。若不进行上下文工程,工具调用结果会堆积在 LLM 上下文窗口,导致 LLM 性能下降。Manus 上下文工程三大核心方法:(一)缩减(Reduce):压缩与总结1. 压缩策略:Manus 中许多工具调用有 “完整” 和 “简洁” 两种表示形式。完整版本含工具调用原始内容(如完整搜索结果),存储于沙箱(如文件系统);简洁版本则存储对完整结果的引用(如文件路径)。当智能体接近上下文窗口限制时,Manus 会用策略执行压缩,将较旧工具结果替换为简洁版本,保留较新工具结果完整形式以指导下一步决策,类似 Anthropic 的上下文编辑功能。2.总结策略:当压缩回报递减时,Manus 会基于完整工具结果生成总结,并使用特定模式定义总结字段,为任何智能体轨迹创建一致的总结对象。(二)隔离(Isolate):战略性子智能体设计1. 子智能体设置原则:避免多智能体系统中常见的拟人化分工,因 LLM 无人类认知限制,仅使用少量专门子智能体,包括管理工作的规划器、审查对话并确定文件系统保存内容的知识管理器、委派任务的执行器,以减少智能体间通信难度与通信开销。2. 任务规划方式转变:Manus 最初用 todo.md 进行任务规划,但约 1/3 操作用于更新待办清单,浪费 tokens,后转为子智能体模式,由专门规划器通过函数调用子智能体(执行者)。3. 上下文共享规则- 简单任务(如规划器仅需输出):规划器向子智能体发送指令,类似 Claude Code 的任务工具。- 复杂任务(如子智能体需写入父智能体也使用的文件):规划器与执行器子智能体共享完整上下文,子智能体虽有自身动作空间(工具)和提示词,但会接收父智能体完整上下文(如完整对话历史)。4. 输出规范:规划器定义子智能体的输出模式,子智能体有 “提交结果” 工具,在向规划器返回结果前填充该模式,Manus 通过约束解码确保输出符合定义模式。(三)卸载(Offload):分层动作空间1. 工具使用痛点:构建智能体时,使用大量工具会使工具描述占用宝贵 token,且部分工具(常重叠或模糊)会导致模型困惑;动态检索工具(基于任务索引工具描述并实时获取)若与智能体之前调用工具不同,也可能让模型困惑。2. Manus 分层设计- 函数调用层:十分精简,仅含不到 20 个 LLM 可调用的原子函数,如执行任意 shell 命令的 shell 工具、读写文件的文本编辑器,凭借这些简单通用函数,智能体可执行极广泛操作。- 沙箱层:Manus 将许多操作(如语音工具、MCP CLI 等实用工具,以 shell 命令形式存在)推至沙箱层而非函数调用层。智能体指令仅简要提及可用实用工具,指导智能体通过--help等命令了解工具。3. 文件系统访问:Manus 可访问文件系统,类似 Claude Code,使用glob和grep等基本 UNIX 工具搜索文件系统,不依赖索引或向量存储;但 Peak 提到在企业知识库等大规模文档集合场景中,索引有用,可通过 MCP 连接 Manus。总结:缩减:压缩较旧工具结果(如带文件链接),压缩达收益递减时进行总结。卸载:将工具结果保存到上下文窗口外部(如文件系统),以便按需访问。隔离:将任务委派给有独立上下文窗口的子智能体,依任务复杂度共享指令或完整上下文。链接:rlancemartin.github.io/2025/10/15/manus视频:www.youtube.com/watch?v=6_BcCthVvb8

0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章