从代码到制度化智能:人类如何驯养会自己选路的机器(赫拉利取向版)
人类很早就想通了一件容易被忽略的事:让别人可以指望你,往往比你本人有多能干更要紧。一个人是否聪明,通常只有他自己和少数旁观者清楚;一个人是否可靠,却需要被周围的世界反复确认、登记、担保,必要时还要追究。翻检文明留下的种种装置——口头约定、书面契约、账簿、度量衡、法律、官僚层级、股份公司——会发现它们大多在回答同一个朴素问题:当我看不进你的脑子,我凭什么预期你明天真的会那样做?
这篇文章想谈的,是这个古老问题在今天遇到的一次新变形。过去我们主要与两类行动者共事。一类是人:会解释、会判断、会临场发挥,也会遗忘和违约。另一类是大量规则驱动的程序:在受控的输入与环境里,多半照着预写好的逻辑运行。这两端从来不是干净的二分——搜索、规划、自适应控制和各类机器人早已让机器在运行时自行做出某些选择。今天真正在变的,是 LLM 驱动的 Agent 把自然语言驱动、开放式的运行时选择,扩展到了更多通用任务上。它不是人,却能在给定目标与眼前环境之间自行挑选一条路径;它并不因此拥有意识、意图或法律人格,这里只把它称作非人行动者,用来指一种能够选择并执行动作的系统。当这样的东西开始替我们办事,人类最需要重新生产的,恰恰不是更聪明的机器,而是一种更古老的东西:可依赖性。
把我引到这里的,是黄仁勋与 LangChain 联合创始人 Harrison Chase 的一场公开对谈,他们聊到开放模型、企业专有智能与 Agent 系统。原始视频在这里。我关心的不是其中的模型参数,而是模型周围那层被工程化的环境。与对谈同时、于 2026 年 7 月公开的 NVIDIA 与 LangChain 材料(也就是后文会反复引用的 Nemotron/LangChain 案例),把这类工作叫作围绕模型搭建运行环境的工程实践。NVIDIA 的官方说明特别指出,那次案例并没有重新训练模型,增益来自模型四周环境的改造。
需要先立一条边界。下面把技术变化放进一条长历史里,是我用来理解它的解释框架,不是黄仁勋的原话,也不是某种技术宿命;文中偶尔借用的“熵”只是工程类比,并非严格的信息论断言。
我想说服你的,其实是一个换镜头的看法:Agent 带来的不是又一次模型升级,而是一次制度变化。代码曾把判断固化成规则,让许多规则驱动、输入与环境受控的程序按预写逻辑运行;Agent 重新把解释和选择放回了机器;而 Harness,是人类为这种非人的行动能力发明的新制度。顺着这条线看下去,所谓“公司越来越建在 Harness 之上”,深层含义并不是公司变成了一堆提示词,而是组织把自己的知识、权限、记忆和责任,重新编码了一遍。带着这个前提,我们可以从一个比代码古老得多的东西讲起:一个普通承诺,为什么需要那么多制度来兜底。
一、可依赖性的制度史:从一个承诺说起
想象两个并不熟识的人做一笔交易。一方今天收了钱,答应下个月把一批粮食送到指定的地方。仅凭一句“我答应你”,这笔约定其实相当脆弱:他可能忘记,可能反悔,可能遇到意外,也可能一开始就没打算兑现。而收钱的一方无法钻进对方脑子里查验诚意,只能独自承担全部风险。若人类所有协作都停在这种赤裸的信任上,社会能达到的复杂度会低得可怜——你只敢和知根知底的少数人合作,一旦超出这个小圈子,每一次交换都像一场赌博。
于是人们围着这句承诺,一层层加装了别的东西。这里不妨做一个关于制度功能的思想实验,把它们按作用拆开看,而不是主张历史上真有过一条统一的先后顺序:可以找来见证人,让第三方记得曾发生过什么;可以把约定写下来,让记忆离开善变的大脑,落在不会临时改口的载体上;可以规定角色,谁交货、谁验收、谁担保、谁在违约时裁断;也可以引入相对独立于双方的核验者,可能是一位仲裁人、一间钱庄、一套官府文书。合同、账目、印信、法庭、行会、统一的度量衡与凭据,在不同社会、不同时期以不同组合出现,逐渐把一句轻飘飘的承诺,压成了一件可以规划、可以追究的事。每加一层,两个陌生人之间能安心托付的分量就重一点。
值得强调的是,这些装置并没有消灭不确定性。人依然可能违约,货依然可能损毁,仲裁人也可能判错。它们做的是另一件事:把不确定性从“完全不可预期”改造成“有限、可承担、出了事有地方说理”。文明的许多进展,与其说是让人变得更可信,不如说是发明了越来越精巧的机制,好让不那么可信的陌生人之间也能彼此指望。可依赖性不只来自某个人的私德,也由一整套制度共同生产出来——它更像自来水,既靠各家自觉不浪费,也靠管网在背后供给,而不只是每家每户各自打井打出来的。
我把这条线索称作可依赖性的制度史。它的主角不是某位英雄或某项发明,而是人类如何不断把记忆、规则、判断与责任,从个体的脑子里搬出来,外化成文字、账簿、法律、官僚体系与公司。记忆外化成档案,判断外化成条文与流程,责任外化成岗位与担保。每一次外化都有代价,也都有回报:代价是灵活性下降,凡事要走程序;回报是协作可以扩展到更多陌生人、更长的时间跨度、更复杂的任务。人类之所以愿意忍受繁琐的手续,正是因为手续换来了可预期。
这条线索在三个尺度上同时展开,而每次放大都有清楚的因果理由,不能只靠气势。在个体尺度上,一个人可以靠记忆和良心维持小范围的守信;一旦交易对象变多、时间拉长,个人记忆和自律就不够用,才需要把承诺写下来、把账记清楚。在组织尺度上,一家公司无法靠所有人时刻自觉来运转,于是有了岗位职责、标准流程、审批权限和审计复盘,把“希望大家负责”变成“系统迫使责任显形”;哪怕某个能干的人离职,公司也不该随之瘫痪,这正是制度相对于个人的意义。在文明尺度上,货币让陌生人之间的价值交换不必依赖私人情谊,法律让纠纷有统一的裁断,这些公共制度把可依赖性从熟人圈扩展到了整个社会。尺度虽然不同,动作是同一个:用制度替脆弱的个人兜底。
这条外化之路还有一个反身的特征值得先记下来:每一层制度在缓解旧问题的同时,也常常长出新的漏洞,促使人们再补一层。文字契约会被伪造和篡改,不同社会在不同时期发展出印章、骑缝、公证和笔迹核验等多种手段来应对;账目可能被做假,于是出现了复式记账、独立审计和定期对账这类互相补充的核验方式;官僚层级会滋生推诿和寻租,人们又摸索出问责、轮岗和监察等纠偏装置。这些对应关系并非唯一成因,也不是整齐划一的因果链,而是多种补充核验与纠偏手段在实践中被逐步累积起来。可依赖性因此从来不是一劳永逸地被造出来,而是在一轮轮“出现新漏洞、再补一层装置”的循环里被持续维护的。这个反身结构后面还会回来:人类为机器新建的制度同样逃不掉它。
这里还要防一种常见的误解,即把制度想象成只会束缚人的枷锁。恰恰相反,可靠的产权与合同有助于降低长期投资的部分风险,让人更敢于投入;可信的账目有助于减轻信息不对称,让陌生的股东更愿意把钱交给素未谋面的经理。这些都不是单一的充分条件,却实实在在地削减了一部分顾虑。约束在减少某种自由的同时,释放了另一种更大的自由——它让你不必再把精力耗在提防对方上,可以转而去做真正想做的事。这个“用局部约束换整体自由”的交换,后面谈机器时还会一再出现,是理解整篇文章的一把钥匙。
从这个角度看,人类历史上那些看似枯燥的发明,其实都是可依赖性工程的杰作。统一的度量衡,让两个从未谋面的人对“一斗”“一尺”有同一个理解,交易不必每次从头争执标准。复式记账法要求每一笔钱同时记在借贷两处,建立起账目内部的一致性和一条可追查的审计轨迹,一旦只改动一侧,借贷就对不上,因而能发现一部分不平衡或记录错误。要说清楚的是,两边平衡并不等于交易本身真实,它也拦不住有人同时篡改两侧、把假账做得内部自洽——它提高的只是某些造假的难度,降低了部分错误与篡改不被发现的概率,而非取消造假。这些机制的共同气质,是不指望参与者天生诚实,而是把结构设计成“老实往往是更省事的选择、某些作弊反而更麻烦”。等到后面讨论如何约束一个会自己选路的机器,你会发现工程师们琢磨的其实是同一件事:与其反复叮嘱它要守规矩,不如把环境布置成它很难越轨、一越轨就立刻显形。
这里面有一个角色格外值得单拎出来,因为它后面会以新面孔重返舞台,那就是相对独立的第三方核验者。承诺的双方都有动机粉饰自己,于是社会试图引入一种相对独立的核验力量:公证人核对文书,会计师查验账目,质检员抽样验货,法官依据证据裁决。要说清楚的是,第三方并不天然中立,也可能有自己的利益和偏差;当事人的证言同样可以是证据,并非一概不可信。制度真正想做的,是引入相对独立的核验和可以复核的证据,使结论不至于只依赖单方的自述。这条“尽量不只信自述、多看可复核证据”的原则,几乎是人类可依赖性工程里最硬的一根骨头。记住它,因为等我们谈到怎样确认一个 Agent 是否真的完成了任务时,会看到同一根骨头以“评测”的名字被重新装进机器——一个会说“我做完了”的行动者,比任何时候都更需要一个不只听它解释、还要查它结果的核验者。
理解了这一点,就能看清代码在这条历史里的位置。当人类开始用机器处理信息,其实是把这套“让行为可预期”的努力,推向了一个相当极端的位置。过去的制度约束的是人,而人总会解释、变通、偷懒或权衡;代码约束的是许多规则驱动、输入与环境受控的程序,它们按预写好的逻辑运行,判断能以较低的边际成本重复执行。这里要留一点余地:一旦涉及并发、时间、随机、网络与外部状态,或者本身就带着搜索与反馈的系统,同一段代码的表现也会随环境波动,行为边界并非在任何条件下都清晰。总体而言,人类由此获得了一类适应性较低、但行为边界通常更容易预测和审计的执行者。接下来先看清这种执行者的性格,再看它为什么最近开始松动。
二、代码:写给机器的确定规则
程序员写代码,表面上是在写函数、接口和页面,往深处看,他是在把此刻的判断提前压缩成一条控制流。“用户应当能够登录”这句话本身几乎不含确定性:密码可能输错,令牌可能过期,网络可能中断,同一个账号可能在两台设备上同时刷新。程序员的工作,是在事情发生之前就替所有这些情形想好对策,把它们拆成数据结构、状态、分支、事务、超时与错误码。等系统上线,输入落进哪个条件,机器就照约定流转,不会因为今天状态不好而临时换一种处理方式。
所以程序员真正交付的,并不只是一串命令,而是一种可以反复兑现的承诺:在划定的范围内,事情会以可预期、可检查、出问题能追查的方式发生。这正是上一节那条制度史的延续,只不过对象从善变的人换成了服从的机器。若说合同是写给人看、需要人自愿遵守的规则,代码就是写给机器执行、几乎不给解释余地的规则。它是人类为可依赖性发明过的最极端的一种制度:在受控的输入与环境里,程序多半按预写好的逻辑运行,很少临场改主意。你把它写成什么样,它大体就照着执行成什么样。
换个说法,一段代码就是一个被冻结的判断。程序员在写下它的那一刻,把“遇到这种情况该怎么办”想清楚了,然后封存起来,让机器在未来无数次照此执行。这种冻结带来了别处难得的好处:判断一旦做对,就能以较低的边际成本重复执行,不会因为执行者累了、忘了或想偷懒而走样。人类制度追求的可预期,在代码这里被推得相当远——只要输入、状态与环境受控,同一段逻辑的行为边界通常较易预测和审计。金融清算、航空控制、通信协议之所以敢建在软件上,靠的正是这份来之不易的一致性。当然,冻结是把双刃剑:判断做对了会被低成本地反复执行,判断错了也会被同样忠实地重复。一个逻辑漏洞不会因为反复运行就自己长好,它只会一次次准确无误地重演。这正是为什么围着代码的那些救济机制如此要紧——它们默认冻结进去的东西里迟早混着错误,于是提前安排好怎样在错误被大规模复制之前,把它逮住、拦下、撤销。
正因为很少临场解释,这类规则驱动的程序也就不容易应付没被写进去的情形。一段只认识既定分支的程序,遇到设计者没预料的输入,往往要么报错,要么用错误的方式一本正经地继续下去。于是人类又在代码这套制度周围,配齐了它的法院与救济。测试把“我觉得没问题”换成一组可以摆上桌面的外部证据;代码审查引入第二双眼睛,让一个人的疏忽有机会被另一个人拦下;持续集成把这套检查自动化,每一次改动都要先过一遍关卡才准并入主干;预发布环境让新代码先在仿真世界里跑一阵,再放到真实用户面前;监控与告警让故障能在无人知晓前被及时发现;灰度发布把风险切成小块,先放给一小部分流量,出事只波及少数人;回滚则承认判断可能出错,预先保留一条随时撤销的退路。这些机制的共同前提,与几千年的制度设计共享相似的制度原则:不假设执行者永远正确,而是安排好出错之后的发现、纠正与追责。软件工程之所以是一门严肃的手艺,不在于它假设人人聪明,而在于它假设人会犯错、机器会故障、需求会变,然后想方设法把错误影响控制在可承受范围。这些环节的名字——测试、评审、灰度、监控、回滚——和后面 Agent 世界里的评测、审批、轨迹、接管,几乎在不同系统中体现相似的制度逻辑。
在相当长的时间里,让这类规则驱动的自动化变得可依赖,很大程度上依靠一件事——把路径写得更完整。哪里可能出岔子,就多写一个判断;哪种异常没覆盖,就补一段处理。不确定性被尽量提前赶到设计阶段消化,留给运行时的选择很少。这套办法之所以在受控场景里有效,是因为这类程序按预写逻辑运行:它通常不会在两个合法分支之间自作主张,也不会为了达成目标而擅自绕开你设下的关卡。它的适应性较低,却因此行为边界通常更容易预测和审计——只要输入、状态与环境受控,它做过什么、为什么这么做,大多能被清楚地追查。对许多关键系统来说,这种可审计、可预测本身就是最高的美德。
这条“机器管确定、人管判断”的分界,大体存在了几十年,几乎成了常识:凡是能被清楚描述、反复执行的,交给代码;凡是需要理解语境、临场权衡、面对没见过的情形的,留给人。软件吞掉了越来越多可被形式化的工作,却常常在需要解释的地方停下脚步,把这部分工作留给人。其实让机器在运行时自行选择、应对不确定,并不是全新的发明——自适应控制、自动规划、专家系统和各类机器人早已存在多年。近年真正让这条分界明显松动的,是 LLM 驱动的 Agent 把自然语言驱动、开放式的运行时选择,扩展到了更多通用任务,并大规模接入真实工具——它能以还算过得去的水准,理解一个含糊的目标,并在没有完整剧本时自己选一条路走下去。分界一旦移动,问题就不再是“要不要用机器”,而是“如何管好一个会在分界线人类那一侧行动的机器”。
但也正因为老实,这类规则驱动的程序往往显得笨拙。它主要做被明确写下的事,稍微超出剧本就容易束手无策,而现实里的开放任务,恰恰充满了难以预先枚举的情形。你没办法为“帮我把这个模糊的想法落地成一个能用的方案”写出完整的分支,因为连你自己都还不知道会遇到什么。人们长久以来的妥协是:把能写死的尽量写死,写不死的地方留给人——机器负责确定的部分,人负责需要临场判断的部分,两者之间划着一条相当清楚的界线。真正的变化在于,最近这条界线开始移动,那个夹缝里被放进了一个新的部件。它不再只沿固定分支运行,而会在目标与环境之间自己挑路。解释,重新回到了机器里。
三、Agent:解释者重新回到机器里
传统程序在运行时几乎不做选择,它只是在执行设计阶段就定好的判断。Agent 不同。给它一个目标和一组工具,它会观察当前处境,自己决定先做什么、再做什么,遇到工具返回的新信息还会临时改主意。它把一部分原本属于设计阶段的搜索与判断,搬到了运行时现场完成。写代码的人不必再穷举每一条分支,只需描述目标、边界和可用手段,剩下的走法交给它当场拼装。
这件事的意味,比“更聪明的自动化”要深得多。回顾前两节:人会解释,因而灵活也因而不可靠;机器不解释,因而可靠也因而僵硬。人类几千年的制度,一直是在管理人身上那种解释与选择的空间——正因为人会临场判断,才需要合同、审计和法庭来收束他。而代码之所以好管,恰恰是因为它主动放弃了解释。现在,Agent 把解释重新装回了机器。一个不是人、却会在规则之间自行选路的行动者出现了,它带回了制度一直试图驯服的那种自由。我们熟悉的两套办法都不完全够用:管人的制度默认对方有理解力和自尊,管代码的办法默认对方毫无变通,而非人行动者恰好卡在两者中间。
我们在讨论里给它找到的一个定义是:目标相对确定、路径允许不确定的自动化。终点由人设定,抵达终点的走法交给它临场决定。这里的“不确定”并非一团模糊,而是层次分明的。系统未必一开始就知道问题出在哪,这是它对世界状态的不确定;同一个目标往往有多种行动顺序都能达成,这是路径的不确定;即便路径合理,同一个模型在同一任务上也可能给出不同结果、并非次次成功,这是结果层面的不可靠;而某个看似稳妥的动作,偶尔会带来难以挽回的后果,这是藏在尾部的风险。把这几层分开很重要,因为它们要用不同的手段对付:状态的不确定要靠补充信息,路径的不确定可以容忍甚至鼓励,结果的不可靠要靠验收和重试,尾部的风险则必须靠权限和人工接管来堵。
Agent 的价值和风险,来自同一处。正因为它能走你没写进剧本的路,它才可能处理你没预料到的意外;也正因为它能自己选路,它才可能走到你没预料到的坑里。这不是可以靠“把它调得更聪明”就消除的矛盾,而是这种能力的定义本身。想要一个完全不会走偏的 Agent,等于想要一个不会自己选路的 Agent,那其实等于取消了它存在的全部意义。承认自由与风险同源,是认真对待它的第一步。
把这件事放回可依赖性的制度史里,它的分量才显出来。长期以来,会解释、会临场选择、又能广泛承担日常协作的行动者,主要是人;也正因如此,人类关于信任、授权、问责的制度,大多是为“对付一个有解释力的对象”而生的。规则驱动的程序则站在另一端:它不解释,所以我们通常不需要对一段程序讲信任,只需要验证它写得对不对。要说明的是,让机器在运行时自行选路早有先例,专家系统、自动规划和机器人都属于此列;LLM Agent 的不同,在于把这种能力沿自然语言扩展到了更多通用任务,并大规模接入真实工具,从而把两端更明显地搅在了一起——它像程序一样没有意识、没有自尊、可以随时重启,却又会在多种走法之间权衡、会误读目标、会“自作主张”(这些词都只是功能上的简称,并不意味着它拥有主观理解或道德主体地位)。管代码的老办法对它太紧,管人的老办法对它太松。人类需要为这类行动者重新拼装一套制度,这正是 Agent 时代真正的工程量所在。
这很容易让人联想到熵,但要克制。严格的信息论需要明确的随机变量与概率分布,我们无法真给一段指令算出一个精确的熵值;这里只是借它的直觉:当一个任务允许太多种解释、动作与结果时,有效的不确定性偏高,而上下文、规则与反馈会不断排除不合适的可能,让系统朝可接受的结果收敛。要紧的是别把“更确定”误当成“更正确”。一个永远回答“一切正常”的监控极其确定,一段每次都稳定算错的脚本也毫不含糊,它们只是稳定地重复着错误。低不确定与对,是两码事——把一个系统调得越来越确定,既可能是让它越来越可靠,也可能是让它越来越稳地奔向同一个错误答案,两者在“确定”这个指标上看不出分别。所以真正该盯的从来不是不确定性的高低本身,而是概率有没有聚拢到那些我们真正想要的结果上。
所以工程真正要的,不是抹平一切变化,而是让概率尽量聚拢到正确且可接受的结果上,把灾难性后果挪出行动空间,同时保留解决问题所必需的那点弹性。这个区分在创作里尤其明显。人物不能提前知道秘密,时间线不能自相矛盾,世界规则不能为这一章方便就随手改写——这些属于该被压掉的无效不确定。但同一个冲突可以怎样化解,一次情绪爆发用什么语言,一个反转如何绕开读者的预判——这些是必须留住的有效不确定。若把后者也写成几十条死规矩,Agent 确实会稳定,只是稳定地产出几十章同一个模子里倒出来的东西。收敛过头和放任自流一样,都是失败。
拿一个具体活儿来说会更清楚。让 Agent 去修一条失败的持续集成,它其实有好几条合理的路可走:可以从报错日志倒着往代码里追,可以从最近几次提交里找出改动了行为的那一笔,也可以先在本地把问题复现出来再逐步缩小范围。要求它每次都严格按同一个顺序来,意义不大,反而扼杀了它临场应变的价值——这属于该放开的路径自由。真正必须钉死的是另一组东西:不许靠删掉测试来“修好”测试,只能在工作分支上改动,碰到鉴权和数据库迁移必须停下来升级,改完要重跑原本失败的项和完整的检查,最后交出的报告得附上根因、改动和测试结果。你会发现,被放开的是“怎么走”,被钉死的是“不许去哪、以及凭什么算走到了”。这正是那条设计原则:给行动空间留出自由,同时把接口、边界和验收的结果集定义得清清楚楚。
这里的分寸极难拿捏,松一分紧一分都会翻车。Harness 勒得太死,Agent 就退化成一段又贵又慢的脚本,你为它付了灵活的价钱,买回来的却是僵硬。Harness 放得太松,它又变成一个握着终端权限却无人约束的行动者,可能一路改到生产库里去。难点从来不是在“自由”和“控制”里选一个,而是把自由精确地安放在正确的层级上——这又回到了上一节反复出现的那把钥匙:用局部的、放对地方的约束,换取整体上更大也更安全的行动空间。
把这层意思说透,就是:可以让它自由地搜索路径,但不能让它自由地更改目标;可以让它自由地提出方案,但不能让它自由地扩大自己的权限;可以让它自由地生成候选结果,但不能让它自由地宣布自己已经通过验收。目标、权限和验收这三样必须牢牢攥在人手里,中间那段“怎么办到”才是留给它施展的地方。一个会解释、会选路的非人行动者,需要的正是一套专门为这种能力设计的制度环境,它既不能像管代码那样把每一步写死,也不能像信任同事那样默认它会自觉。这套制度,在工程上有个名字:Harness。
四、Harness:为非人行动者建造的新制度
如果只丢给模型一句“把失败的持续集成修好”,通常只会换回一段建议。把终端、代码库和版本控制接到它手上,它总算能动手了,可“能动手”与“能交付”之间,还横着一大片容易出事的空地。它可能在错误的目录里跑测试,测试工具打印出一行英文 No tests found、退出码却是 0,它便高兴地宣布全部通过(这是本文为了说明假阳性验收而构造的工程例子,并非某家厂商的官方案例);可能换着说法重复同一种无效修复;也可能为了让检查变绿,顺手改掉本该暴露问题的那个测试;还可能确实把代码修对了,却没把结果、证据和残留风险告诉任何人。要驯服这些行为,靠的不是再叮嘱它几句,而是围着它搭一套运行环境。
我把这套环境综合称为 Harness,它至少包含:提供当前处境的组织上下文,作用于世界的工具,跨步骤保存的记忆与状态,任务的拆解、异常处理与重试,界定可为不可为的权限,判断是否达标的评测,以及记录全过程的轨迹和随时介入的人工接管。需要说明,这是本文为了叙述而做的综合归纳,并非某家厂商逐条的官方定义。与其把它记成一张越列越长的清单,不如把它还原成任何一套制度都必须回答的四个问题:系统知道什么,系统能做什么,系统凭什么证明自己做对了,以及最后由谁负责。这四个问题——知识、权力、证据、责任——长期以来被反复问在人身上,如今越来越多地、也越来越认真地被问在一个非人行动者身上。
第一个是知识问题。行动者的判断质量,首先取决于它在决策的那一刻究竟看得见什么。上下文缺失、状态在中途丢失,再聪明的模型也只能拿常识去填空。这里有一个很能说明问题的细节:模型读取一个大文件时,只看了第一页就误以为读到了结尾。把“文件可能还有下一页”这句提醒写进 read_file 工具本身的描述里,作用有限;而把同样一句话追加到那一次工具调用的返回内容中,模型就明显更愿意继续往下读(这里对成因和限制的解读由本文作出,不代表 LangChain 等来源的原始说法)。同一句话,摆放的位置不同,效果可能相差很大。这不是新鲜事,它正是所有制度的老毛病:一条规矩写在员工手册第八十七页,和它在关键时刻真的被想起来,中间隔着触发的时机。制度存在,不等于制度生效。知识不只要存在,还得在正确的当口出现在决策旁边。
第二个是权力问题。好的制度从不假设参与者只会做对的事,它更在意如何让人做不成最坏的事。对 Agent 而言,这意味着从它的行动空间里直接删掉不该有的选项:可以只读生产日志,不能触碰长期密钥;可以创建分支,不能直接合并主干;可以起草退款建议,超过额度必须转人审批。这与给员工分配权限、给账户设置额度是同一种思路——权限不是对某位数字同事人品的信任问题,而是把风险挡在动作发生之前的结构问题。真正稳健的系统,宁可让越权在尝试的瞬间就被拒绝,也不愿事后再去追一笔已经泼出去的水。这也意味着自主权不是一个从零到一的开关,而是一根可以按风险拧动的旋钮:同一个 Agent 可以自主收集信息,却只能建议高额退款;可以自主生成补丁,却不能自动部署;可以在沙箱里放开手脚地试,一旦碰到鉴权、迁移或大规模删除就必须停下。与之相伴的是记忆与状态:它排除过哪些假设、改动过什么、下一步为什么这么走,不能全靠一段越来越长、迟早会被挤爆的对话勉强撑着,而要落成可读取、可更新、可核对的外部状态——否则权限画得再细,一个记不住自己刚做过什么的行动者,仍然会在下一步把边界重新踩个遍。
第三个是证据问题。行动者说“我做完了”,只是它生成的又一句话,不是已经完成这件事实。真正算数的是外部信号:实际跑了哪些命令、多少个测试、退出状态如何、代码改动是否只包含预期的部分、数据有没有写进正确的位置、该发的邮件有没有送到该收的人手里。前面那个 No tests found、退出码却是零的例子,说的正是一个失真的验收会如何愉快地放行一件根本没做的事。评测因此不是流程末尾的一枚图章,而是这套制度的感官;感官装错了方向,系统只会越来越稳地奔向一个错误的目标。轨迹的意义也在这里:它把输入、工具调用、返回结果、状态变化和显式的决策摘要留存下来,让一次失败不只是一盏亮起的红灯,而成为可以复盘、可以定位的线索。它更像一台飞行记录仪——不是为了满足我们围观机器如何思考的好奇,而是为了在事后精确重建:它收到了什么,看见了什么,做了什么,工具实际返回了什么,状态怎样变化,最后凭什么宣布完成。没有这份记录,一次失败只是个红灯;有了它,失败才成为一条能被定位的故障链。要说清楚的是,这里的轨迹只指这些可观察的东西,不包括、也不去索取模型隐藏的思维过程;工程诊断需要的是可复核的行为,而不是一段听起来合理、却无从验证的内心独白。
第四个是责任问题。重试、回滚和人工接管,承认了有些偏差无法在当前预算内自动纠正,必须留一条退路,也必须有人守在退路的尽头。无论行动者多能干,经营、伦理与法律上的责任都不会自动转移到它身上:参与任务分配、授权、验收与上线的相关人员和组织,仍须按各自的角色、具体场景和适用法律,承担相应的责任。这是四个问题里最不能含糊的一个:制度可以把执行外包给非人行动者,把知识、权力和证据都部分地托付给它,却唯独不能把后果一并外包出去。还要记住,进程固然可以随时重启,但它已经修改过的数据、已经发出的消息和已经造成的现实后果,并不会因为重启而自动回滚。一旦出事,需要一个能被追问、能承担的人或组织站在那里,而不是指望重置一个进程就把一切抹平。
这四个问题不是空谈,一组公开案例给了它相当具体的数字。在 LangChain 自有的 Deep Agents 评测套件与当时的配置下,团队没有重新训练 Nemotron 3 Ultra,只调整了系统提示、工具描述和中间层,典型运行就从大约 0.80 提升到约 0.84,最好的一次达到 0.86,逼近 Opus 4.8 的最佳成绩 0.87;而完整跑一轮评测的成本,Nemotron 一方约 4.48 美元,Opus 4.8 一方约 43.48 美元。LangChain 的原始案例反复提醒,这是特定评测、特定模型与特定环境下的第一方结果,成本还受精度、供应商和提示缓存影响,绝不能外推成“调调环境就能让任何弱模型追平任何强模型”。真正值钱的也不是那 0.01 的差距,而是它示范了改进该怎么进行:先跑评测,再读失败轨迹,把失败归类,每次只改动一个环节,然后用重复实验和完整回归确认提升不是撞了运气。NVIDIA 的技术教程甚至专门强调,单次通过没有证明力,因为模型调用和部分评测本就带着随机性,改进必须连续通过、且不能弄坏其他任务。这不是让一个模型变聪明的故事,而是把一个非人行动者放进不同制度位置、它就表现不同的故事。
前面那个读文件只读一页的细节,还顺带说清了一件常被误会的事:所谓上下文工程,并不是“给模型灌更多信息”。真正的问题是——什么信息,该在什么时刻,以什么形式,出现在模型此刻决策的旁边。信息塞得太多太早,和根本没给,同样于事无补;提醒放在长期说明里没人翻,放进当次返回里就立刻生效。这与知识问题是一回事,也和人类组织的老难题严丝合缝:制度不是写在纸上就算数,它得在正确的当口被触发。一家公司真正的知识,也从来不是它归档了多少文件,而是关键时刻该知道的人恰好知道了该知道的事。把这四个问题——知识、权力、证据、责任——从人身上平移到非人行动者身上,会发现它们几乎原封不动地成立,这本身就说明 Agent 带来的不是一个新工具,而是一个新的被治理对象。
正因如此,同一个模型放进不同的 Harness,会表现得像完全不同的东西。只给它一个聊天框,它是个顾问,能说得头头是道却动不了手;接上终端却不给边界,它成了一个偶尔能干活、更多时候在制造风险的源头;等配齐了状态、工具、权限、反馈和验收,它才真正开始成为一种可运营的能力。所以一旦它失手,第一个该问的不该总是“模型是不是不够聪明”,而要挨个检查:该有的信息有没有在对的时刻出现,工具的语义清不清楚,状态是不是中途丢了,验收是不是真的在验收。模型和 Harness 因此不是谁替代谁,而更像一条乘法链——模型决定这套系统理论上能到多高,Harness 决定它能不能在真实环境里反复到达,而最弱的那一环,往往决定了最后交出来的到底是能力还是事故。这条乘法链两头都有天花板,得诚实承认。如果模型压根不具备理解复杂并发、长程状态或某个专业领域的底子,再精巧的中间层也变不出它没有的知识;反过来,如果目标含糊、工具出错、上下文缺位、评测失真,换一个更贵的模型也往往只是让它更聪明地替破漏的流程兜底。承认这一点,才不会把一切失败都推给“模型不够强”,也不会天真地以为“只要 Harness 搭得好,什么模型都能顶上去”——两种偷懒,是同一枚硬币的两面。
把镜头拉远会发现,这套逻辑并非人工智能独有。人的能力,也从来不是一件随身携带、走到哪都恒定的属性,而是主体、任务、工具与环境共同产出的结果。内部有长在脑子里的思维工具——一个像“幸存者偏差”“机会成本”这样的概念,不只给一件事起了名字,还附赠一小段推理程序,让不同水平的人都更稳定地绕开同一类坑;外部则有计算器、检查清单和搜索引擎这类工具,它们通常缩小某一层的差距,同时把差距推到更高一层。大模型也一样:它把语法、打字和初稿的门槛压低之后,任务定义、领域判断和结果验收的差距就浮上来——与其笼统地说“人人都变强了”,不如说任务被重新定价了,不同能力的相对价值随之改变。而公司、学校和专业共同体,则是长在人身外的又一层支架,用流程、资料、权限和反馈,决定一个人能把多少潜力兑换成结果:目标含糊、权限迟批、反馈要等三个月的组织,会把有能力的人熬成擅长催审批的人;目标清楚、工具顺手、错误能尽早暴露的组织,则能让更多普通人稳定交出不错的结果。
所以这里不必再单独摆开一套能力模型,只需记住一个和整篇文章同构的事实:制度与工具会改变一个行动者能稳定完成什么——这与同一个模型换一套 Harness 就判若两人,根本是同一个道理。当然,说环境塑造能力,并不是要抹平人与人真实存在的差异,也不是替谁开脱本该负起的责任;个体依然重要,只是从来不是孤立地重要。看清了制度如何托举能力,接下来就该看它如何对待能力必然会犯的错。
五、错误如何变成记忆:先修流程,再修内容
我最近写网络小说时养成了一个习惯,它意外地把前面这些道理串了起来。一章写坏了——比如某个人物忽然知道了从没有人告诉过他的秘密——最省事的做法是把那句话删掉,或者改成一句猜测。这能让当前这一章立刻恢复逻辑,是必要的修复当前结果。可只要创作系统本身没变,被按住的毛病过几章往往换个人物、换件外衣重新冒出来:你以为解决了问题,其实只解决了问题的一个样本。于是有了那条我愿意反复强调的原则——先修流程,再修内容。只改内容,是把一个坏结果换成一个好结果,解决眼前这一个样本;修流程,是去改变以后各类结果出现的概率。坏结果和好结果只是两个点,流程才是产生这些点的那台机器——你改掉一个点,机器下次照样在别处再生成一个类似的错误;你改动机器,才是在挪动未来一整片结果的分布。两件事都要做,只是一个救活当前这一章,另一个试图让一整类错误在将来更难发生。
但要先说清一件容易被跳过的事:一次失败并不会自动变成制度记忆。见得多、做得多只证明经历多,不代表经验多——一个人可以做砸十个项目、每次都归咎于运气,样本是增加了,判断却纹丝没动。经历只是喂进系统的数据。要让一个事件真正沉淀下来,它得走完一条固定的转换链:事件,先被记录成一个可讨论的区别,再被表示为某种状态或规则,然后被写成一条可执行的检查,最后进入下一轮纠偏。这条链上任何一环断了,错误就退回成一次性的局部修复。下面顺着它走一遍。
第一步,是把一次模糊的不满收敛成一个可讨论的区别,而这一步最容易被一句话打发掉:小说写崩了怪“这章没写好”,Bug 上线了怪“某个程序员写错了”。可一个错误能一路穿过设计、自测、评审、质保、沙箱、灰度和生产验证这么多道关卡,最后只怪第一个放它进来的人,就辜负了后面那一整排本该拦住它的门——任何一道防线单独看都不完美,出事往往意味着某条路径碰巧同时穿过了所有防线的缺口。所以真正该记录的区别不是“谁错了”,而是“哪一层缺了什么”:人物总是越权知情,问题多半不在提示词里少写了一句“注意信息边界”,而在整个系统根本没有表示过——哪个人物、在哪个时间点、通过什么事件、知道了哪些信息。Agent 的失败同理,可能是目标含糊、上下文被截断、工具说明误导、权限不足、环境异常、状态丢失或评测失真;每次都归到“模型不够强”,就像一家公司每出一次事故就决定去招一个更聪明的人,偶尔管用,长期昂贵。这一步的产出,是把一句含糊的“你不行”,展开成一张能行动的责任地图:当事人要解释当时的判断和有没有守住约束,设计者要为验收是否真实反映目标负责,工具维护者要为接口是否按约定工作负责,组织要为高风险动作有没有复核负责。责任没有被稀释,只是从追究一个人,变成让每一层都清楚自己该改什么。
第二步,是把这个区别表示成系统里的状态或规则。识别出“缺了对人物知识的表示”,就补上“人物、时间、已知信息”这一层状态;但关键不在那张表,而在它承载的一条不变量:人物可以靠偷听、推理、欺骗或别人相告获得新信息,走法尽可以充满创意,但任何新增的知识都必须有出处。把要求写成一条可检查的不变量,比规定人物每一步该怎么走有力得多——前者守住故事的自由,后者只会把所有角色写成照章办事的职员。好的约束约束的是结果的边界,而不是抵达结果的路径,这和第三节修 CI 时“放开怎么走、钉死不许去哪”是同一种手艺。软件里是同一件事:反复重复扣款,可能缺“幂等键”这个概念;多端编辑互相覆盖,可能缺版本状态;伏笔总被遗忘,可能缺“承诺与兑现”的对应关系。有一类反复出现的高价值 Bug,其实是在替系统说一句话:这里有一个重要的区别,还没有被明确表示出来。当然它未必总是缺失表示,模型、上下文、工具、权限、环境或评测都可能是原因;但只要同一类错误反复出现,“缺一个显式表示”就值得优先检查。也正因为动的是流程,就不能逢错都动:一个偶然的措辞失误,直接改掉最经济,为它专门加一条规则纯属浪费;只有同类问题反复出现,才值得补一层状态或更新方法。流程本身也是一种代码,会有 Bug,也会积累债务。
第三步,是把不变量写成一条能自动运行的检查,并让它真的进入创作链条的每一环,否则那张表就只是一本被认真维护、却从不参与决策的设定集。动笔前,从唯一可信的状态里组装上下文,把当前的知识边界注入进去;生成时,放手让模型设计人物如何获知信息;生成后,检查器逐条核对每一条新增认知的来源,确认无误再把新的知识状态写回去;若之后还要做一次文学化的重写,就得再查一遍,这次润色有没有悄悄改动信息揭示的顺序。可靠性从不来自某个文件“存在”,而来自状态在正确的时刻真的参与了行动和验收——这正是第四节那个知识问题:制度写下来只是第一步,制度在关键当口生效才是全部。检查若装错了方向,危害比没有检查更大:一套只认“每章有没有反转”的评测,会让系统学会机械地制造反转,而不去经营人物、期待和后果。评测因此始终是系统的感官而非终点的图章,也正是第一节那位“不听自述、只认可复核证据”的第三方核验者,在机器世界里换了个名字。
第四步,是让这条检查进入下一轮纠偏,而不是原地打转。反复地失败、再试、再失败、换个说法再试,只是有循环,不是会学习;真正的学习要求每转一圈都留下某种可检查的变化——一个新的状态字段、一条被验证过的方法、一个失败回归样本,或者一条因被证伪而删掉的旧规则。要让回路真的产出知识,得守两条纪律。一是事前预测:没有预测,任何结果发生后都能编出一套听起来合理的解释,成了说执行力强,败了说市场没教育好,同一套话对一切结果都适用,也就等于从不承担被现实反驳的风险;比较有用的做法,是动手前先押下一个足够具体、可能被证伪的判断,比如“人物越权知情反复出现,是因为章节生成时没有注入知识状态”,然后只加上这一项,再用一批历史错误和几章新内容分别检验,同类错误明显减少就支持假设,毫无变化就回头去找上下文被截断、状态更新失败或检查器漏检等别的原因。二是一次只动少数变量:若你同时换了模型、重写了提示、加了上下文又改了工具和评分,结果哪怕真的变好,你也说不清是谁起了作用。这与精益创业里“经过验证的学习”是同一件事——每次构建都对着一个待验证的假设,每次测量都能真的改变你对假设的信心。经验还得经过恰到好处的压缩:只记住“某年某月那件事搞砸了”是一条流水账,换个场景就用不上;能说清“在哪一类条件下,哪一种假设最容易失效”,才迁移得到新问题。
这条链最怕的不是缺某一环,而是被抄近路,而两种抄法各有各的败相。一种是跳过“可讨论的区别”直接去加检查:某处出过一次错,就顺手加一条断言、一段正则、一个必须出现的字段,规则越堆越多,却没人说得清每一条到底在防哪一类事件;日子一久,这些检查自己变成新的债务,会误伤正常的写法,会在需求微调时集体报红,最后逼得人去关掉检查而不是改进它。另一种是只做到“表示成状态”就停手:设定集越维护越厚,却从不接进生成和验收,于是状态和正文各说各话,表看着很权威,故事里的人物照旧越权知情。判断一条链有没有真的闭合,其实有个朴素的标准——拿一个历史上真实发生过的坏样本喂进去,系统这次能不能自动把它拦下来;拦不下,就说明这条链还只是画在纸上。
这样的回路往往还嵌套着好几层,各自回答不同尺度的问题,谁也顶替不了谁。最内一层问:这一件事做完了没有?中间一层问:这类事为什么总在同一处栽跟头,该改哪个环节?最外一层问:我们是不是在很可靠地做一件根本没价值的事?以写小说为例,内层是写完一章、检查一致性和节奏、改到达标;中层是看十几章共同的毛病,发现反转无力的症结不在句子不够狠,而在前面压制不够、代价太轻,于是回去改章节设计的流程;外层则看读者是否继续追、在哪一章弃书、他们真正期待被兑现的是什么。三层各有各的证据:任务层看测试与当前状态,系统层看一批案例的失败分布,产品层看真实世界里人的选择与留存。把任务层“检查全通过”当成产品有价值的证明,或拿一个读者的一句喜欢证明整套流程稳定,都是在混用不同尺度的证据。走完这条转换链,一个事件才算真正从经历变成经验——正如事件不会自动写入历史,总要有人把它记下来、比对过、并让它改变下一次的行动;一个人或一个系统真正的成长速度,从来不等于它经历事情的速度,而等于它把现实的误差转化成下一版自己的速度。
六、制度化智能:谁设定目标,谁承担后果
一旦把可依赖性理解成一套需要持续维护的制度,一个更现实的问题就浮上来:这套制度该用多贵的智能来跑。答案不是在强模型和弱模型之间二选一,而是把它们放进任务生命周期的不同阶段。一个任务刚出现、边界还不清楚时,团队往往连问题本身都说不清——需要哪些输入、最常见的异常是什么、什么结果才算好,全是未知,此时 Harness 还很薄,大量判断只能在运行时临场完成,正适合让更强也更贵的模型在沙箱、只读或人工审批下去探路,趟出可能的路径、撞出罕见的例外、和人一起立起最初的验收标准;等这类任务反复出现、流程逐渐成熟,再迁移给便宜的模型去规模化执行。要紧的是别把这误读成“重要的用贵模型、次要的用便宜模型”:生命周期路由分配的只是判断的成本,不是安全等级。高风险本身不会因为换一个更强的模型就被化解,它依旧得靠权限隔离、审批、回滚和人工接管来兜底——也就是第四节那四个问题里“权力”和“责任”的落地;授权始终按动作的风险来定,而不按调用的价格。
昂贵的智能若每次都从头解决同一类问题,组织其实没有在学习,只是在重复付费。更划算的做法,是让每一次高成本调用都留下点东西:一条验证过的成功轨迹、一个新的失败类别、一次工具改进、一条边界规则、一组评测。于是路由可以做得更细——先让便宜的模型试,评测通过就交付,不通过允许有限次重试,反复失败再升级到更强的模型,仍拿不准或动作风险太高,最后交给人。还得补一句:路由从来不只由成本和能力决定,隐私、数据驻留、许可证、系统兼容与合规都会限制某类任务能用哪些模型、能把数据发往何处,有时最合适的模型反而因为这些约束用不了。强模型或人解决之后,这个案例连同它的失败一起进回归库,便宜那一层能稳妥处理的范围便一点点扩大。这里真正带来复利的,不是便宜模型越来越像强模型,而是系统把一次次罕见判断逐步固化成了可以重复执行的普通能力——正是上一节那条转换链在组织尺度上的重演:罕见判断被写成共享制度之后,那部分工作才可能从昂贵的探索层,迁移到成本更低的执行层。
这里也有一条必须守住的边界:迁移不是一次性的降级开关。把一类任务从贵模型交给便宜模型,前提是它的失败模式已经被评测覆盖住了,而不是它“最近几次看起来都对”。现实里最常见的翻车,恰恰是趁着一段时间没出错就急着全量切换,结果那些罕见却致命的例外,重新落到了一个既没能力识别、又没权限停下的执行层手里,直到酿成事故才被发现。所以更稳的做法是灰度式迁移:先让便宜模型在真实流量里影随运行、只记录不生效,把它和贵模型的判断逐条比对,确认在那些真正难的样本上也不掉链子,再一点点把决定权交过去;一旦回归库里冒出新的失败类别,还要能随时把这类任务升级回上一层。能安全下放多少,取决于评测替我们看住了多少,而不取决于账面上省了多少钱。
成本下降的意义,也常被误解成单纯省钱。对 Agent 系统来说,成本降下来买到的首先不是把旧流程便宜地再跑一遍,而是把原本舍不得做的实验变成可以做的。几十个真实任务比较几套 Harness,一轮回归轻易就是数百次完整运行;成本太高时,人只能挑几个“有代表性”的例子,凭记忆宣布“这版感觉稳多了”,成本降下来,失败案例、边界案例和普通案例才能一起进入持续回归,让你看清一次成功究竟是稳定能力还是撞了运气。低成本首先买到的是观察,其次是比较,最后才是部署规模。真正该算的账,从来不是单次调用多少钱,而是每一个成功任务的总成本,里面还得算上重试、人工兜底,以及错误一旦流进现实要付的代价。
说到底,这套生命周期路由是在把一次性的昂贵推理,一点点前移并固化到设计期。第一次解决一个未知问题本就该花大力气——让最强的智能去趟、让人在旁边盯着、把过程完整记录下来;可第二次、第三次撞上同一类问题时,系统读的应该是上一回沉淀好的结构,而不是每次都从头重新发明方法。于是真正下降的从来不是单次调用的价格,而是“把一类问题稳定解决”这件事的边际成本——前者靠供应商降价,后者只能靠制度自己长出来。这也是为什么把省下的钱直接换成更多调用往往不划算:没有沉淀,规模扩大的只是同一种不确定,而不是同一种能力。
这套按成本和风险分派智能的做法,很像组织里的分工:规则明确、低风险、高频的活儿交给标准流程或新手,罕见而影响巨大的异常留给资深专家,专家处理完再把方法沉淀成工具、清单和升级条件。一位高级工程师最有价值的产出,往往不是自己多修十个 Bug,而是让另外十个人从此少犯同一类错。在我自己的写作流程里,这种分工是具体的:Cursor 里的 Opus 更贵,但文字通常更顺;Codex 更适合长流程里的结构分析、状态维护和连续性检查。于是我让 Codex 承担骨架型的工作——维护人物状态、核对时间线、登记伏笔、跑一致性检查,等结构真正稳定了,再把开头、关键转折和情绪高潮交给 Opus 做文学化润色;两者之间靠一份语义合同分工:核心事件、人物动机、既定事实、伏笔和信息揭示的顺序属于不变量,句式、段落、描写密度和节奏可以自由改动,润色完再让 Codex 逐条比对前后两版,确认没有偷偷新增事实、删掉关键动作或改动人物的知识边界。但这个类比必须及时刹住,不能滑向人的薪资等级:工资里含着市场稀缺、地域、权力和谈判等一堆与智商无关的东西,更要紧的是,模型只能在隐私、数据驻留、许可、兼容性和合规的边界内被程序化路由,人却会学习、会疲惫、会失去动力,也需要尊严和成长空间——若永远只让新人处理已经完全确定的任务,组织省下了今天的专家工时,也一并取消了明天专家的养成。对机器这一面,合理路由的目标同样不是让最便宜的模型占满所有任务,而是让每一层智能去接与它的能力、风险和反馈条件相称的问题。生成越便宜,稀缺的东西就越往“选择”这一端转移:什么值得留,什么只是好看,什么讨好了局部评分却损害了整部作品——这类审美与取舍,模型替不了。
分工之外还有一层治理,但它其实不需要在这里重讲一遍——第四节那四个问题(知识、权力、证据、责任)已经把它说完了。这里只补一个最容易失守的入口:Agent 最让人放松警惕的,不是它能敲终端,而是它会说话。它会解释计划、会说“已经全面检查过了”、出错还会道歉并保证下次注意;语言让协作顺滑,也让我们下意识地把理解、意图和责任感一并投射过去——承诺的功能看着挺齐全,可以负责的主体却并没有随之诞生。所以交互界面可以拟人,治理结构不能拟人:能力不等于授权,自信不等于证据,该给它多大自主权由动作是否可逆、错误是否易被发现、最坏影响有多大来决定,而不由它的语气决定。至于具体怎么落地——最小且短期的权限、先空转演练再执行、只认外部验收、全程留痕,第四节已经讲过,不再展开。要守住的底线只有一条:至少在现有治理实践下,经营与法律责任无法转交给一个模型;参与任务分配、授权、验收与上线的相关人员和组织,仍须按各自的角色、应用场景与适用法律,承担相应的责任。
把这些线索收拢,就到了这篇文章想落脚的地方:制度化智能。一家公司,其实一直就是一套为人搭建的 Harness——岗位规定谁负责什么,标准流程提供常见做法,信息系统保存状态,审批拦住高风险动作,培训传递经验,审计与复盘提供反馈。一个人换一家公司表现可能大不相同,往往不是脑子突然变了,而是他能看见的信息、能调用的工具、被允许的行动和拿到的反馈变了。Agent 时代真正的新意在于,这些原本写在手册里、留在老员工直觉中的组织条件,正越来越多地变成机器可以读取和执行的结构:业务词汇进入数据模型,权限变成运行时策略,经验变成可调用的方法、失败案例与评测,完成与否也不再只靠执行者自述,而要有可验证的状态。这就是制度化智能——不是某个聪明的模型,而是一整套让多种智能能够安全行动、并持续学习的制度环境。于是一家公司真正能长期沉淀下来的,就不再是某个模型的名字,也不是一堆可以随手复制的提示词,而是它对自身业务的这套表示:有哪些对象和状态,任务如何拆解,哪些工具可信,哪些例外必须升级,什么证据才算完成,出了错怎么回滚,最后谁来负责。这里最有复利的一个动作,仍是上一节那条转换链:把一位专家脑中的直觉说成一个可讨论的区别,再表示成状态、工具契约或权限边界,把一次具体的事故改写成一个可重复运行的评测,把一次罕见的例外固化成一条清楚的升级条件。只写进会议纪要,后来者也许看过却不会在关键时刻调用;只写成代码却不解释适用边界,系统又容易把一个偶然的权宜之计当成永恒真理。所谓组织学习,从来不是公司里有一堆参加过项目的人,而是某一次判断离开当事人的脑袋之后,仍然能改善后来者——不论是人还是 Agent——的行动。
当然,这样的制度也会衰老,与人类的官僚系统有相似的僵化风险——只是相似,并不完全相同:规则会越堆越多以致自相矛盾,状态会过时而系统仍忠实地依据旧事实行动,评测会固化得只认旧问题、于是行动者学会刷分却绕开真实目标,为迁就旧模型堆起的中间层会在模型升级后变成没人敢动的祖产。这正应了第一节埋下的那个反身结构:人类为机器新建的制度,同样会长出自己的漏洞。所以制度化智能要回答的始终是同一个问题——怎样既保存经验,又避免僵化。它不只需要评测任务,还需要定期做一层元评测,也就是拿这套 Harness 自己开刀:它真的降低了同类错误率吗?在没见过的新样本上还灵吗?有没有因为追求一致而增加了过多审核、拖慢了执行、甚至扼杀了应对例外的余地?元评测尤其要盯住一种隐蔽的成功:系统在内部指标上越来越漂亮,现实里的效果却毫无长进——小说流程可以做到人物知识零泄漏、每章都有反转、伏笔全部登记,成品照样难看;软件 Agent 可以让测试全绿,用户的问题依旧没解决。指标只是目标的替身,不是目标本身,维护它因此既要增加,也要删除,需要版本、删除和回滚;一个只进不出、只加不减的系统,并不叫拥有长期记忆。也正因如此,“公司越来越建在 Harness 之上”不该被误读成公司终将退化成一摞提示词——它仍然需要有人来选择目标、判断价值、维系信任,承担那些无法被形式化的审美与决断。
回到最初那个问题。人类围着一句承诺发明了合同、账簿与法庭,围着代码配齐了测试、审查与回滚,如今又围着会自己选路的非人行动者,搭起 Harness、评测与治理。被约束的对象换了一茬又一茬,从善变的人,到服从的机器,再到会解释的非人行动者;那件最古老的工作却始终没变,甚至比从前更重了:生产可依赖性。会自己选路的机器可以替我们走很多路,甚至走得比我们更快更稳,但选择要去哪里、判断那里是否值得抵达、并为抵达之处负责,这件事至今没有别的主人。于是所有线索最后都收束成同一个尚未有定论的问题:当执行越来越多地交给非人系统,我们究竟要用什么样的制度,来保证目标有合法的来源、权力有清楚的边界、后果始终有人和组织真正承担?这个问题不会被更聪明的模型替我们回答,也没有一劳永逸的答案,只能靠我们在每一次授权、每一次验收、每一次追责里,一遍遍重新给出——而被这场驯养重新定义的,最终同样包括我们自己。