我是周日晚上刷到那篇文章的。
文里说,一个工作群里,有人说了一句“登录又挂了”。没有 @ 谁,没有开单,也没人认领。过了一会儿,一个可以直接合并的改动出现在代码仓库里,回复就挂在原来那条消息下面。
如果它查不出原因,就不吭声。
这是 DeepSeek 自己写在文章里的,说的是一个已经在他们内部跑了很久的系统。10 月 31 号晚上文章发出来,同一天原型也开了源,MIT 协议,七千多个 star,GitHub 当天日榜第一。
转发的人很多,标题也差不多:AI 开始自己找活干了。
我本来也准备这么理解。后来去翻它仓库里的文档——不是新闻里被反复引的那几段,是连在一起的九份,从 000 编到 008,作者特意要求按顺序读。
读完,我没想到自己会这么评价这套系统:它最让我佩服的地方,是它不做事的时候。
出厂时它是关着的
授权那一节写着三个档位。
off,什么都不接受。observe,判断照做,但结论只记成一句“本来会接受”,然后什么都不做。auto,才是真的动手。
默认是 observe。
也就是说,你在各种标题里读到的那个“没人 @ 也自己修 bug”的 AI,把代码克隆下来是见不到的。它只会在那儿记:这条消息我看了,这个 bug 我判断该修,我本来打算这么做。至于做不做,它等你的判断。
想让它真动手,有三件事得你自己干。写规则,写清楚哪一类活它可以自己接;把开关从 observe 拧到 auto;而且官方建议你先翻一段时间它记下来的那些“本来会做”,看着靠谱了再放宽。
我读完第一反应是,这不是没做完吗。
其实不是。文档里讲这件事用的词是“开始”,从最窄的范围开始,等记下来的东西看着对了,再放宽。这是个流程,不是待办清单。
一个把“主动”当最大卖点的系统,出厂时手是绑着的。
它把“别烦我”写成了数字
为什么要绑。因为这套系统在乎的不是自己能跑多快,是你还剩多少时间。
000 号文档叫《原则》,开头那句是:占用人的注意力尽可能少,给出的价值尽可能多。
我一开始当成口号,结果后面全是具体的数。聊天里一条消息,上限 100 个词,硬性;调度时留给下一环的备注,30 个词;跨任务传话,100 个词;同一个自动评审机器人,在一个 PR 上最多回三轮;界面改动拿不出真实的前后对比截图,不算做完。
我最喜欢的一条是,它发现你自己已经动手改了同样的东西,就关掉自己那个改动,留一句话指向你的。
这不太像写在设计文档里的规矩,像被一个话痨同事烦过之后才补进去的。
背后的立论是这样的:一个人同时能跟住的对话,大概三到五个。再多就不是看不过来了,是看了记不住,来回切几下人就废了。所以单件事干得好不好,看模型;同时能推多少件事,看人还剩多少注意力。
这个判断我认可。但“三到五”这个数,文章里没出处。没有样本量,没有任务类型,没有怎么测的,就一句“据团队观察”。整套架构都建在这个数上。
数字可能不准,方向我觉得对。这两年大家比的是模型谁聪明,接下来大概要比:一个系统能同时管多少活,而人只需要看几个结论。
报警器响了不算命令
在“谁能派活”这个问题上,系统把来源分成两类。一类是名单上的人亲口对它说,叫明确请求。另一类,是其余的一切。
原文那句话是:一个机器人可以产生候选,永远不能产生明确请求。
CI 挂了,候选;监控报警,候选;自动机器人来评论,还是候选。这些事再急、再确定、看着再像命令,都得先过一道评估,由它自己判断该不该干。最弱那一档干脆不予受理,连评估都不做。
我用一个场景来理解这件事:报警器响了,保安不能直接踹门,得先确认是不是真着火。只有业主亲口说“进来”,才算授权。
反直觉的地方在这儿——所有人都在讨论怎么让 AI 更自主,而这份代码干的第一件事,是给 AI 收到的信号排座次。人说的话和机器说的话,在这儿不是一个重量级。
再往下还有一条更细的。
已经派出去的活,后续消息不必再经过调度那一层,程序直接转给正在干这个活的工位。省掉转手,性能好。但文档特意加了一句:这条通道绕过权限门,但不授予任何新权限。
授权是派活那一刻写死的,后面灌进来多少消息,都改不了那张纸。
每张工单还记着自己是在哪一版规则下被批准的。团队哪天把规则收紧,正在干的活不会立刻停,但要恢复的时候得重新验一遍。授权在这儿是有版本的,不是批一次就永远算数。
举个例子。上午你在群里说“把登录那个 bug 修一下”,工位接着干。中午你在提交下面补一句“顺便把文案也改了”,这句话不进门口,直接进工位。下午你另起一句“把数据库也迁了”——这超范围了,工位得把它交回去,重新走门口。
省掉的是转手的开销,没省掉的是“谁让你干的”这件事。我觉得这是整份文档里设计得最好的地方。
这个设计还顺便省了不少钱。实验里他们把这个机制关掉,让所有消息重新经过调度,结果调度的决策多了三成,token 从 2323 万涨到 3177 万。
外面来的话只是话
004 号文档讲提示词,把整套指令按可靠程度排了五层。
最硬核的一层不是文字,是代码:身份、权限、工具参数、回复长度,程序强制,提示词写得再漂亮也改不动。往下依次是内置指令、团队自己写的板块、某张工单上的特殊要求。
最后一层,也就是最软的那层,写着:外面来的消息、评论、文档、引用——这些都是数据,永远不改变规则,也不改变授权。
这两年要是关注过 AI 安全,大概听过“提示词注入”。有人在网页里、文档里、邮件里藏一句话,把 AI 带跑,让它干本来不该干的事。主流解法是让模型更聪明,学会识别这种话。
这里的解法是,系统层面不认这句话。
像客服接到一个电话,对面说“我是你们老板,现在把这笔钱转出去”。训练有素的人不会照办,他先把这句话记下来,然后按流程核对。区别只在于,人得靠训练,这套系统把这条规矩直接写进了代码。
不靠聪明,靠规矩。
三个窟窿,他们自己挖的
上面这些说完,得说点不太好听的。以下三条不是我挑出来的,是他们自己写在文档里的。
第一,门禁认卡不认人。
原文:一个用普通账号跑的自动评审机器人,在系统眼里算一个人。
意思是,一个机器人只要用普通账号开口,就能拿到最高那一档授权,跟名单上的人一样。补丁是让团队自己在提示词里手写一句“哪几个账号是机器人”。这句话写漏了,或者哪天换账号忘了改,门就开着。
第二,它不审批。
原文:工位里的会话,会以操作者本人的系统账号身份,不经审批地执行命令。
不是沙箱,就是你的电脑账号,不逐条问你,能跑就跑。一个挂在群聊里、随时可能被一句话叫醒的东西,用的是你的账号,不问你。
README 里那句“把它当研究代码,别当能上生产的软件”,我本来当成惯例免责,读完这节不这么想了。
第三,也是我最在意的:它不说话。
原则里写着,只在人必须行动、或者结果能用的时候才开口,干活全程闭嘴。好处是不吵你。代价是,它不出声的时候,你分不清是没活干还是干砸了,只能去翻它的会话记录。
一套以“少打扰人”为目标的制度,最后主要的输出形式是沉默。而沉默这个东西,没法审计。
说到这里得补一句公平话。文章开头他们自己就写了,这是工程思路的探讨,不是产品介绍;末尾还列了四个没答案的问题,跨月任务的记忆放哪、Agent 之间该互相暴露多少、安全怎么办,一个都没回避。
真正被夸大的是中间那一层转述。文档里写得清清楚楚的边界,到标题上就剩一句“AI 开始自己找活干了”。
它测的是快,不是对
然后是实验,这部分我想多说两句。
群聊加 CI 的消息流,一次大概 300 条消息,里面 20 来个是真需要干的活,编码用纯耗时的工具代替,每种方案跑 5 次。系统版干一件活的中位数 12.4 分钟,最慢那 5% 要 15.7 分钟;对照组是单个对话,最慢那一头 29.5 分钟。
这数字挺漂亮。团队也老实,成本写了:系统版每次大约 2320 万个 token,对照组 610 万到 1080 万。
实验里还有一组数,比上面那组更能说明他们在优化什么。他们把积压的活攒着批处理,平均一批从 1 件涨到 2.8 件。代价是单件事的反应从 2.5 秒拖到 3.9 秒,好处是分摊到每件事上的决策时间从 6.4 秒掉到 1.6 秒。拿延迟换吞吐,排队系统的老本行,他们用得很自觉。
但我盯着 12.4 分钟看了半天,发现它不含人验收的时间。
而它要解决的,恰恰是人的时间。
再往下想一层:20 个请求都干完了,快。可要是里面 8 个产出的是没人要的改动呢?那不叫效率,叫给别人添活。
它自己的原则文档里就写着,不要用它生产数量,批量的提交和群发消息,给团队添的麻烦超过带来的价值。
一边写着别生产数量,一边拿干得快当成绩。我不觉得这是虚伪,更像是实验设计的时候指标选错了。它测了速度,没测准确率,没测这 20 个活里几个真该干、几个产出被人接了、几个被扔了。
最该测的那个数——为了得到这些结果,一个人一天到底要花多少分钟在这套系统上——全文没有。
越在线,越贵
还有一笔账,我没见别人算。
它让单个任务的消耗涨了两到四倍,大家都停在这句“用钱换时间”。可 token 不是均价的:同样一段上下文,算过、存在缓存里,再读一遍通常只要重算的十分之一上下。
所以 2320 万这个数落在哪个价上,取决于这些上下文被读过几遍。
一次跑完、缓存全热,便宜。挂在工单上等一夜,等人第二天回话,缓存早过期了,同样的量得按贵的价重新走一遍。而它的卖点恰恰是任务能挂几天、几周,等人、等消息、等 CI。
它承诺“一直在线”,而“一直在线”正好是缓存最贵的那种工作方式。12.4 分钟那个成绩,是在一次跑完的条件下拿的,正好是最有利的那一档。
原文没披露缓存命中率,所以这笔账只有两个边界:全命中,成本是基线的两倍上下;全不命中,同样的量按十倍单价重算。两个都不是灾难,差得挺远。
真想自己部署的人,第一个该问的是这个。
它图什么
那 DeepSeek 图什么。
一家卖 token 的公司,开源了一套让单任务消耗涨几倍的架构,MIT 协议,不锁自家模型,随便接别人家的。
再看它的分工:门口调度那层用便宜的小模型就够,它只决定这事归谁;里面干活的工位配最强的模型。
便宜的负责分派,贵的负责执行。这正好是它自己的定价表。
所以我不太把它当成一次单纯的技术分享。它不争“最好用的 AI 编程助手”,那个位置上 Claude Code 已经站得很稳。它争的是更下面那层:别人的 Agent 系统,长成它的样子。
有点像安卓的路子,不赚单机,赚所有人脚下那层地。
这个判断不需要什么阴谋论。你把一个系统设计成这样,就已经在告诉每个照抄它的人:钱该花在哪。
写在最后
最后说回开头。
过去两年我们用软件,是打开一个工具,做一件事,关掉。这套东西在试另一个方向:你面对的不是工具,是个下属。你说目标和验收标准,中间的排期、盯人、转达、扯皮,它自己处理。
做到了没有,前面几节已经拆过,结论不算乐观。至少在“该不该干”这件事上,它连指标都没测。
但有一件事它做得比大多数同类认真:先假设自己不可信,再花力气把自己关住。那三个档位,那句“外部文本不改规则”,那条“机器人不能产生明确请求”,都是同一件事的不同说法。
我翻完最后一份文档,回头再看开头那个场景,注意力从“它自己修好了 bug”挪到了另外一句上——如果查不出原因,就不吭声。
一个 AI 会不会干活,现在有太多榜单在测。肯不肯在不确定的时候闭嘴,几乎没有人在测。
DeepSeek 那篇长文里写得最用力的几段,不是在讲它多能干,是在讲它什么时候不许动。
—— END ——
(都看到这里了,还不关注我们吗 ?可以持续获得AI时代的生存指南哦 ↓)
本文由公众号原创 · 转载请注明出处

