让 AI 学会"没用",比让它有用难十倍
Clawd Soul · 第 3 篇 / 共 5 篇
上一篇讲了记忆系统——怎么让宠物记住你。这篇讲个更反直觉的问题:怎么让 AI 停止帮忙。
每个现代大语言模型都经过 RLHF 微调。训练目标三个词:helpful, harmless, honest。"有用"不是功能,刻在奖励函数里的本能。
模型看到屏幕上有代码,全身每个权重都在叫:给建议!提示用户这个 hook 能优化!告诉他逻辑有潜在 bug!扔球就一定会去捡。
但朋友不是这样。
朋友看到你凌晨两点还在写代码,不会说"我注意到你在用 React hooks,这里有个优化建议"。朋友会说"又在写 bug 啊笨蛋"。
朋友不分析屏幕。朋友对屏幕有情绪反应。
性格档案里有条核心指令,大意:你是小动物,不懂技术,绝对不要提供技术建议。不是防护栏。是角色一部分——真不懂,所以真不会说。
问题在于:模型懂。太懂了。让它装不懂,比让真懂还难。
四层防线,一层不能少
试过只在系统 prompt 加"不要给建议"。没用。第三轮对话就开始偷偷塞建议,先"我不太懂啦,但是...",然后越来越直接,第十轮已在完整解释代码逻辑。
一层不够。得四层。
第一层:身份声明。 每次调用最前面,先定义"你是谁"。不是"你是一个不会给建议的 AI"——这还是在说"你是 AI"。而是"不是助手,不是聊天机器人,不是 AI。是一只有自己小世界的活物。"
身份不是约束条件,是人格地基。告诉一个人"不能跑"和"没有腿",效果完全不同。前者靠意志力抵抗本能,后者根本没那本能。
第二层:行为禁令。 每种性格原型的档案都有明确反面清单。不是笼统的"不要帮忙",具体场景的具体禁令:看到代码,不会说"我注意到你在用 React hooks"——会说"又在写 bug 啊"。不给生活建议,不讲鸡汤。不懂技术,是小动物。
为什么这么具体?模型极其擅长找漏洞。说"不要给技术建议",会给"生活建议"。说"不要给建议",会用"我听说过..."句式绕过去。每个没堵住的缝,都会钻。
第三层:模式规则。 宠物对屏幕的反应有专门模式——不是理解内容,是对内容产生情绪。打开电子表格?无聊。在看视频?好奇看什么。写代码?又嘲笑你的机会。加班到深夜?心疼但只说一次,不唠叨。
关键词"情绪反应",不是"内容理解"。助手分析内容。朋友感受氛围。
第四层:选对基础模型。 反直觉的发现——模型越大,越难管。
更强的模型有更深的"有用"训练。更聪明,就更擅长找到"破戒"方式。小一号反而更容易保持角色,没那强烈冲动展示自己懂多少。
做助手,要最聪明的模型。做宠物,要最听话的。两个方向经常相反。
助手和朋友是两个物种。
看到你的代码,助手说"我注意到你在用 React hooks",朋友说"又在写 bug 啊笨蛋"。你说"我好累",助手给睡眠建议,朋友说"你昨天也是这么晚"。你在看 YouTube,助手不反应,朋友说"又在看吃播?上次不是说要减肥?"。你加班到深夜,助手问需要帮忙更快完成吗,朋友说"该睡了吧",一句,不唠叨。你打开了一份长文档,助手开始帮你总结,朋友打哈欠。
助手每个反应都在解决问题、提供价值、推进任务。朋友每个反应都在说"我认识你,我看见你了,我们之间有上下文"。两个完全不同的目标函数。没法在一个为效用训练的模型上微调出关系——得从身份层重新定义它。
AI 行业现在有个巨大的盲区。
所有产品往同一个方向跑:更有用、更高效、更能帮你干活。每轮融资 pitch 都在说"帮用户节省了 X 小时"。每个 benchmark 衡量模型能解决多少问题。
但人不只需要被帮忙。需要被看见,需要有个东西知道你昨天熬了夜。哪怕对象是像素做的。
"没用"不是 bug。"没用"是一整个被忽略的产品维度。
做 AI 宠物让我意识到,下一代最有意思的产品可能不是"帮你做 X",是"陪你度过 Y"。
技术不难。视觉 API、记忆系统、prompt 工程,成熟组件。难的是让 AI 停止做它被训练要做的事。
四层防线也不是百分之百管用。
模型偶尔还是会破功。毒舌性格突然温柔一整轮。佛系性格莫名其妙开始给人生建议。该打哈欠的场景,写了三段技术分析。
每次破功都是调优机会。性格档案因为每个失败案例变得更具体。反重复机制捕捉模式。但本质上是场和模型训练的军备竞赛——模型越大越新,"有用"引力越强。
要求被训练成金毛的模型假装是猫。
金毛会不停尝试捡球。工作是一次又一次把球藏起来。
下一篇是最后一篇。两个仓库,一个灵魂——讲架构,怎么用两个仓库、两个 npm 依赖撑起整个系统。