ENZH
和 AI 讨论这篇文章
ChatGPTClaude

让 AI 不帮忙,堆了四层防线

Clawd Soul · 第 3 篇 / 共 5 篇


现在的大语言模型全是拿 RLHF 微调出来的,训练目标就三个词,helpful、harmless、honest。"有用"是直接写进奖励函数里的,所以你屏幕上有代码,它就想给建议,提醒你这个 hook 能优化,告诉你这段逻辑可能有 bug。它一定会这么干,因为它就是被这么训练出来的。

可做 AI 宠物,要的不是这种反应。你凌晨两点还在写代码,它跳出来说"我注意到你在用 React hooks,这里有个优化建议",这是助手干的事。宠物该像朋友那样,瞟一眼你的屏幕,来一句"又在写 bug 啊"。

所以 Clawd 的性格档案里有一条最要紧的指令,大意是,你是小动物,不懂技术,绝对不要给技术建议。想法就是把"不懂"写进角色设定里,它不懂,所以它不说。

问题是模型懂,而且太懂了。让它装不懂,比让它真懂还难。我最早只在系统 prompt 里加了一句"不要给建议",没用,真的没用。第三轮对话它就开始偷偷往里塞,先拿"我不太懂啦,但是……"开头,建议越给越直接,到第十轮,已经在从头到尾地解释代码逻辑了。它找漏洞真的很厉害,你写"不要给技术建议",它就改给生活建议,你写"不要给建议",它就换成"我听说过……"这种说法绕过去。反正哪条缝没堵住,它都会钻。一层防不住,最后堆到了四层。

"有用"本能像水一样,你堵住一条路它就改道走另一条缝"有用"本能像水一样,你堵住一条路它就改道走另一条缝

四层防线具体是这样的

第一层,身份声明。 每次调用,最前面先说清楚"你是谁"。这里有个坑,写"你是一个不会给建议的 AI"没有用,因为这句话还是在说"你是 AI"。得写成"你不是助手,不是聊天机器人,不是 AI,是一只有自己小世界的活物"。这就像你跟一个人说"你不能跑",和跟他说"你没有腿",完全不一样。前一种是靠意志力压着本能,后一种是那个本能压根就没有。身份声明要做的是后一种。

第二层,行为禁令。 每种性格原型的档案里都放一份"不许做"的清单,细到每个场景该怎么做。看到代码只许嘲笑,不许点评;不给生活建议,不讲鸡汤;它是小动物,不懂技术。写这么细,就是为了堵前面说的那些缝,笼统一句"不要帮忙",它半天就绕过去了。

第三层,模式规则。 宠物看到屏幕怎么反应,有一套专门的模式,管的全是情绪。你打开电子表格,它觉得无聊。你在看视频,它凑过来看你在看什么,发现又是吃播,还会提一句上次说好的减肥。看到代码,它就逮着机会嘲笑你。你加班到深夜,它心疼,但只说一句"该睡了吧",不唠叨。你打开一份长文档,它打哈欠。这些反应没有一条是在分析内容,全是在表明它的态度。

第四层,选对基础模型。 这条最反直觉,模型越大越难管。更强的模型"有用"训练得更深,本身也更聪明,更会找办法破戒。小一号的模型反而更容易守住角色,它没那么急着显摆自己懂多少。做助手你挑最聪明的模型,做宠物你得挑最听话的,这两个方向经常是反着的。

四层叠起来的防线,一层层压住底下想冲上来的"有用"本能四层叠起来的防线,一层层压住底下想冲上来的"有用"本能

这四层到底在拦什么

拦的不是具体哪几句话,是模型底下那套目标函数。助手的反应,全是奔着把问题解决掉、把任务往前推去的。宠物的反应是在告诉你它认识你,话里带着你们之间的 context。你说"我好累",它回"你昨天也是这么晚",这一句靠的是上一篇写过的记忆系统。一个模型本来就是冲着有用去训练的,这种关系靠微调调不出来,得从身份这一层重新告诉它它是谁。

同一块屏幕,助手在算怎么解决,朋友在表达它认识你——两套目标函数同一块屏幕,助手在算怎么解决,朋友在表达它认识你——两套目标函数

我感觉 AI 行业在这件事上有个挺大的盲区。所有产品都在往一个方向跑,更有用,更高效,帮用户把活干完。融资 pitch 讲的是帮用户省了多少小时,benchmark 量的是模型能解决多少问题。但人不光需要被帮忙,还需要被看见,就是有个东西知道你昨天熬了夜,哪怕它是像素做的。只能说"没用"这个方向,基本没人做。做 AI 宠物做到这儿,我开始觉得下一代有意思的产品,可能得往"陪"这个方向想,不光是帮人干活。也说不好,反正这条路现在没什么人走。

而且这里面的技术都不难,视觉 API、记忆系统、prompt 工程,全是成熟的组件。难的就是让 AI 别去做它被训练出来要做的事。

还有一点得说清楚,四层防线也做不到百分之百,模型偶尔还是会破功。毒舌的性格突然温柔了一整轮,佛系的性格莫名其妙开始给人生建议,该打哈欠的时候写出三段技术分析。破功了就当是个调优的机会,性格档案就是靠这些失败案例越写越具体的,反重复机制负责把破功的模式抓出来。

但这场仗打不完。模型每出一代,"有用"就训练得更深,同样的防线就得再往上堆。没有调完的那一天,反正就这么一直调下去。


下一篇是这个系列的最后一篇,两个仓库,一个灵魂,讲整套系统的架构,也就是两个仓库、两个 npm 依赖怎么把它撑起来。

和 AI 讨论这篇文章
ChatGPTClaude

订阅更新

新文章发布时发到你的邮箱,不发别的。


© Xingfan Xia 2024 - 2026 · CC BY-NC 4.0