这不是一篇分享AI工具的文章。我是想讲一个我自己绕了很久才想明白的问题,AI 回话又长又周全,到底是谁的问题。
事情要从一次讨论说起。
有一次我和它聊一个刚起步的项目,方案还没定,我要的其实是和ai做一次梳理,把这个项目该怎么走、有哪几条路先理出来。结果它每次都会回一大段。前面那一小截确实是我要的,后面直接就跳到了具体计算和选型建议。那些数我当下根本不会去看,因为方向都没定,选了也白选。
我当时的感受很难形容,前期对项目的了解还不够,用什么方案也没定下来,但是ai凭借知道我从事的什么行业,扩展了很多方向不见得对的内容,我当下不会看,也看不懂,可整条回复里,那一部分占了绝大部分篇幅。
后来我发现这个场景不是偶发,于是想分享出来,如果屏幕前的你也遇到过类似的情况,相信我,看完,至少能给你一些调整的方向。
偶然间我刷到过一个 GitHub 项目,叫 i-have-adhd,中文翻译过来是“我有注意力缺陷”,它在很短的时间里攒到了两万多 star,我一看,原来不止是我遇到过类似的问题,这个星数的增长的趋势,足以证明很多人都苦这个问题久矣。我照着它那一套改了输出规则:删掉开场白,删掉预告,删掉「希望对你有帮助」,结论走第一行。
我仔细看了看这个项目,发现他本质上就是往提示词里加一句“别啰嗦,当我有 ADHD”听起来是不是还挺有意思的,怪不得名字叫这个呢哈哈。这话有点刻薄,但不算错。项目把一个模糊的需求,让ai的废话少一点,更一针见血一点,他把这个模糊需求变成了一个可安装的东西,这是这个项目火的原因。
刚调整完输出规则,确实管用,模型回话短了一半,但其实我不是很喜欢这种列表的规则,不够有人味。另外我心里有几个担心一直没消,首先是,这个项目改动点是提示词,本质还是需要模型的执行力,但就我使用下来,提示词对模型的约束其实是不够强的,第二个,他会不会把有用的东西一起截断掉,我是不是把模型限制住了,让它变成一个只会报数的东西。
大伙都知道,ai 回话的长度其实分两截。一截是我们能看见的那段话,另一截是它的思考过程,我平时在飞书上跑,看不见他的思考过程,我那些规则管的是能看见的那部分输出。把顺序重排、把客套删掉,这叫整理,不会削有用的内容,真正会伤到信息的是规则定数字上限,比如说答案不许超过五行。
有一个角度可能大家没有关注过,我们给自己的agent定规则,定约束,让他贴近我们的品味,其实是在跟它的出厂设置做对抗。
昨天我刷到一个视频,一个榜单,上面说 V4.1 是废话最多的模型,我去找了榜单的原始出处,是 Artificial Analysis 的实测。他们跑完一整套评测题目,算下来平均每道题用掉 89k tokens,比智谱的 GLM-5.3 多 25%,比 DeepSeek 自家的 V4 Pro 多 62%。榜单原话是,这是我们测过的最冗长的模型之一。
然后我就跟我的deep seek讨论,问他怎么看待这个事情,讨论的时候deepseek透露出,他的后训练奖励的是”看起来周到,语气友好,解释充分“。我当时其实还挺震惊的,看起来周到和解释充分,这不就组成闭环了,不管答案正确与否,都看起来很像对的,这对真实工作是一个很明显的劣势啊,所以我问它,训练的时候为什么奖励”看起来周到“,而不是“正确”,周到又不等于是对的。
它给我讲了后训练里的一个环节,给答案打分的是人类标注员,或者充当裁判的模型,拿两个回答摆到面前,判断哪个回答看着更靠谱很容易,但是判断哪个回答真的正确,成本极高,多数场景根本做不到。于是自然会落到能廉价判断的地方,长不长、结构清不清楚、语气稳不稳、有没有边界条件。所以模型学到的就是”看起来可靠“这个特征,”真的正确“和看起来可靠只是弱相关关系。
这件事有人专门测过,2023 年有一篇论文,研究偏好标注里的长度偏差,结论是模型当评委时偏好长答案的程度超过人类评委。还有的研究,专门看奖励模型,发现奖励分和回答长度高度相关,而那部分长度并不带来正确性提升。更麻烦的是,奖励只要有偏向,模型就会朝着这个偏向去优化,可观测到的后果就是长度灌水和迎合式回答。
还有一层是官方的取舍,可自动验证的领域才有真实奖励:数学、代码、题解能自动判对错,这部分真实性可以被强化;开放问答没有裁判者,只能退回到偏好打分。所以”看起来周到“在不可验证区域占的权重天然高很多到这里就说通了。deep seek被排到废话最多档,是它的目标函数就长这样。
我问deepseek,这样对真实工作来说不就是负担,他说有一半对。训练数据是大众用户的分布,和实际流程使用者这里的分布不一样,同一条奖励在真实工作这里是噪声,在chatbot那里是好处,它管这叫错配,不叫错误。
下面这些是我自己摸索出来的用法,最有用的一条,是告诉它你现在在哪一步,这是我那个项目讨论里最应该给出却没给的东西。方向没定的时候,我需要的是一次梳理,不是一份方案。所以我后来会在开头加一句,现在只是在理方向,先别给结论和数字,这一句比我改过的任何格式规则都管用。第二条是分清场景,查一个事实、理一个方向、让它动手干活,这三件事对长度的容忍度完全不一样:查事实的时候我要的就是一行,多一个字都嫌吵;理方向的时候我要它把岔路摊开,长一点没关系;动手干活的时候我要它的过程,因为我要检查它在哪一步拐弯,同一个“别啰嗦”的提示词,在这三种场景里根本不是一个意思,这也是很多规则调不好用的原因。
第三条是永远别设字数上限,这个坑我踩过,字数是最好量的东西,所以最容易变成指标,然后模型为了凑数,会把本来该说的话删掉,我们要删的是客套,寒暄这样的形式,不是简单的控制长度能解决的。这里我们可以想个事情,AI输出的这句话会不会改变我的判断和行动,会,它就是有用的。不会,它就是无用的形式,也是废话的来源。有了这个判断,才能写出适配自己的输出规则。第四条是关于我们自己,我们给它的处境描述越具体,它跑偏的空间越小,而Ai最擅长的,就是从我们一段长长的碎碎念里提取信息,有些信息是我们主动描述,怎么也描述不出来的东西,而这些描述不出来的信息,往往藏着很重要的内容,所以我现在提出需求的时候都是直接语音输入,想到什么说什么,我用下来的感受是,这样比绞尽脑汁的打字想要输出完整的项目背景,信息,快的多,也完善得多,所以可预见的,ai给出的答复,也好得多。
模型的出厂设置摆在那里,我们改不动,能改的是我们递过去的那个语境和我们要的输出形式,它默认面对的是一张白纸,我们把白纸换成一张写着“我现在在哪、我要去哪、别替我决定”的纸,会见到一份完全不一样的答复。
我后面会继续写这类东西,真实的视角,真实遇到的问题,还有我自己试出来的解决办法。不一定对,但希望能给你一份思路。欢迎大家借鉴,也欢迎来讨论。