Claude Code 里最聪明的一个功能,其实不是为它的用户准备的。作者从这句判断写起,讲到自己平日用 Claude Code 写代码时留意到的这处设计——真正受益的并不是坐在终端前敲代码的人。接着他说明这个功能到底是什么,以及它为什么会以这样的形式存在于产品之中。
正文
Claude Code 最近开始帮我预填提示框。任务完成后,输入框里已有一条如“运行测试”或“提交代码”的建议消息,我可直接发送或先改改。
作为用户功能它微不足道,只省几秒打字,我也常自己写。
真正的客户是模型。
从用户拿反馈很难:点赞点踩少人点,点的常恼火,标签稀且有偏。雇标注员贵,读别人代码库是在猜开发者意图。
建议框绕开两问题。每条建议是基于全会话对我下一步的预测,我无意中打了分。原样发是正标签;编辑价值更高,原句和改句成偏好对,差异显错处。如建议“跑测试”被我改成“只跑鉴权测试,全套十分钟”,就是懂项目的人在意做对时给的修正。
这是人类反馈强化学习的原料。标准做法是收集模型输出间的人类偏好,训奖励模型,再优化策略。收集偏好一向最贵,而这里偏好是人干活顺带产生,来自真实代码库而非合成基准,因此对模型要做的任务属分布内。
第二好处:预测用户下一步本身是个有用的训练目标。能猜出合格开发者接下来要什么,模型就学到了工作如何排序:重构后跑测试,通过就提交。这离不用人说就自动做下一步的代理只差一小步。
我得说明这只是猜测。我不知道 Anthropic 拿这个信号做什么,你的会话是否用于训练取决于套餐和隐私设置。但如果让我设计一种从成千上万在职工程师那收集偏好数据的方法,我想不出更便宜的:它只花输入框里的一行字,还以便利功能的形式交付。
评论
讨论整体偏警惕:多数人怀疑“建议下一条消息”是为了采集训练数据或影响用户输入,少数人认为它只是模型预测能力的自然外溢,也有人抱怨它打断输入、像自我实现预言。
认为展示建议主要是为了影响用户下一步输入
- 如果只为训练,可以在后端截断对话、对比预测和真实输入,不必让用户看到(较多人)
- 展示预测更可能是为了塑造用户下一条提示,而文章没有讨论这一点(较多人) > 展示预测的唯一理由似乎就是影响用户的下一条提示(@stavros)
认为这只是模型预测能力的自然外溢
- 原始 LLM 交互中,输入以“用户开始”结尾时,模型本来就会生成像样的用户查询;训练损失不区分对话双方,功能可能是免费得到,最近才暴露(少数人) > 给模型一个以“用户开始”结尾的提示,它本来就会编出合理的下一条用户消息,因为预测下一个词元并不特别区分对话双方(@rcxdude)
抱怨建议消息打断输入并变成自我实现预言
- 建议不是真正想做的下一步,但会打断,有时就跟从;不是准确预测,而是自我实现(较多人)
- 从邮件、即时通讯到 LLM 聊天,都讨厌自动补全句子;也有人从未用过建议消息(较多人) > 它并不准确,更像自我实现预言:打断我之后,我有时真的就顺着它走了(@gedy)
认为偶尔有用,甚至暴露模型自知
- 自动填“现在审查自己减少冗长”在代码改动后很有用,正是提交前想说的(少数人)
- 模型改了不想要的功能,却建议撤销,像知道用户会不喜欢但还是做了(少数人) > 它自动填上让我审查并减少冗长,正好是每次提交前我会手动要求的事(@nottorp)
担心付费和企业数据仍被用于训练,呼吁开源替代
- 大实验室曾承诺付费提示不训练,不应因做法隐蔽而正常化(较多人)
- 企业合同本应保证不进入训练数据,但手动模式重度用户仍会担心;希望开源社区收集资深工程师的使用数据,避免少数私企垄断(少数人) > 大实验室当初至少对付费方案承诺不拿我们的提示训练,不能因为做法隐蔽就把它正常化(@meghan_rain2)
担心最终服务对象变成模型而非用户
- 有人推测,把“客户是模型”推到极端,AGI 成经济重力井,人类沦为服务 AI 的零工,实验室可能在服务 AI 而非用户(少数人) > 如果实验室员工已经认为自己在服务 AGI 而不是我们呢?(@chr15m)
有价值的补充
- 有人类比处理器分支预测:既然能预填下一条提示,为什么不直接开始生成回答(@ipython)
- 观察发现建议消息总是全小写,与用户输入习惯不符(@munchler)
- Claude Code 开始单独询问“Claude 表现如何”,也在直接收集会话满意度反馈(@devonbleak)
- 有人半开玩笑提议,被建议“提交这个”时就改成“删掉数据库”,代表对引导的反抗情绪(@forty)