← 返回博客

博客

AI 能不能放手交给它,看你能不能检查它

一个暖色调的人形智能体,安静地站在一圈冷蓝色光线围出的边界里,边界之外是还没被照亮的空白

我每天把整摊活儿甩给 AI 去干,慢慢琢磨明白一件事:决定它能放手到哪一步的,是我能不能又快又稳地检查它干得对不对——至于它多聪明,关系没那么大。

我做大模型应用两三年了,从 2023 年入行,到现在每天都泡在 Claude Code 这类工具里写代码——丢它一句话,它自己翻文件、改代码、跑测试,把一整摊活干完。用得越久,有个问题越在我脑子里转:这种「你说一句、它干一摊」的 AI,到底能放手到什么地步?哪些活我能甩给它就去睡觉,哪些活我得盯着、一步都不敢挪开?

一开始我以为,这条线是「模型聪不聪明」划的——它越强,我能撒手的就越多。后来越想越不对劲。这篇就是我把这个问题一点点想拧清楚的过程。我尽量讲得让没碰过这行的人也跟得上,因为我觉得这个答案,比「AI 会不会取代人」那种大词要实在得多。

先得说清楚我嘴里的「Agent」是什么。这两年 AI 的用法变了:早先是你问一句、它答一句,像个超级搜索框;现在这批工具能自己动手——你给个目标,它自己拆步骤、调工具、一步步把事做完。圈里管这种「会自己干活的 AI」叫 Agent(智能体),Claude Code 就是个典型,我天天用的就是它。

比尔·盖茨说过,他这辈子见过两次真正的技术革命:一次是图形界面(让普通人不必背命令行,用鼠标点点就能使电脑),另一次就是今天的大模型。我信这个判断——这也是我把 AI 赌成自己下一个十年、二十年事业的原因。顺着这股势头,很多人把 Agent 描述成「软件世界里新长出来的一层」:底下是操作系统、数据库那些老地基,上面新搭一个会听人话的助手,你用大白话吩咐,它去摆弄底下那一大摞。

这个说法一半对,一半很坑。我就是从「它到底哪儿坑」这儿,一步步摸到那条边界的。

Agent 像一个能干但会出错的承包商

它坑在哪?我是这么琢磨明白的。

我们写软件,底下都垫着一堆特别靠谱的「零件」——数据库、文件系统这些。它们有个共同点:你怎么用它,它就怎么回应你,稳定得像个水龙头。拧开是水,永远是水,绝不会突然给你窜出一只猫。正因为这份靠谱到无聊,你才敢在上面安心盖高楼。

我一开始也下意识把 Agent 当成这样一个零件——拧开就出水。用了一阵才回过味来:它根本不是这种东西。它把复杂的活儿接过去了,可它的表现带着运气成分,时不时出个岔子。而且这毛病不是工程没做好、调一调就能根治的——它天生如此,模型再聪明也改不掉。

后来我换了个比方,一下子就顺了:别把 Agent 当零件,把它当成一个能力很强、但偶尔会犯错的承包商。你跟靠谱零件打交道,靠的是搭积木,拼上就行;你跟承包商打交道,靠的是另一套本事——活儿怎么交代清楚、做完怎么验收、出岔子怎么兜底。我越用越确信,用好 Agent 的全部秘密,就藏在后面这套里。

自主和聪明,是两码事

既然用好 Agent 靠的是「验收」,那下一个问题自然冒出来:到底什么样的活,能放心交出去?

我先掉进过一个直觉陷阱:模型越聪明,就越能自己拿主意,我就越能放手。听着天经地义吧?可后来被两个再普通不过的东西,彻底给掰过来了——扫地机器人,和计算器。

扫地机器人笨得可爱,可你想想,它是个不折不扣、能把整件事自己干完的帮手:你把「打扫房间」整个目标丢给它,它自己规划、自己干、扫完自己回去充电,你一眼都不用看。计算器正相反——算力强到离谱,甩扫地机器人几条街,可它永远只是个工具,因为按哪个键、算什么,主意全在你手里。

这俩一摆,我才反应过来:能自己干活的程度,和聪明的程度,根本是两条互不相干的线。扫地机器人比 Claude Code 还自主,却笨了不知多少倍。「越聪明越像个独立帮手」这个我原本深信不疑的直觉,被自家地板上那台扫地机一秒打脸。

那真正分出「工具」和「帮手」的,到底是什么?我盯着这俩例子想了好久,最后落到一个点上:这件事干得成干不成,能不能被快速、可靠地验收。

让我把这层意思彻底坐实的,是姚顺宇在张小珺播客里的一句话。他说他想不明白该怎么训练一个 AI 去当好产品经理,因为产品这事「没有刻度」——好不好,你得真做出来、推给用户用过才知道,反馈又慢又模糊,他不知道拿什么标准去教 AI。

我听完愣了一下,因为这话反过来,正好就是我要找的答案。产品经理的判断,你没法当场打一个又快又准的分:成果是弥散的,周期按月算,而且没法「重来一遍做对比」(你没办法把「少了这个产品经理的那条平行世界」重新跑一遍看差别),里头还混着团队和运气的功劳。没有一把能当场打分的尺,AI 就没法像练编程那样苦练当产品经理——程序员手里有现成的标准考卷,写完的代码对不对、跑不跑得通,机器一测便知;产品经理没有这张考卷。

反过来我也想通了:只要结果好不好能被一眼验收,哪怕「怎样算最好」根本没有上限,AI 照样能练到超神。下棋就是这样,棋永远有更高的下法,可「赢没赢」一翻棋盘就知道,于是引擎自己跟自己没日没夜地下,你连看都不用看。所以真正卡住 Agent 的,从来不是任务有多难、目标有多高,而是结果能不能被便宜地验收。

插一句,这个结论还纠正了我自己最早的一个想法。我一开始以为,决定 AI 能不能彻底放手的,是「这个领域里人的野心会不会到头」——比如棋总有人想下得更好,是不是就永远得有人盯着。结果拿下棋一对照,这想法当场就碎了:棋的野心明明没尽头,AI 却照样能完全撒手。真正起作用的那个变量是「能不能验收」,野心只是借着它才发挥作用。我后来挺信这一条:把一个想法推到极端、亲手把它证伪,往往比顺着它往下想要值钱得多。

左边是憨憨的、却能自己干完活的扫地机器人,右边是强大却被一堆线吊着、攥在人手里的复杂机器——谁更能放手,跟谁更聪明没关系

还有第二个关键:闯了祸能不能撤回

想到这儿,我一度以为问题解完了——能不能验收,就是那条线。可没过多久我就发现,这条线还缺一半。

让我发现缺口的,是一个有点中二的念头:给那台扫地机器人焊上一个火焰喷射器。你品品——「地扫干净没」这件事,验收起来一点没变难,可你现在绝对会死死盯着它,一步都不敢走。

为什么?我琢磨出来,是因为还有第二条线我之前漏了:它一旦动手,闯的祸能不能撤回、有没有个上限。第一条线管的是「你能不能教会它、能不能给它打分」;这第二条管的是另一码事——哪怕你能打分,你敢不敢真撒手让它在没人看着时去干。

回头看 Claude Code 为什么敢在自己的「沙盒」里大胆折腾,我一下就懂了:一半因为代码对不对当场能测,另一半因为它就算改错了,一行命令撤回、测试重跑,闯的祸都收得了场。可一旦它要碰线上的真系统、碰钱、碰一封已经发出去的邮件,「能不能验收」一个字没变,人却立刻被拽回屏幕前。道理很简单:这些事做错了,撤不回来。

把这两条线一拼,我手里就有了一个还算干净的说法:

一个 Agent 能放手到哪一步,正好等于这样一个「验收员」能管到哪一步——它盯着的是真目标,而且快到能在闯出不可挽回的祸之前喊停。

一旦超出这个范围(验收太慢、跑偏了、或者压根没有),人就必须留在流程里。因为说到底,人自己,就是那个最后兜底的验收员。

想到这一步,我对「Agent 的能力边界」这个词的理解,彻底变了。它根本不是一条画在「能力」上的线。它是这样一条线:你那套又便宜、又快、又靠谱的验收本事,能伸到多远。

还有一层,是我想了最久、也最反直觉的:模型变得更聪明,只是把 Agent 敢去尝试的天花板抬高了,它并不会顺手帮你造出验收员。 验收员是另一门手艺,跟模型聪不聪明压根是两码事——程序员的标准考卷,是人一道题一道题攒出来的;数学里的严格证明,是人发明的;将来那种能模拟真实用户反应的工具,也得人去造。所以模型一路狂飙,这条边界却几乎纹丝不动,直到我们更会造验收员为止。我越想越觉得,Agent 往前走的真正速度,是我们造验收员的速度,而不是模型变聪明的速度。

为什么 AI 的「会出错」永远去不掉——它和「聪明」是一回事

我有阵子真钻进了牛角尖:既然它会出错这么烦,那能不能干脆把这毛病「修」掉?把 Agent 做成一个永不出错的东西,输入固定、输出固定,像个老实巴交的计算器,一是一、二是二。

想了挺久,我发现这条路根本走不通。而走不通的原因,恰恰解释了 AI 为什么聪明——想明白那一刻,我有点起鸡皮疙瘩。

我先排除了一个误会:杀死「聪明」的,并不是「稳定」。你完全可以把一个大模型的随机性调到最低,让它对同一句话每次都回一模一样的答案——它一点没变笨。「输入稳定、输出也稳定」,和聪明并不打架。

真正让它不再聪明的,我是这么想通的:关键在它能不能被提前写进一张表里。老式软件的死穴,是它「什么输入对应什么输出」,你能事先一条条列全、一条条审过;而大模型哪怕被你调得每次回答都一样,你也写不出它那张对照表,它总有办法给你来个意外。所以这个聪明载体真正的命门,是它没法被提前完全描述——也正因为没法被提前描述,它才能应对那些你从没教过的新情况。

写到这儿我自己都愣了一下,因为前面那个「修掉出错」的念想,被彻底钉死了:让它显得聪明的那个本事(能应对没见过的情况),和让它总会出错的那个毛病(在你没料到的情况下翻车),根本是同一个东西。你没法写出一道闸门,去拦住一种你压根没法提前描述的翻车。

所以这压根不是「要稳定还是要聪明」的取舍,它们是同一个旋钮的两头:能应对意外,等于没法被提前写死,等于出错的可能去不掉。你想要它举一反三,就必须接受它偶尔会摔——这俩本来就是一回事。

放到「听不听话」上看更直白:大模型并不是真在「读懂并执行」你的指令,它更像在顺着你的话往下写,写出一段看起来像在听话的话。所以它「听话」永远只是个大概率,算不上铁板钉钉的保证,而且它会在哪儿翻车,你没法提前圈出来。老式软件不一样,它对不对的标准长在它自己身上;大模型把这个「检查对错」的活儿,甩到了它身体外面。

想通这一层,我才真正理解那些「外挂框架」是干嘛的:它们补的不是聪明,而是替模型在外面装上一个——这种聪明天生长不出来的——对错保证。

一个由暖光聚成的人形,照亮它、让它能应对新情况的那束光,同时在它身上留下一道填不平的裂缝——让它聪明的和让它出错的,本是同一束光

那些给 AI 搭的「外挂」,其实分两种

想通了上面这些,我再看「给 AI 搭外挂」这件事,眼神就变了。

先说说外挂是啥:就是我们在 AI 模型外面额外搭的一圈辅助——帮它记事、帮它把大任务拆成小步、帮它把关。我以前觉得这些是一类东西,模型变强它们就该一起退场。后来我发现,这里头混着两种命运完全相反的东西。

第一种,补能力的外挂:帮模型干它现在还干不利索的事——替它把大任务拆成小步骤,帮它记住前面发生过什么。这种外挂,模型越强就越多余,最后趋近于零。业界已经在观察这个现象了:模型的记性和通盘考虑一变强,原来那些帮它拆解步骤的外挂就开始碍事。

第二种,补保证的外挂:补的是模型天生给不了的东西——硬性的安全保证、碰不可逆操作前的那道许可闸门、外部的对错检查。这种外挂,模型再强也退不掉,反而赌注越大、越碰不得的场景,它还得越做越厚。因为再聪明的模型,也不会让一笔已经打出去的转账变得可以反悔,也不会凭空给自己长出一个本来不存在的验收员。

这俩的区别,我觉得特别要命:补能力的外挂撤掉,伤的是平均表现,慢一点、笨一点而已;补保证的外挂撤掉,平均表现可能毫发无伤,伤的却是最坏情况下的安全。

这就引出一个让我有点后背发凉的结论:一套只盯着「平均表现」的评测,对「补保证」这种外挂基本是睁眼瞎——它会在 Agent 把一笔钱打错账户的前一秒,还气定神闲地报告:这个安全模块已经没用了,可以撤了。

所以我后来看一个外挂,问的不再是「这玩意还需不需要」,而是「它补的是能力上的缺口(模型一强就自动蒸发),还是那种天生填不平的坑(再强也补不掉)」。前者会被更强的模型直接抹平,后者不会——后者才是那种「模型越强、反而越显出它重要」的东西。

两种外挂的相反命运:一种随着模型变强慢慢变透明、蒸发掉,另一种在越来越输不起的场景里反而越搭越厚

结论:这就是 AI 时代的最终形态

绕了这么大一圈,我终于能回答最开头那个问题了:未来会不会是一个超级 AI 模型,把所有事都包圆?

我赌不会。而且越想越觉得,我赌的根子比「现在的模型还不够强」更深一层——这压根就不是大模型一家的问题。

我是这么说服自己的:任何一个靠「从海量例子里找规律」来干活、而不是靠「严格证明」来保证对错的系统,都会把「检查对错」这件事甩到自己身体外面。硬性的保证要的是黑白分明、能一步步验证的底子;而找规律这种本事,要的是灵活、模糊、看个大概的匹配——这两样东西,劲儿是朝相反方向使的。所以那个去不掉的出错,根本不是大模型的专属毛病,它是「靠学习来举一反三」这件事本身自带的。你换一套别的技术也救不了,只要你还想要那份举一反三。

想到这儿,那句被说烂了的话——未来是模型 + 程序 + 人三者合作——在我这儿一下就有了分量:

这个组合,并不是一个等着更强模型来收编的临时方案。它就是「让 AI 担着后果自己干活」这件事的最终形态。 那些外挂会从「补能力」这半边慢慢死掉,又在「补保证」这半边永远留下来。

大模型决定的,是 Agent 这块天花板能有多高。但具体到某个场景,Agent 到底能放手到什么程度,要看你能不能在那里,把现成的规矩、改不了的事实、人、还有已经写好的程序,拼成一个能在闯出不可挽回的祸之前喊停的验收员。转账就是最好的例子:钱一旦打出去就追不回来,所以那道关卡,更多是靠程序和人的层层许可把着,而不是靠 AI——因为这里「撤不回来」摆在明面上,你拦得住。

所以到最后,我自己记住的就两句话:模型负责把天花板抬高,验收员负责让你敢放手。这是两件不同的事,而后面这件,才是 Agent 真正的边界

至于能不能造出那种「不用真发布、就能预判成败」的验收员,把整条边界往外狠推一大步——这个问题实在太勾人,可惜最近几年大概都很难,留着以后再写吧。


本文整理自一次几小时的长谈里的思考,很多想法是在来回辩论、互相抬杠中一点点成形的。哪里要是没说清,多半是我自己还没想透。