子墨: 最近AI圈有个事儿挺有意思的,一家叫 Manus AI 的公司,之前挺火的,突然之间就好像从国内“消失”了。社交账号清空,国行版也停了,很多人都猜是不是“跑路”了。
原野: 嗯,这个传闻确实闹得沸沸扬扬。但就在这个风口浪尖上,他们的联合创始人季逸超,深夜里发了一篇特别硬核的技术博客。这操作就很有意思了,感觉像是想把大家的注意力,从商业八卦上,硬生生拽回到技术本身。
子墨: 对,这篇博客我看了,虽然很多技术细节看得我云里雾里,但感觉他想表达一个核心观点,就是他们把所有的宝都押在了一个叫“上下文工程”的东西上。
原野: 没错,这篇博客的核心,就是对“上下文工程”的全面复盘。它其实回答了一个AI Agent开发领域里最根本的问题之一:我们到底是应该花大力气去从头“训练一个模型”,还是应该聪明地“基于现有大模型的能力去构建”?对Manus来说,这个选择背后,是有惨痛教训的。
子墨: 哦?你刚才提到“惨痛教训”,这听起来就有故事了。这个教训具体是什么?怎么就让他们下定决心,彻底抛弃了传统的开发思路,一头扎进这个“上下文工程”里去了?
原野: 这个就要说到所谓的“遥远的BERT时代”了。那时候,你要是想让模型学点新东西,就得做微调,整个周期动不动就是好几个星期。你想想,在AI这个日新月异的领域,等你几周后把模型调好了,可能整个技术风向都变了。季逸超的上一个创业公司就吃了这个大亏,投了大量资源去训练模型,结果GPT-3和Flan-T5一出来,他们之前所有的努力,用他的话说,“一夜之间变得无关紧要”。
子墨: 我明白了,这就像是你花了一年时间,辛辛苦苦学了一套屠龙之术,结果出门发现,世界上根本没有龙,大家都在用高达了。这种感觉确实挺绝望的。
原野: 就是这个意思。所以新一代大模型带来的“上下文学习”能力,对他们来说就是“来之不易的教训”。他们不希望再把自己的命运和某一个特定的模型深度绑定。博客里有个比喻特别好,他们希望Manus是“上涨潮水中的船,而不是固定在海床上的柱子”。
子墨: 这个比喻很生动。那用一个更日常的例子怎么理解?上下文工程是怎么让这艘“船”变得这么灵活的?
原野: 你可以这么想。训练模型,就像是你自己盖一座房子,从打地基到砌墙,什么都得自己来,房子盖好了,想改个户型就得敲墙,工程量巨大。而上下文工程呢,更像是你在玩乐高。底层的“大模型”就是那些各式各样的乐高积木,它们的能力已经很强了。你的任务不是去制造积木,而是用这些现成的积木,通过巧妙的拼接和设计(也就是调整提示词、构建框架),去搭出你想要的汽车、飞机。明天乐高公司出了新款的、更酷的积木,你直接拿来用就行了,你的作品能立刻升级,而不用把整个房子推倒重来。
子墨: 哦,原来是这样。所以他们能把产品迭代周期从几周缩短到几个小时,就是因为他们不用再“制造积木”,而只是在“玩乐高”。不过,这个“玩乐高”的过程听起来也不简单,博客里还提到了一个词,叫“随机研究生下降法”。这又是什么黑话?
原野: 哈哈,这其实是一种自嘲。它是在模仿机器学习里的“随机梯度下降法”。意思是说,他们探索上下文工程的过程,并没有什么优雅的、直截了当的公式可循。他们也是反复试错,重构了四次Agent框架,手动去调整提示词,凭经验去猜哪个方向可能更好。就像一个研究生在实验室里,摸索着做实验,充满了不确定性。但正是通过这种看起来有点“笨”的方法,他们找到了一个在当下看来效果最好的“局部最优解”。
子墨: 所以说,在AI这个瞬息万变的领域,选择上下文工程,不仅仅是一个技术路线问题,更是一种生存策略。但这只是万里长征第一步,对吧?具体到工程实践上,他们又是怎么“抠细节”,让这个Agent跑得又快又省钱的呢?
原野: 是的,这就涉及到两个更具体,也更关键的技术点了:一个是KV-Cache命中率,另一个是工具的“遮蔽”。这两点,直接决定了AI Agent在真实世界里能不能用,以及用不用得起。
子墨: KV-Cache,这个词听起来就很高科技。它到底是怎么影响成本和速度的?我看博客里说,它能让成本节省10倍,这也太夸张了。
原野: 一点都不夸张。你要知道,AI Agent的工作模式很特殊,它的输入和输出token比例可能高达100比1。也就是说,它在思考和决策时,内部处理的信息量,远大于它最终输出的那一小段话。这里面就有大量的重复信息。KV-Cache就像是大模型的短期记忆。如果每次调用,前面那一大段重复的上下文都能从这个“短期记忆”里直接读取,而不是重新计算一遍,那速度自然就快了,成本也大大降低了。所以季逸超才说,KV-Cache命中率是生产阶段AI Agent“最重要的单一指标”。
子墨: 我明白了,就像我们写文章,如果每次修改一个字,都要把整篇文章从头到尾重新看一遍,那效率就太低了。KV-Cache就是帮你记住“之前看到哪了”,让你直接从修改的地方开始。那他们具体是怎么提高这个“短期记忆”的命中率的呢?
原野: 细节是魔鬼。比如,他们在系统提示里,绝对不会放那种精确到秒的时间戳。因为哪怕只有一个字符不一样,整个缓存就失效了,你那个“短期记忆”就白记了。再比如,他们强调上下文只能“追加”,不能修改。你不能回头去改之前Agent的某一步操作,否则整个调用链的确定性就被破坏了,缓存也会悄悄失效。这些都是他们踩坑踩出来的经验。
子墨: 听起来确实都是细节。那另一个点,“工具遮蔽”呢?我直觉上会觉得,Agent的能力越多越好,动态地给它增加或者删减工具,不是更灵活吗?为什么他们反而要“遮蔽”工具,这听起来有点反直觉。
原野: 这就是理论和实践的差距了。动态增删工具,听起来很美好,但首先,它会破坏我们刚才说的KV-Cache。其次,模型会感到困惑。比如你告诉它之前有个工具叫“计算器”,它用得好好的,后来你把这个工具拿走了,模型可能会产生幻觉,还以为自己有计算器,然后就会出错。Manus的做法不是“移除”工具,而是“遮蔽”。
子墨: “遮蔽”?这又怎么理解?
原野: 就像你给一个机器人一个工具箱,里面有锤子、螺丝刀、扳手。你不是把扳手拿走,而是通过指令告诉它:“现在这个任务,你只能用锤子和螺丝刀,扳手暂时不能用。”工具本身还在那里,只是在特定情境下,模型被限制了选择。他们用一个上下文感知的状态机来实现这个功能,通过“遮蔽token logits”来控制模型,告诉它哪些工具是“可选的”,哪些是“禁用的”。这样既保证了上下文的稳定性,又提升了决策的准确性。
子墨: 我懂了,这是一种更聪明、更稳定的管理方式。这些细节优化,确实体现了对生产环境复杂性的深刻理解。不过,Agent在处理更复杂的任务时,肯定还会遇到更大的挑战吧?比如,上下文窗口再大也总有装满的一天,任务一复杂,它会不会干着干着就忘了自己最初要干嘛了?
原野: 你说到点子上了。这正是Agent面临的另外两大核心瓶颈:记忆的局限性和注意力的涣散。Manus给出的解决方案也很有启发性,他们引入了“虚拟文件系统”作为外部记忆,同时用一个看似简单的“To-Do列表”来持续校准Agent的注意力。
子墨: 虚拟文件系统?这听起来就像是给Agent配了个外接硬盘。它和我们现在说的长上下文有什么本质区别吗?
原野: 区别很大。就算是现在动辄128K甚至1M的上下文窗口,在真实复杂的任务面前,还是不够用。而且上下文越长,成本越高,模型还可能性能下降。Manus的策略是,把文件系统当作“最终的上下文”。比如,一个网页的内容,只要我记住了它的URL,我就可以把具体内容从当前上下文中删掉,需要的时候再通过URL去读取。这就好比我们人类做笔记,我们不会把整本书都背下来,而是记住书名和关键章节,需要时再去翻书。这个文件系统,就成了Agent一个容量无限、永久存在、并且可以自己读写的“外部记忆”。
子墨: 这个思路确实很像人。那“To-Do列表”呢?听起来就像我们平时用的待办事项清单,这也能算是一种技术创新吗?
原野: 创新之处在于它的用法。在一个可能需要几十步才能完成的复杂任务里,Agent非常容易“跑偏”,干着干着就忘了最初的目标。Manus的做法是,让Agent在每一步操作后,都去重写和更新一个叫“todo.md”的文件。这个文件里记录着全局计划和下一步要做什么。这个动作,就等于不断地把最终目标推到模型的“近期注意力”范围里,像一个声音在旁边不停地提醒它:“别忘了,我们的大目标是这个!”
子墨: 有点意思。用一种非常自然语言的方式,去巧妙地操控模型的注意力。这让我觉得,未来的AI Agent可能越来越像一个有“自我管理”能力的个体了。
原野: 是的。季逸超甚至展望,未来如果能把这种基于文件的外部记忆,和现在很火的SSM,也就是状态空间模型结合起来,可能会诞生一种全新的、效率极高的Agent。他认为这可能是“神经图灵机”的真正继承者。
子墨: 听起来非常前沿。从内部上下文到外部文件系统,再到自我提醒的To-Do列表,Manus确实在探索Agent“心智”的边界。不过,我们总希望AI是完美的,但Manus的博客里却提了一个很反直觉的观点,说“错误不是要掩盖,而是要保留”。这是为什么?
原野: 这恰恰是Agent区别于传统软件的核心之一。Agent的运行,本身就是一个不断试错、不断循环的过程,失败是常态,而不是例外。如果你把Agent犯的错、走的弯路都给抹掉了,用他们的话说,就是“移除了证据”,那模型就失去了从失败中学习的机会,它无法更新自己的“内部信念”,下次很可能在同一个地方再摔一跤。
子墨: 这就像我们复盘一样,失败的案例往往比成功的案例更有价值。那他们具体是怎么让Agent从错误中学习的呢?
原野: 他们会把失败的操作、错误的观察结果,甚至是报错信息,都保留在上下文中。这样一来,模型在下一次决策时,就能看到“哦,上次我这么干,结果是错的”,从而调整它的策略。季逸超认为,这种错误恢复的能力,才是“真正Agent行为最清晰的指标之一”。
子墨: 我明白了。但他们还提到了另一个陷阱,说我们常用的“少样本提示”,可能会导致“同质化陷阱”。这又是什么意思?少样本提示不是公认的能提升性能的好方法吗?
原野: 是好方法,但要看怎么用。大语言模型本质上是超级模仿家。如果你给它的上下文里,全都是格式高度统一的“行动-观察”范例,比如你让它审查简历,给的例子全都是“打开简历 - 提取A信息 - 提取B信息”,模型就会陷入一种“节奏”里,盲目地去模仿这个模式,哪怕在某个新情境下,这个模式已经不是最优解了。
子墨: 我懂了,就像教一个小孩做数学题,如果只教他一种解法,他就会路径依赖,碰到变通的题型就傻眼了。那怎么打破这种“同质化”呢?
原野: 答案是引入“多样性”。他们会在上下文里,刻意地引入一些“结构化的变化”。比如,用不同的措辞去描述同一个动作,或者稍微改变一下观察结果的序列化模板,甚至加入一点点格式上的“噪音”。这种“受控的随机性”会打破模型盲目模仿的惯性,迫使它去真正理解任务,而不是只学个表面套路。这就引出了一个很重要的结论:你的上下文越是整齐划一,你的Agent其实就越脆弱。
子墨: 哇,从上下文工程的宏观战略,到KV-Cache和工具遮蔽的微观实现,再到对记忆、注意力和错误的哲学思考,Manus这篇博客真的是干货满满。
原野: 的确如此。我们来总结一下,其实Manus的核心经验可以归结为三点。第一,在AI快速迭代的时代,选择上下文工程,而不是耗时地训练模型,是一种核心的生存策略。第二,要让Agent真正落地,必须深入到工程细节里去打磨,比如我们聊到的KV-Cache、虚拟文件系统和To-Do列表,这些直接决定了成本和效率。最后一点,也是最深刻的一点,Agent的学习过程,需要我们重新定义,要懂得利用失败,并主动引入多样性来避免它陷入模仿的陷阱。
子墨: 所以,Manus AI撤离中国的这起风波背后,季逸超的这篇博客,其实为我们揭示了构建AI Agent真正的难点和核心方法。它提醒我们,AI的未来,可能不完全在于模型参数的无限堆砌,更在于我们如何为它精妙地塑造“记忆、环境和反馈”。从宏观的技术路线,到微观的缓存优化,再到对错误和注意力的哲学思考,这些看似微小,实则深远的工程细节,或许才是通往真正通用人工智能的阶梯。AI Agent的未来,也许就取决于我们如何一次又一次地,对它的上下文进行“精雕细琢”。