跳到主要内容

我为什么开发 xAgent

· 阅读需 14 分钟

2025 年 4 月,我开始写 xAgent。

那时候想得比较直接,就是想做一个任务型 Agent,让 AI 能自己把任务跑起来,实现真正的自动化。现在回头看,这句话说起来很简单,但后面这一年多做的事情,基本都在给“自己把任务跑起来”这几个字填坑。

最早做的是单体 Agent。很快我就发现,单体 Agent 有一个很麻烦的问题:提示词的关注点一旦集中起来,它做某一类任务确实会很好,但换一类任务就可能做得稀烂。你给它补这边,它就忘了那边;什么都想让它兼顾,最后又什么都顾不好。

所以后来开始做多 Agent,让不同的 Agent 各自处理自己更擅长的部分,再互相配合。思路是对的,跑起来以后新的问题也很直接:Token 太贵了。

我当时买了一张 48G 显存的 4090 魔改卡,想着自己跑开源模型。卡买回来以后,Token 的问题暂时没那么突出了,小模型不够聪明的问题又摆在眼前。那时还是 Qwen3.0 的时代,本地模型和顶级模型的差距很明显,特别是任务一长,漏步骤、跑偏、不听指令,什么情况都可能发生。

我没有往买更多高智商 Token 的方向走。不是说顶级模型不好,最现实的原因还是我没那么多钱。多 Agent 一旦真的持续跑起来,订阅里那点额度根本不够用。继续加钱当然可以解决,但我负担不起,对大多数个人和小团队来说,这大概也不是一个能长期维持的办法。

也正是因为没钱,我开始认真想一个后来一直影响 xAgent 的问题:一个预算有限的小团队,能不能不靠一直烧顶级模型,也把智能体真正用起来,既控制住成本,又尽量把任务做好?要做到这件事,模型可以没那么聪明,但系统得想办法让任务继续下去,别跑着跑着就散了,也别错一步以后一路错到底。

后面几个月基本都在反复试。不同的任务,不同的模型,不同的上下文组织方式,失败了再改。到 2025 年 8 月,算是拿出了一个初代版本。

差不多也是这个时候,我夫人也开始用智能体。我突然觉得,既然家里已经不止一个人要用,那干脆做成多用户的,放到服务器上。这个决定后来对 xAgent 的影响很大。很多今天看起来像是产品定位的东西,其实一开始就是从一个很朴素的需求来的:我们两个人都要用,我不想每台电脑各装一套、各维护一套。

我后来慢慢意识到,我和很多人对 Agent 的理解可能从根上就不太一样。

现在大家基本都把 Agent 当助手看。助手是人在工作的时候叫过来帮一下,帮忙找资料、改文档、写代码,人停下来,它的工作通常也就停了。但我从一开始更愿意把 Agent 当成一个同事,或者一个下属。

这不是说它可以代替人做决定,也不是把它当成人。我说的是做事的关系:我把目标交给它,它先自己往下做,遇到问题回来问,需要确认的时候等我确认,做完以后把结果交回来。我不想一直坐在旁边,一步一步告诉它接下来点哪里、做什么。

因为是这样看 Agent,我关心的东西也不太一样。我会关心任务中断以后能不能继续,做错了能不能拉回来,哪些事情它必须回来问人。xAgent 看起来还是一个聊天界面,但用户说完那句话,任务可能才刚刚开始。后面要查资料、处理文件、调用工具,也可能要等外部消息回来以后再继续。任务还可以由定时器或者其他系统触发,这些事情没有必要绑在用户的电脑上。

桌面端 Agent 当然有它的好处。它离用户近,操作本机也方便,用来协助眼前的工作很合适,也不是不能做自动化。但一旦真的让它长时间跑,很多跟 AI 本身没关系的问题都会冒出来。电脑晚上关不关机,系统会不会休眠,磁盘还有没有空间,性能够不够,坏了怎么恢复,文件怎么备份,这些都要处理。

所以在我看来,桌面端和服务端不只是安装位置不同,它们背后其实是两种思路。桌面端更像跟着一个人工作的助手,服务端要考虑的是任务能不能一直跑、几个人怎么一起用、出了问题谁来维护。也是在这个阶段,我开始有了把 xAgent 商业化的想法。

后面又加了很多适配和硬编码的护栏。有些东西写出来不漂亮,但对小模型确实有用。一直到 2026 年 3 月,我才觉得它勉强可以拿出来给别人用,这就是第一个公开版本 0.0.4.beta

版本公开以后,我和一些朋友、潜在用户聊了不少。大家经常问:“你这个和 Codex、OpenClaw 有什么不一样?你的优势是什么?”

我一开始会讲安全、审计、多用户、团队维护这些东西。这些确实是 xAgent 的优势,但聊多了以后我也发现,大部分用户并没有那么关心。至少在现在这个阶段,大家先看的是好不好用,能不能把手上的事情做了。至于背后的维护成本和模型费用,只要账单还不大,通常不会成为他们选产品时最先考虑的问题。

现在很多人用 AI,也就是处理一点文档,研究点东西,一天实际消耗不了多少,而且大多还是自己付钱。公司如果只是给员工配一点办公用的额度,成本可能也不会太夸张。

但如果以后真有一家公司,所有人每天超过一半的工作都在用 AI,那张账单一定会很吓人。AI 用得越深,这越不会只是技术部门的问题,每家公司都要算这笔账。

还有一类公司,出于合规和隐私的要求,只能用本地算力。这个场景我接触下来,问题反而更明显。

现在很多 Agent 产品在开发和演示时用的都是顶级模型。模型足够聪明,系统里不少问题会被它自己兜住。以前最常见的幻觉,在现在的顶级模型上已经少了很多,但在小模型上仍然很常见。除了幻觉,还有指令遵循、长任务保持、工具使用,里面其实有很多坑。

我见过一些公司买机器买得很早,最后机器放在那里吃灰。买之前看的演示是用顶级模型跑的,效果当然好。真正用起来,因为成本或者合规,只能换成本地模型,然后就发现完全不是一回事。简单问答还能做一点,长任务、资料收集和研究、文件处理、连接内部系统分析数据,基本都做不起来。最后机器买了,智能体也上了,但没有人真的拿它干活。

我不想说 xAgent 已经把这些问题全解决了,这不现实。开发 xAgent 时我自己用 Codex 写代码,但任务测试基本一直放在 Qwen3.0 到 Qwen3.6 的 27B 系列上,也试过一些更低版本和变种。长任务大体是能跑下来的,结果肯定会有偏差,但从实际使用来看,我觉得和主流顶级模型的差距没有大到完全不能接受,至少已经到了可以用的程度。

流程稳定一点以后,我就开始继续抠成本。

先做前缀缓存,再一点点精简提示词。能固定的流程就做硬编排,模型跑偏了要能拉回来,记忆也不能什么都往里塞,要提炼、合并,用的时候再拿出来。很多改动单独看都不大,最后是这样一点一点把结果往上推的。

0.0.10.beta,提示词从最早大概 20K 降到了 5K 左右,任务的稳定性和准确性反而比以前好了不少。当然这个事情不太好量化,而且模型自己也一直在升级。模型变聪明,结果自然会变好,不能全算成系统的功劳。但同一个模型放在不同的 Agent 系统里,最后能不能把长任务做完,差别还是很明显的。

服务端多用户还有一个绕不开的问题,就是连接外部系统。

桌面端可以让每个人拿自己的 Token 去配 MCP,xAgent 很难照着这个方式做。它跑在服务器上,又有多个用户,授权放在哪里、模型能看到什么、外部消息怎么找到正确的人,都是问题。所以后来我做了连接器体系。这个设计到现在我还是挺满意的。

连接目标系统的授权统一放在服务器管理,模型只管使用,不需要知道真实的授权信息。连接器也不只是提供几个工具,它还可以主动接收信息。比如微信有人发来一条消息,连接器收到以后,会把它交给这个用户名下专门处理微信消息的 Agent。用户不需要先打开 xAgent,再把消息复制进去。

有人说这些在桌面端都是基本功能。这话也没错。只是当连接的系统多起来,而且它们都会主动回传消息时,问题就不只是“能不能收到”了。这些消息是排队还是并发?电脑关机的时候怎么办?桌面端退出了还处理不处理?重新开机以后,前面的消息丢没丢?

我做连接器,很大一部分就是在补这些事情。我希望 Agent 的运行不依赖用户当时是不是在线,但它又不能脱离人的管理。人可以不盯着它每一步怎么跑,但应该知道它在做什么,重要的动作也应该由人来决定。

再往后做,就会碰到 AI 工作流这个方向。现在很多工作流产品是把流程固定下来,确定性比较高,但也有开发周期。开发的人和真正使用的人经常不是一拨,等到流程上线,需求可能已经变了。以后流程再调整,又得重新开发。

xAgent 还是从 Skill 出发。Skill 里把一类事情怎么做写清楚,Agent 再根据当前任务自己制定计划。特别固定的部分可以硬编排,但整个任务不需要一开始就被画成一张不能变的流程图。我想保留的是这种弹性:方法可以沉淀下来,任务变了以后也不用整套推倒重来。

做到 0.0.10.beta,我觉得 xAgent 已经是一个相对完整、也比较稳定的版本了。现在我每天就在用 27B 的模型跑任务。它会通过微信给我发行业新闻摘要,也会做行业调研、从网上收集信息、写报告。这些事情不再是为了演示专门准备的任务,而是真的每天在用。

接下来要补的是知识库,这也是我认为 xAgent 现在剩下的最后一块短板。目前大概已经做了 30%,整体架构以及分片、索引、图化这些逻辑都已经考虑清楚,剩下主要是编码和测试,应该不会花太长时间。

知识库做完以后,xAgent 的主体架构基本就定下来了。我不准备再频繁做大的调整,只会保持很小的改动。后面的重点是给它增加更多“手和脚”:连接服务器做自动运维,连接手机操作 App,参与电商、自媒体、投资、量化这些自动化运营,也可以去训练模型。训练模型在我看来其实也是自动化的一部分。

做着做着,我也会想,智能体再往后发展,最后会变成什么样。

我不觉得它能替人做决定。人来想做什么,定方向,最后拍板,智能体补上人不会的东西,再把大量具体工作做掉。我理解的共生关系大概就是这样。

现在这个阶段有点像欧洲工业化早期,马车和蒸汽机还在一起跑。很多人担心智能体会取代人的工作,我觉得它最先拿走的会是重复劳动。人腾出来的时间可以拿去做规划,也可以多试几个原来不敢试的想法。以前一件事要几个月才能看到结果,现在也许几天就能验证,有些甚至能缩短二十倍、几十倍。决定还是人来做,但做决定的代价会低很多。

具体会怎么落地,我现在也没完全想明白。至少有一点可能跟很多人的想象不太一样:智能体越能干,人与人之间的协作不一定越多,反而可能越少。一个人带着几个智能体,就能接走过去分散在几个人、几个岗位上的工作。团队会变小,每个人管的事情会变多,人和人之间需要来回沟通的地方也会少。

日常办公辅助应该会很快走到这一步。假如一个岗位里 90% 的工作都能交给智能体,原来十个人的团队还会不会留下十个人?站在公司的角度,很可能只需要一两个。这对打工人不是好消息,但我觉得是很难躲开的趋势。以后真正紧俏的,可能是那些什么都懂一点、能做判断,也知道怎么带着智能体做事的人。

写业务系统也一样。以后做这件事的未必只是程序员,公司的员工可以直接让智能体给自己写工具,因为他们最清楚每天的工作缺什么。现在 Coding 需求这么大,也可能只是过去的软件发展得还不够快,大量很具体的业务需求一直没人顾得上。等这些缺口补得差不多了,同一类需求自然会减少。到那时,做个系统可能就像今天做张表格一样,不是什么值得专门拿出来说的事。

这些说到底还是在省钱、提效。我更关心的是,能不能用智能体做出新的业务。

智能体以后能走多远,很大程度上取决于人还能想出多少新东西。模型会继续变聪明,但模型不会自己告诉我们什么生意值得做,什么需求值得解决。那些过去成本太高、规模太小、做了不划算的事情,现在可能可以重新算一遍。智能体负责把想法更快做出来,把试错的成本降下来,但最开始那个念头还是得人来想。

我现在大概能想到的,是公司的人会越来越少,AI 用得越来越多。一个人管着一组智能体,智能体再根据任务去构建新的智能体,二十四小时不停地工作。人不参与每一个步骤,但仍然要决定让它们做什么,为什么做,什么时候该停。

xAgent 离这个场景还有很远。不过我设计它的时候,确实一直把 Agent 当成同事或者下属,而不只是随叫随到的助手。我想把一件事情交给它,先去干别的,过一段时间回来,再看看这件事是不是真的做完了。

理工男的文笔也就这样了,将就看吧。