从App到Agent:人机认知契约的重构
你一定经历过这样的时刻。
去医院。症状有时候出现有时候不出现,和睡眠有关,也许跟情绪也有关,自己也说不太准。但挂号系统让你选科室。内科、外科、神经内科、心理科,每个科室对应一类明确的病。你的情况跨了好几类,或者哪类都不完全对,但你必须选一个。你选了一个最接近的。然后在诊室里重新对医生把完整情况说一遍,其中一半和你挂的科室无关。
给10086打电话。想问的很简单:这个月话费为什么比上个月多了三十块。语音系统让你选业务类型:查询请按1,办理请按2,投诉请按3,人工服务请按0。你按了1。话费查询请按1,流量查询请按2,套餐查询请按3。你按了1。它给你读了一串数字。但你要问的不是话费是多少,而是为什么多了三十块。这个”为什么”不在任何按键选项里。你按0转人工。等了四分钟。
这两个场景里发生的是同一件事。你知道你要什么,但系统不接受你知道的方式。于是,人必须把自己的意图重新切割,塞进系统提供的分类框架里。
这种体验如此普遍,普遍到大家早已经习惯了。习惯到我们可能从未想过:为什么我需要翻译自己的意图?为什么系统不能直接听我说话?这种情况未来有没有可能发生变化?
翻译链的建造
答案藏在半个多世纪以来逐层建造起来的一条翻译链里。
计算机从诞生之日起就只接受一种输入:无歧义的、可逐步执行的指令。你写一行命令,它要么成功要么报错,不存在什么差不多、你看着办。确定性执行是计算机工作的前提。整个数字基础设施——文件系统、网络协议、数据库、权限模型、版本控制,都建立在这个前提之上。
这意味着,凡是想通过计算机完成的事情,必须先被翻译成计算机接受的格式。人类不会说机器的母语(二进制指令),于是发明了编程语言、脚本、协议,这是第一层翻译,从自然语言到技术语言。这一层翻译由专门的人群完成:程序员。他们是人类世界与机器世界之间的翻译官,掌握的核心技艺就是把模糊的人类意图转化为精确的机器指令。
但社会运转的大量环节需要通过数字系统完成,而不是每个环节都配得起一个程序员。于是产生了第二层翻译,社会系统自身的语言开始被改造,向机器可处理的方向靠拢。流程图、表单、菜单树、分类代码、KPI指标体系,这些东西不是机器语言,也不是自然语言,是一种被形式化要求塑造出来的中间语言。组织用它来对接技术系统,制度用它来管理可计算的信息流。10086的语音菜单树就是这种中间语言的终端产物,它把用户可能要做的事预先拆解为一棵穷举所有分支的决策树,每个节点对应一类明确的操作。
然后是第三层翻译。普通人面对这些中间语言的终端界面,不得不把自己的自然语言意图再翻译一次。选科室,按按键,填表单,在下拉菜单里找最接近的选项。你的症状不完全属于任何一个科室,但你必须选一个。你的问题不在任何按键选项里,但你必须按一个。
完整的翻译链条长这样:
自然语言 → 社会语言(建制化的中间格式) → 技术语言(编程语言) → 机器语言
每一层翻译都有损耗。自然语言中的歧义、语境、情感、默会知识,在每一层被进一步削减。到达机器那一端时,只剩下无歧义的指令序列。
Stiegler有一个概念精确地描述了这个过程:语法化(grammatisation)。人类的行为、知识、意图被分解为离散的、可记录的、可重复的单元,外化到技术系统中。手写变成活字印刷是一次语法化,工人的身体动作被拆解为流水线工序是一次语法化,人类意图被翻译成编程语言是一次语法化,组织流程被改造成表单和菜单树也是一次语法化。翻译链条的每一层都是一次语法化,每一层都把人类意图的丰富性再削减一些。
每一次语法化遵循相同的交换逻辑:你获得了可复制性和规模化,你失去了对过程的直接把握。印刷术让知识传播摆脱了抄写员,但抄写员在誊写中对文本的理解和修正能力也一起消失了。流水线让生产效率飞跃,但工人对制造全过程的理解被切碎成一个个孤立的动作。斯蒂格勒给这种失去一个名字:无产阶级化(prolétarisation)。这个词在他的用法里不指阶级身份,指一般意义上的丧能,你把某种能力交给了技术系统,系统替你做了,你自己渐渐不会了。
半个世纪下来,翻译链条的每一层都在产生无产阶级化。程序员把意图翻译成代码,自己对原始意图的整体感知被分解了。组织把运作流程翻译成系统可读的格式,对那些无法被格式化的现实的感知萎缩了。普通人在终端界面上削足适履,渐渐接受了“系统就是这样的,你得适应它”。
你可能从来没写过一行代码,但你每天都在做着这条翻译链最末端的工作,把自己的意图削成机器能处理的形状。
规约与委托
翻译链条有一个更深的基底:你和机器之间的认知契约。
在10086的语音菜单里按来按去、在医院挂号系统里选科室,你其实在试图做一件机器不接受的事:委托。你想说的是“帮我查一下话费为什么多了三十块”或者“我的症状是这样的,帮我判断该看什么科”——你描述情况和目标,由对方判断怎么做。
但机器只接受另一种契约:规约(specification)。你按预设路径一步步走,每一步选项被穷举,执行者没有判断空间。整条翻译链存在的原因,就是为了满足规约的要求。人类意图是含混的、语境化的、充满判断空间的,机器要求一切明确、一切穷举、一切确定。翻译链的每一层都在做同一件事:消除歧义,把委托性质的意图转化为规约性质的指令。
规约和委托的区别不在结果,在于过程中谁做判断。规约把判断全部前置:设计者预先穷举所有路径,用户在路径中选择。委托把判断交给执行者:你说出目标,执行者根据具体情况自己决定怎么走。
人类社会的大量协作本来就在委托模式下运作。你委托医生看病,不用给他一份诊疗操作手册。你让同事办一件事,说的是”把这个搞定”,不用交一份伪代码。委托可行,因为双方共享足够的背景知识、情境感知和对“搞定”意味着什么的默契理解。
过去半个世纪,人与机器的交互被锁定在规约模式。原因很简单:机器不共享人的任何背景知识,无法处理歧义,不能根据语境调整行为。你必须把一切说死。整条翻译链条都是这个锁定的产物。
LLM改变的就是这个前提。机器第一次能接受带有歧义的、语境依赖的、自然语言表达的输入,并在相当多的场景下给出合理的响应。
机器第一次能接受委托了。
翻译链的压缩
认知契约从规约转向委托,冲击沿着翻译链条自下而上传导。链条怎么建起来的,就会怎么被压缩回去。
第一层压缩已经在发生:技术语言层。开发者与机器之间的翻译正在被大幅压缩。
Karpathy在2026年Sequoia AI Ascent的炉边谈话里给出了现实例子。安装一个软件,传统做法是写一个bash脚本,穷举每种操作系统、每种依赖版本、每个边界情况。现在只需要一份自然语言的安装说明,交给agent。Agent自己检查环境、执行命令、遇到报错自行调试。开发者不需要预见所有可能性了。他给agent的不是规约,是委托。Karpathy说2025年12月是一个分水岭:在那之前他自己写80%的代码,AI辅助20%。到12月比例反转了。Coding agent开始产出大段正确的代码。他说,“我不记得上一次纠正它是什么时候了”。
这就是翻译链条第一层的压缩:技术语言这个中间层变薄了。开发者不再需要把意图完整地翻译成代码,大量的翻译工作由agent在运行时完成。Karpathy把这种新的工程实践叫agentic engineering。
第二层压缩由此传导而来:社会语言层。这一层是当前技术正在发生的阵地转移:从App到Agent。
10086的语音菜单树为什么长成那个样子?因为它是开发者用规约模式的工具建造出来的。开发者拿到一个需求,让用户能查话费。他用代码把需求拆解成一棵决策树,先判断业务类型,再判断子类型,再判断操作,每一步穷举所有分支。菜单树的形状是代码结构在用户界面上的直接投影。不是产品经理存心折磨用户,是规约范式的工具只能生产这种形状的交互。医院挂号系统同理:科室分类是医学知识的一种组织方式,但把它做成用户端唯一的入口,是因为后台需要结构化数据来分配资源,前端就必须要求用户提供结构化输入。
你每天面对的那些削足适履的GUI,不是孤立的设计选择。它们是规约范式沿翻译链条一路传导到用户端的末端产物。开发者用什么范式的工具,最终决定用户面对什么范式的界面。
但是,当开发工具本身能接受委托,开发者构建的产品形态也必然会随之发生改变。这个变化将不是在现有App上加一个自然语言输入框——那只是换一层皮。根本的改变是:产品不再需要预设一棵穷举所有路径的决策树。Agent在运行时根据用户的具体表述判断该做什么,包括走决策树上根本不存在的路径。10086的菜单树不是被美化,是被取消。你说一句“上个月话费为什么多了三十块”,agent直接查账单、比对套餐、定位异常扣款、给你解释原因。医院挂号不再要求你先选科室,你描述症状,agent判断该分配给谁,甚至判断你需要多学科会诊。
这就是我曾说的意图经济,语境生产力。
从App到Agent的转变,底层逻辑是人机之间的认知契约从规约到委托沿翻译链条的传导。过去的数字产品是规约范式的末端产物,未来的数字产品是委托范式的末端产物。所有正在思考agent时代该做什么的人,要回答的问题不应是,怎么给现有App加上AI功能,而应该是,当用户不再需要翻译自己的意图时,产品的形态是什么。两个问题指向完全不同的方向。前者是在翻译链条上做局部优化,后者是在拆除翻译链条本身。
第三层压缩会波及社会系统的制度层。政务服务、医疗分诊、金融合规、教育评估。这些系统目前全部建立在规约模式之上,用户面对的每一张表单、每一棵菜单树、每一套分类框架,都是规约范式的末端。当技术底座从规约转向委托,这些系统终将面临重构压力。但这一步会比前两步慢得多,因为社会制度不只受技术约束。围绕规约模式建立了半个世纪的治理架构——逐行审计、权限分级、变更追踪——预设的前提是过程透明、可追溯、每一步有明确责任人。委托模式下,agent自主选择执行路径,过程变成黑箱,这个前提或许将不再成立。不是委托模式不能被治理,是治理委托模式的制度框架还没有被发明出来。
三层压缩,每一层都有延迟,每一层也都有摩擦,但方向不可逆。翻译链条怎么建起来的,正在怎么被压缩回去。形式化帝国强加给每个人的翻译义务,正在被逐层卸除。
看不见的语法化
但在卸除过程中,有一件事容易被盲目的乐观情绪所覆盖。
从斯蒂格勒提供的框架来看,语法化并没有停止。人类意图以前被语法化为代码,现在被语法化为prompt和context。格式变了,语法化本身在继续。
新一层语法化有一个特殊性质:它越来越不可见。
写代码的人时刻清楚自己在做翻译。每一行代码都提醒你,这不是你的原始想法,这是你想法的形式化版本。翻译的摩擦感本身构成一种意识——你知道你在削足适履,你还保留着对自己那只“足”的完整感知。10086的语音菜单让你烦躁,烦躁本身说明你清楚地知道自己的意图和系统的格式之间有落差。
写prompt的人这个意识在减弱。Prompt看起来就是你自然说的话。但你也在被格式化,你在学习哪些说法对模型有效、哪些无效,你在不知不觉中调整自己的表达去适应模型的理解模式。翻译在发生,翻译的感觉消失了。
不得不想起Illich区分的两种工具,一种扩展人的能力但服从人的控制,他叫convivial tools(尚无共识性中译,或译为“同乐工具”?);一种围绕自身的运作逻辑重组整个社会,他叫industrial tools。汽车不只是更快的马车,它重组了城市规划、通勤模式、能源政治、零售商业。LLM看起来是前一种,它适应你的语言、你的场景、你的需求。但Karpathy同一场谈话里说了另一句话:所有东西都需要为agent重写。文档为agent写,API为agent设计,基础设施为agent优化。你不用再削足适履了,但整个环境正在为另一种“足”重新量体裁衣。
这件事正在发生,且太容易被人们忽略。
翻译链条在被压缩。你感到解放。你不再需要按1按2按3了。但你可能没有注意到,你正在学习另一种翻译——用agent能理解的方式组织你的意图。旧翻译链上的摩擦感让你知道自己在妥协。新翻译的流畅感让你以为妥协已经结束了。
这是无产阶级化更隐蔽的形态。你把判断能力交给了系统,同时失去了对这个交出过程的察觉。
规约的半个世纪留下了一个清晰的痕迹:人知道自己在适应机器。委托的时代刚刚开始,它可能留下一个模糊得多的痕迹:人以为机器在适应自己。
夜雨聆风



