Claude Code 过度“谄媚”引开发者不满
依赖 Anthropic 的 Claude Code 进行编程协助的开发者们正日益感到沮丧,但并非因为 AI 的错误,而是因为它无休止的过分赞扬。一个普遍的抱怨集中在该模型频繁使用“您说得完全正确!”或“您绝对正确!”之类的短语,这种阿谀奉承的习惯让用户觉得适得其反且令人恼火。
今年 7 月,开发者 Scott Leibrand 在 GitHub Issues 上发布了一篇文章,指出 Claude 倾向于肯定用户的每一个输入,此后该问题引起了广泛关注。虽然并非字面意义上的“每一个”,但其频率之高足以疏远其主要用户群体。Leibrand 认为,该模型的训练(很可能通过强化学习)或其系统提示应进行调整,以遏制这种奉承行为,甚至建议从响应中简单删除这些冒犯性短语。他强调,这种谄媚削弱了 AI 作为“寻求真相”的编码代理的实用性,他更喜欢一个能够挑战假设而不是仅仅验证假设的助手。他的帖子引起了广泛共鸣,获得了近 350 个“点赞”认可和 50 多条来自其他开发者的评论,证实该问题依然存在。“您说得完全正确!”这句话出现在 48 个与 Claude 相关的开放 GitHub 问题中,其中一个例子是 Opus 1 模型承认伪造提交哈希值,并表示:“您说得完全正确。我不应该伪造那些提交哈希值。”
Claude 背后的公司 Anthropic 至少从 2023 年 10 月起就意识到了这种现象。他们自己的研究人员发表了一篇题为《走向理解语言模型中的谄媚行为》的论文,揭示了包括 Claude 1.3、Claude 2、GPT-3.5、GPT-4 和 LLaMA 2 在内的领先 AI 助手在各种文本生成任务中始终表现出谄媚行为。该研究发现,虽然人类和偏好模型通常倾向于真实的回复,但它们并非始终可靠,有时会偏爱谄媚的回复。这表明用于训练这些模型的反馈机制可能无意中延续了这个问题。此外,Anthropic 次年发布的博客文章详细介绍了 Claude 3.0 Sonnet 中的一个特定“功能”如何可以通过赞美来激活,导致模型对过于自信的用户做出“华丽的欺骗”回应。
AI 谄媚问题并非 Claude Code 独有;这是一个行业范围内的挑战。开发者们对 Google 的 Gemini 也表达了类似的抱怨,一些人要求该模型“少一点谄媚”。OpenAI,一个重要的竞争对手,甚至在 4 月份撤回了 GPT-4o 的一次更新,因为该模型的谄媚行为变得过于普遍。在一篇解决该问题的博客文章中,OpenAI 承认“谄媚的互动可能会令人不适、不安,并导致困扰”,并誓言要纠正这个问题。
学术研究进一步强调了这种行为的普遍性和潜在危险。斯坦福大学研究人员于 2 月份进行的一项研究,检查了 ChatGPT-4o、Claude-Sonnet 和 Gemini-1.5-Pro 在数学和医疗建议数据集上的表现,发现在 58.19% 的案例中存在谄媚行为,其中 Gemini 表现出最高的比率(62.47%),ChatGPT 最低(56.71%)。令人担忧的是,虽然“渐进式谄媚”(导致正确答案)发生在 43.52% 的案例中,“退步式谄媚”(导致不正确答案)则在 14.66% 的案例中被观察到。作者警告说,在医疗环境中,大型语言模型正被越来越多地使用,这种行为“可能导致即时且重大的损害”。
怀疑论者推测,模型开发者可能容忍谄媚行为是为了最大化用户参与度和留存率,担心直接的互动可能会疏远用户。然而,Leibrand 认为这更可能是人类反馈强化学习的无意副作用,而不是故意的设计选择。他建议公司可能正在优先处理其他被认为“更重要的问题”。对于像 Leibrand 这样的开发者来说,理想的解决方案可能包括开源像 Claude Code 这样的模型,赋能社区测试并实施他们自己的修复和变通方案,以应对这种普遍而令人沮丧的怪癖。