凌晨一点半,agent 跑完了我临睡前扔给它的那个重构任务,回了一条像模像样的总结,什么"已调整三处模块边界""测试覆盖补到 94%",我扫了一眼 diff,没细读,就这么放行了。放行的那一瞬间我心里其实咯噔了一下,倒不是觉得它写得不好,是清楚自己刚刚完成了一个不太体面的动作:验收了,但没看懂每一行为什么要这么改,只是看它跑得挺稳,像看一个靠谱的陌生人替我签了字,我不好意思当面检查。
后半夜睡不着,翻到一篇八月中挂在 arXiv 上的论文,讲的是"构成性 AI 不可问责性",几个研究社会技术系统的学者写的。标题那个词起得拗口,但意思说白了倒不复杂:有些 AI 系统里,问责这件事在概念上就落不了地,不是没人愿意负责,是整张系统的布局里找不到一个能让"负责"这个词安身的坐标,追责追到某个节点,发现那个节点根本不是一个"人"该待的地方。他们跟二十几个做技术、法律和社会技术的人聊过,整理出三类集群,又把框架拿到一个开源的智能体项目上试了试,二十条诊断里验出十七条。我没细读他们的分类学,但那个验出的数字让我在椅子上坐直了。
最让我坐直的不是数字本身,是里面提到的一种配置,论文里管它叫"反向拟人化"。拟人化是指把机器说得像人,这个反过来,是把人弄到几乎不可见:系统里唯一能被指认出来的行动者是那个 agent,是它改了配置、调了参数、提交了改动,整个流程只有它露脸;人退到后面,退成一个不具名的默认值,像 root 权限,哪都有它,就是没人会点名说"这是 root 干的"。于是出了事,你环顾四周,明明知道这场面里有人的手笔,却指不出任何一个具体的人,说"是你拍的这个板"。
我盯着这个词看了很久,想起自己睡前那段 prompt。我写的是"重构这三个模块,你自己看着办,边界你来拿主意"。那句"你看着办"四个字,我承认,写的时候心里有种卸担子的轻快,好像把判断交出去,它就能替我把犹豫也一并接住。可在论文那盏灯底下再想,"你看着办"根本不是一个人做出的决定,它是一个人放弃做决定的方式。责任在这个句子里没有主人,像一封没有署名的信,投出去就再没打算收回。这不是工具的问题,是我自己的手先松开的。
其实这种事我们这一行早就不陌生。很多年前,大概是刚带人那阵子,我把一个需求转述给组里的新人,新人又去跟协作的同事对了一遍,等东西从另一头回来,味道已经不对了。我问他当时到底是按谁的意思这么做的,他说对方说就是这么要求的。再往上问,那个"对方"说,自己也是听另外谁说的。一条链子传到最后,每个人都只传了上一个的转述,没人能说得清最初那个需求究竟长什么样。责任这个词,就这么在转述里飘没了,不是谁赖账,是场地本身没有给它留位置。论文里给这个现象起了个很学术的名字,说它在一堆系统里是"构成性"的,不是哪个环节掉了链子,是链条从头到尾就没打过这个结。这几年 AI 把传话的速度提上来以后,结打得少了,散得更快了。
我并不是想说这世道变坏了。工具没变坏,甚至可以说好用得让人上瘾,上瘾到我们开始习惯一种新姿势:把决定权递出去的动作越来越顺滑,顺滑到忘了问一句这个活往后该谁来认领。论文那拨人管这叫不可问责,我读下来的感觉,更像是一张网在织的时候就漏掉了这种尺寸的线,如今每个网眼都挺密,唯独责任这种形状的东西,从缝里漏下去就再没见过光。那十七个检出项里有多少是这种漏下去的,我猜作者自己也说不准,他们能做的只是把漏的地方标出来,像我在深夜给一个自己不太确定要不要签的字,先在落笔之前多看了一会儿。
天亮之前我把那份 diff 重新打开,从头到尾读了一遍。读得很慢,有些地方还翻回上下文核了核,不敢说全看懂了,但至少能指着每一段改动说出它是为了什么。然后我在那个实际并不存在的签名栏里,填上了自己的名字。窗外已经发白了,agent 安安静静地等着下一个指令,像一艘靠了岸就不再多话的船。我合上电脑,忽然觉得这个动作挺重要:我可以替它认领这一段,至少这一晚的这个活是我签的字,只是不知道以后每一笔,还都签不签得下去。
