
最近真是有点受不了了。
我刷技术社区,到处都是各种花里胡哨的"多智能体协作框架",动不动就给你展示一堆Agent小人儿在那儿开会、分工、并行处理,看起来特别高大上,好像未来已来。

但每当我看到这些,我脑子里就一个念头:哥们儿,你这东西跑过超过五分钟的真实任务吗?能稳定交付吗?
感觉整个行业都魔怔了。这场景让我想起二十多年前,大家刚开始用HTML和CSS搭网页的时候,什么东西都敢往上堆,最后搞出来的东西丑得千奇百怪。现在我们搞AI Agent,就像回到了那个莽荒时代,手里攥着几个强大的LLM,却不知道怎么把它们靠谱地"粘"在一起。React的出现,给前端开发带来了一套哲学,一套心法,才让事情变得井井有条。而在Agent领域,我们现在缺的就是这个。
更要命的是,像OpenAI和微软这样的大厂,推出的Swarm、Autogen之类的框架,还在拼命鼓吹"多智能体"这个概念。恕我直言,根据我们团队在坑里摸爬滚滚的经验,这在现阶段,简直就是通往项目失败的最佳捷径。
如果你只是想搭个玩具玩玩,那无所谓。但如果你想做的是一个能在生产环境里稳定运行、能处理复杂、长周期任务的严肃应用,那咱得好好聊聊了。
问题的核心,其实就俩字:上下文(Context) 。
你可能会说,这不就是"提示词工程 "嘛。不,那是入门级的。我们现在要谈的是"上下文工程"------怎么在一个动态、长期的任务里,自动、智能地管理信息流。这才是构建AI Agent工程师的头号天职。
来,我给你讲个我们都掉进去过的坑。
最常见的一种诱人架构就是:一个主管Agent,接到任务后,把它拆成几个子任务,然后派给几个小弟Agent去并行处理,最后主管再把结果汇总起来。听起来很美好,对吧?效率高,模块化。
现实是:假设你给它的任务是"给我复刻一个Flappy Bird"。
主管Agent想了想,挺聪明地把任务拆了:"小弟A,你去画游戏背景,要有绿色的管子和碰撞区。" "小弟B,你去画那只鸟,要能上下飞。"
然后灾难就开始了。小弟A可能对你的要求有什么误解,吭哧吭哧搞了半天,给你弄了个《超级马里奥》风格的背景。而小弟B,虽然画了只鸟,但那画风跟背景完全不搭,而且飞起来的动作僵硬得像块砖头。
最后,烂摊子甩回给主管Agent。它看着这两坨风格迥异、八竿子打不着的东西,陷入了沉思。它能怎么办?它也很绝望啊。把这两坨屎山代码强行捏在一起?结果可想而知。
你可能会说,这好办啊,把原始任务"复刻Flappy Bird"也告诉每个小弟不就行了?天真了。在一个真实的应用里,任务的上下文是动态变化的。可能在分配任务之前,主管Agent已经跟用户聊了十几个回合,做了一些工具调用,确认了无数细节,比如"我想要像素风格的"、"难度要低一点"。这些琐碎但至关重要的信息,如果不能完整地传递下去,小弟们的工作就是灾难的开始。
所以,我们踩坑得出的第一个血泪教训就是:别只传递消息,要共享完整的上下文,最好是整个任务的"记忆" 。
好,我们改进一下。我们让小弟A和小弟B都能看到彼此的完整工作记录。这下总行了吧?
还是不行!
这次,你可能得到了一个风格统一的像素鸟和像素管道。但小弟A在实现管道滚动时,做了一个隐性决定:游戏画布是1080p的。而小弟B在实现小鸟飞行时,也做了一个隐性决定:画布是800x600的。它们俩谁也不知道对方心里的这点"小九九"。结果呢?鸟飞着飞着,就撞到看不见的墙了。
这就是第二个,也是更隐蔽的坑:每一个动作背后,都藏着无数微小的、隐性的决策。并行工作的Agent之间,这些隐性决策大概率会互相冲突。
这两个原则实在是太重要了,以至于我现在看到任何违背它们的设计,都会下意识地觉得"这玩意儿肯定要出事"。
那到底该怎么办?最简单、最可靠,甚至有点"笨"的方法,就是------只用一个Agent。

是的,你没听错。就一个单线程的线性Agent。让它一步一步地来,先搞定背景,再搞定小鸟。因为所有工作都是它自己一个人干的,所以上下文是连续的,它自己做的所有隐性决策,它自己都一清二楚,绝不会精神分裂。
这种方法虽然不酷,但它能跑起来,能解决问题。对于绝大多数任务来说,这已经足够了。
当然,如果你真的要处理那种巨复杂、巨长期的任务,单线程跑下来上下文窗口都爆了,那确实需要更高级的玩法。我们内部也折腾过一种方案:引入一个专门负责"压缩记忆"的LLM。它的工作不是执行任务,而是像个史官,把前面长篇大论的对话、操作记录、中间产物,压缩成几个关键的决策点和事件摘要,再喂给主Agent。
但这玩意儿搞起来可就费劲了,你需要投入大量精力去调教这个"史官",甚至为它专门微调一个模型。这是一个深不见底的兔子洞(狡兔三窟,🕳️🕳️🕳️🐇)。
说这么多,其实就是想吐槽一下。你看,现在很多产品里都能看到这些原则的影子。比如Claude的代码助手,它有时候也会生成"子任务",

但你会发现,这些子任务通常是去查个资料、回答个问题,说白了,他就是去补充必须的上下文,它绝不会让子任务和主任务并行写代码。为什么?因为它知道,子任务没有主任务那海量的编程上下文,让它写代码只会添乱。
再回想一下2024年那会儿,很多模型编辑代码的能力很差。当时流行一种叫"Edit-Apply"的模式:让一个大模型用自然语言描述要修改什么,再让一个小模型去读懂这段话,然后重写整个文件。结果呢?小模型经常会错意,因为自然语言里的一点点歧义就可能导致错误。现在呢?大家更倾向于让一个模型一步到位,直接输出diff或者重写,因为决策和执行不分离,才最不容易出错。
至于那个终极梦想------让一群Agent像人类团队一样开会、讨论、解决分歧。如果工程师A和工程师B的代码冲突了,他们会坐下来聊,找到一个共识。但现在的Agent呢?你让它们聊,它们大概率会陷入一些毫无意义的细节争论中,直到把天聊死,把上下文窗口耗尽,这就是为什么有人说用 qwen3,一个问题给他干几 M token,吗的,这你受得了。是的它们的沟通效率,比人类差太远了。
所以,我的观点很简单:在2025年的今天,搞多智能体协作,就是一种行为艺术。它的脆弱性,源于决策权的分散和上下文传递的巨大鸿沟。
我们内部开发工具和框架时,会反复强调这些踩过坑换来的原则。但这也不是什么金科玉律,这个领域发展太快了,也许明年我的这些想法就过时了,被新一代更强大的模型给轻松解决了。
但至少在此时此刻,如果你想构建一个真正能用的AI Agent产品,我的建议是:忘掉那些酷炫的"群体智能"吧,先老老实实地,把你的单线程Agent打磨好,让它别在半路掉链子。这比什么都强。