news 2026/6/14 20:05:27

Manus与LangChain智能体实战经验!DeepMind工程师的上下文工程哲学

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Manus与LangChain智能体实战经验!DeepMind工程师的上下文工程哲学

随着大模型能力的边界不断拓展,我们构建智能体的方式正在经历一场静悄悄却剧烈的范式转移,核心不再是堆砌更复杂的提示词,而是学会如何优雅地让路。

Google DeepMind 工程师 Philipp Schmid,总结了 Manus 创始人 Peak Ji,LangChain 的工程师 Lance Martin 的实战经验,以及最新的行业研究,深度剖析了上下文工程(Context Engineering)的核心逻辑。

这并非一篇枯燥的技术文档,而是一份关于如何在六个月内通过五次代码重构,从复杂性泥潭中杀出重围的工程手记。

真正的智慧在于删繁就简,在于对抗模型的遗忘,在于用最精确的通信替代冗余的共享。

对抗上下文腐烂(Context Rot)

在探讨具体战术之前,我们需要重新审视我们手中的工具。

大语言模型并非全知全能的神,它更像是一个拥有惊人推理能力但短期记忆极度脆弱的大脑。

为了让这个大脑在复杂的现实任务中发挥作用,我们需要构建一套被称为智能体线束(Agent Harness)的软件系统。

线束之于模型,如同缰绳之于赛马。

它包裹着模型,管理着消息的历史循环,处理工具调用的执行逻辑,并负责所有的上下文逻辑。

在这个层面上,开发者不再仅仅是提示词的编写者,而是系统架构师。

我们面临的挑战不再是如何让模型说话,而是如何防止上下文腐烂(Context Rot)。

上下文腐烂是一个隐蔽的系统性风险。

许多模型宣称拥有百万级的上下文窗口,这让开发者产生了一种错觉,以为可以无限制地向模型灌输信息。

事实并非如此。

模型的有效上下文窗口往往远小于其标称上限,通常在 256k Token左右达到性能峰值。

一旦超越这个界限,即便未触及硬性上限,模型的推理能力也会断崖式下跌。

更致命的是上下文污染与混淆。

过多的无关信息如同噪音,淹没了关键指令;复杂的工具定义让模型在指令与数据之间迷失。

Manus 团队在半年的开发周期里,五次推倒重来,最终悟出的真理令人警醒:随着模型变得越来越强大,我们不应该搭建更复杂的脚手架,而应该学会做减法。

为了维持 Agent 的长期运行,我们必须学会遗忘。

但这并非盲目的删除,而是一场关于信息压缩的精细手术。

Manus 团队将上下文缩减策略提炼为两个核心维度:紧凑化(Compaction)与摘要化(Summarization)。

紧凑化是首选策略,它的核心价值在于可逆性。

在智能体与其环境的交互中,大量信息其实是冗余的。

当一个编程智能体刚刚编写并保存了一个 500 行的代码文件,在聊天记录中保留这 500 行代码就是对上下文资源的极度浪费。

系统应当做的是将这部分内容替换为文件已保存至 /src/main.py的路径信息。

这种处理方式极其高明。

它将庞大的文本内容卸载到了外部存储中,仅在上下文中保留了索引。

模型并没有真正遗忘这部分内容,它只是知道内容在哪里。

如果未来的任务需要读取代码,模型随时可以调用工具将内容重新加载回上下文。

这种以路径代内容的策略,在不损失任何信息精度的前提下,极大地释放了宝贵的注意力窗口。

当紧凑化仍不足以应对上下文压力时,摘要化作为一种有损压缩手段才会登场。

但这其中隐藏着一个极易被忽视的细节:节奏(Rhythm)。

许多开发者在使用摘要功能时,倾向于将所有历史交互一刀切地压缩成一段文本。

Manus 的经验表明,这种做法会破坏模型的惯性。

模型在生成输出时,很大程度上依赖于最近几次交互的格式和风格。

如果历史记录被完全抹平为一段枯燥的摘要,模型往往会丢失原有的输出格式,导致性能降级。

因此,正确的摘要策略应当是掐头去尾留中间。

将久远的历史总结为结构化的 JSON 数据,但必须保留最近几轮(例如最后 3 轮)工具调用的原始、全细节格式。

这就像是在接力赛中,虽然我们不再关注起跑时的姿势,但必须保持交接棒瞬间的速度和节奏。

优先级链条由此确立:首选保留原始数据,次选可逆的紧凑化,最后才是带有节奏保护的摘要化。

每一步都是为了在有限的窗口内,压榨出最高的智能密度。

隔离与通信:多智能体的协作哲学

当我们从单一智能体走向多智能体(Multi-Agent)系统时,架构设计的复杂度呈指数级上升。

一个最直观但错误的直觉是:让所有子智能体共享同一个庞大的上下文。

这种大锅饭式的内存共享看似高效,实则灾难。

它不仅带来了巨大的 KV-Cache(键值缓存)计算惩罚,增加了推理成本,更严重的是导致了严重的上下文污染。

想象一下,一个负责搜索网页的智能体,真的需要知道负责写代码的智能体之前的调试报错信息吗?这些无关信息只会成为干扰决策的噪音。

Manus 在这里借鉴了 Go 语言(GoLang)并发编程的经典格言:通过通信来共享内存,而不要通过共享内存来通信。

在智能体架构中,这意味着我们需要对任务进行严格的离散化处理。

对于输入输出明确的任务,例如在文档库中检索特定条款,系统应当启动一个全新的子智能体。

这个子智能体拥有一个完全空白的上下文,除了明确的指令外,不携带任何历史包袱。它就像一个被临时雇佣的特种兵,任务单纯,执行高效。

只有在处理极其复杂的推理任务,比如需要根据之前的长篇对话历史来调试代码逻辑时,我们才谨慎地选择共享上下文。

在这种视角下,共享上下文不再是默认选项,而是一种需要极力避免的昂贵依赖。

每一次分叉上下文(Forking Context),本质上都是在增加系统的熵,破坏缓存的连续性。

这种隔离机制不仅提升了各个子智能体的专注度,也让调试变得更加容易。

因为每个智能体的输入和输出都是清晰界定的,开发者可以像测试独立函数一样测试每个智能体的表现,而不必在庞大的对话历史中寻找故障的根源。

扁平化的行动空间:像程序员一样思考

工具是智能体的手脚。

给予模型何种工具,直接决定了它的行为模式。

这里存在一个误区:给模型提供尽可能多的工具,让它自己选择。

实验数据表明,当工具数量超过 100 个时,模型不仅会出现选择困难,更会产生严重的幻觉,开始捏造参数甚至调用不存在的工具。

为了解决这一问题,Manus 提出了一套层级化的行动空间(Hierarchical Action Space)设计方案。

这一方案将工具分为三个层级,构建了一个金字塔式的能力结构。

位于塔尖的是原子层(Atomic Level)。

这一层仅包含约 20 个最核心的工具,如文件读写、浏览器导航、搜索等。

这些工具是智能体生存的基础,必须保持高度的稳定性和通用性。

由于数量少且定义清晰,模型对这些工具的掌握程度极高,几乎不会出错。

位于中间的是沙盒实用程序(Sandbox Utilities)。

这是该架构最精彩的部分。

不要为每一个命令行工具(如 grep, ffmpeg, git)单独定义一个 LLM 工具。

相反,我们应该教会模型使用 Bash。

Manus 定义了类似mcp-cli <command>的通用接口,将具体的工具定义排除在上下文窗口之外。

这意味着,模型不再需要学习成百上千个特定工具的 API,它只需要学会像人类程序员一样,在终端中输入命令。

这不仅极大地减少了上下文的占用,更赋予了模型无限的扩展性。

只要是终端能运行的命令,模型就能使用,而无需重新修改工具定义。

位于底层的是代码/包层(Code/Packages)。

对于复杂的逻辑链条,比如获取城市列表 -> 遍历查询 ID -> 获取天气数据,我们不应让 LLM 通过三次往返对话来完成。

这太慢,且容易在中间环节出错。正确的做法是提供封装好的 Python 库,让 Agent 编写一个动态脚本,一次性执行完毕。

通过这种层级划分,我们将模型的认知负担降到了最低。它只需要在原子层做高层决策,在沙盒层调用通用能力,在代码层处理复杂逻辑。

Agent 即工具:去拟人化的组织架构

在设计多智能体系统时,我们很容易陷入拟人化的陷阱,设计出复杂的科层制组织架构:经理 Agent 指挥小组长 Agent,小组长 Agent 指挥执行 Agent。

这种层层汇报的机制在人类社会中或许有效,但在 AI 系统中却是效率的杀手。

Manus 的第五次重构得出结论:不要过度拟人化。Agent 即工具(Agent as Tool)才是最高效的模式。

对于主模型而言,制定计划或深度研究不应该是一个需要通过对话来协商的同事,而应该仅仅是一个被调用的函数。

当主 Agent 需要规划时,它调用call_planner(goal="...")

线束在后台启动一个临时的规划子智能体,完成任务后返回一个结构化的 JSON 对象,而不是一段啰嗦的自然语言对话。

这种模式实际上是 MapReduce 思想在 Agent 领域的投射。

主 Agent 将任务分发(Map)给子 Agent,子 Agent 在独立的上下文中并行处理,最终将结果汇总(Reduce)返回。

整个过程对主 Agent 是透明的,它看到的只是一个函数调用的输入和输出。

这极大地扁平化了系统的复杂性。

数据在不同模块间的流转不再依赖于模糊的自然语言理解,而是变成了精确的结构化数据传递。

系统不再需要解析好的,老板,我这就去办这样的废话,而是直接处理{"status": "success", "data": {...}}

苦涩的教训与最佳实践

在工程落地的深水区,Philipp Schmid 总结了一系列血的教训。这些经验不仅是技术指南,更是对 AI 发展规律的深刻洞察。

绝不要使用 RAG(检索增强生成)来管理工具定义。

这种做法听起来很诱人:根据当前任务动态检索最相关的工具。

但在实践中,这会导致工具列表在不同轮次间跳变,打破 KV 缓存,让模型产生精神分裂般的幻觉。

工具集应当是像基石一样稳定且明确的存在。

重读苦涩的教训(The Bitter Lesson)。

不要试图通过微调模型来获得短期优势,也不要针对特定的动作空间过度训练强化学习(RL)策略。

你今天辛苦获得的 5% 性能提升,很可能会被明天发布的下一代基础模型轻松碾压。

上下文工程应当是一个灵活的接口,旨在适应基础模型能力的提升,而不是将自己锁死在某个特定的模型版本上。

我们构建的是系统,而不是补丁。

建立严格的预腐烂阈值(Pre-Rot Threshold)监控。

如果你的模型上限是 100 万 Token,不要天真地等到 99 万时才开始处理。

性能的衰减往往在 256k 甚至更早的时候就已经开始。

开发者必须实时监控 Token 计数,在系统进入腐烂区之前,主动触发紧凑化或摘要化循环。

最后,通过实习生测试(The Intern Test)来验证系统。

放弃那些主观的、基于 LLM 打分的基准测试。

你应该关注那些计算可验证(Computationally Verifiable)的任务:生成的代码能编译通过吗?执行的命令产生了预期的文件吗?

在真实环境中,二进制的成功/失败指标远比看起来写得不错要有价值得多。

回顾这段技术演进,最令人深思的并非那些被添加的功能,而是那些被剔除的冗余。

Manus 删除了动态工具定义,拥抱了通用的 Shell;删除了繁琐的管理层级,采用了函数式的调用。

这正是上下文工程的终极奥义:在这个算力与智能爆炸的时代,我们构建的系统不应成为模型的束缚。

真正的工程智慧,在于寻找完成任务所需的最小有效上下文(Minimal Effective Context)。

就像米开朗基罗面对大理石时所做的那样,去掉多余的部分,剩下的就是艺术。

参考资料:

https://www.philschmid.de/context-engineering-part-2

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/14 3:30:44

PDF vs PDF/A:区别、场景与常用转换方法(2025 全面解读)

在日常工作中&#xff0c;我们已经习惯把合同、制度文件、学术报告、技术资料都保存成 PDF 格式。但当文件需要 长期保存时&#xff0c;普通 PDF 可能会出现一些问题&#xff0c;例如&#xff1a;字体无法正常显示、跨设备排版错乱、使用浏览器打开却提示错误、甚至几年后再打开…

作者头像 李华
网站建设 2026/6/14 15:56:28

【期末复习01】-算法题 ProgramDesign

文章目录文章介绍项目结构1.案例Algorithm012.案例Algorithm023.案例Algorithm034.案例Algorithm045.案例Algorithm05文章介绍 期末复习重点案例&#xff08;算法题&#xff09; 项目结构 1.案例Algorithm01 要求&#xff1a;使用冒泡排序算法对数组a{9, 7, 4, 6, 3, 1,10}&…

作者头像 李华
网站建设 2026/6/14 5:34:30

GPT-5.2:创意行业的新时代,还是让创作者焦虑的未来?

AI将会是创作的伙伴&#xff0c;还是威胁&#xff1f; 最近&#xff0c;GPT-5.2的发布可谓引起了不小的轰动。作为OpenAI的一项重大更新&#xff0c;GPT-5.2不仅在文本生成方面有了显著的提升&#xff0c;还开始深入到创意产业的各个角落&#xff1a;写作、设计、音乐、艺术&am…

作者头像 李华
网站建设 2026/6/15 13:05:05

构建能访问k8s集群的容器

一.背景Kubernetes&#xff08;K8s&#xff09;作为容器编排的事实标准&#xff0c;已成为企业云原生架构的核心底座&#xff0c;承载着微服务、大数据、AI 应用等各类容器化业务的部署与运维。在这一体系中&#xff0c;“构建能访问 K8s 集群的容器”&#xff08;即容器内进程…

作者头像 李华
网站建设 2026/6/12 17:54:11

GEO 实用技巧指南

随着生成式人工智能&#xff08;Generative AI&#xff09;将检索与大语言模型结合&#xff0c;用户越来越多地通过 ChatGPT、Gemini、Bing Chat 等工具直接获得答案&#xff0c;而不再点击传统搜索结果。Seshes.ai 的研究指出&#xff0c;生成引擎&#xff08;Generative Engi…

作者头像 李华
网站建设 2026/6/10 17:50:51

Hilo扩展机制实战:5个核心技巧打造高效游戏引擎

Hilo作为阿里巴巴开发的跨端HTML5游戏开发解决方案&#xff0c;其强大的扩展机制为开发者提供了极大的灵活性。在游戏开发过程中&#xff0c;我们经常需要为引擎添加自定义功能来满足特定需求。本文将深入探讨Hilo扩展机制的实战技巧&#xff0c;帮助你快速掌握如何为框架添加自…

作者头像 李华