Hacker News 中文摘要

RSS订阅

Claude Code 消息建议功能的真正客户,其实是模型自己 -- Claude Code’s suggested message feature: I think the real customer is the model

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)