
一句话看懂:开发者 Johanna Larsson 发布了一个通过 Claude 的“Hooks”功能定制输出词汇的脚本,能让 Claude 不再重复“honest takes”“load-bearing seams”等惯用短语,并替换成用户自定义的词汇。这个发现不仅解决了 AI 聊天中“车轱辘话”的痛点,也为普通用户和开发者提供了一种无需等待模型更新的个性化控制方式。
事件核心:发生了什么
Claude 用户普遍反映,该模型在对话中频繁使用“honest takes”“load-bearing seams”“you’re absolutely right”等固定表述,导致回复显得模板化和机械。Johanna Larsson 在个人博客中分享了一个基于 Claude 官方“MessageDisplay”钩子(Hook)的解决方案。她编写了一个 Python 脚本,利用正则表达式在消息显示前替换指定短语,例如将“load-bearing”替换为“cooked”、“honest take”替换为“spicy doodad”。用户只需将脚本保存为 ~/.claude/hooks/wordswap.sh 并赋予可执行权限,然后在 ~/.claude/settings.json 的 hooks 配置块中引用该脚本,重新启动会话即可生效。这一方法完全是客户端侧的,不修改模型本身的权重或行为,仅调整输出给用户的文本。
为什么重要
这揭示了当前大模型在工程化部署中一个被忽视的细粒度控制需求:模型内部 prompt 和训练习惯可能导致特定短语的高频复现,而这种“语癖”往往引发用户疲劳和信任问题。通过 Hook 机制,用户或开发者可以在不触及核心模型、不依赖 API 回调的情况下,以极低成本定制对话风格。这一思路适用于所有提供事件钩子或中间件的 AI 产品(如 OpenAI 的 function calling、本地推理框架的 filter 层),为生态内的个性化工具开发打开了新的入口。同时,它也间接反映了 AI 产品在用户体验打磨上仍存在“过度优化”的盲区——模型可能在训练中被鼓励使用“坦诚”“坚定”等正反馈词汇,但执行层面反而损害了自然感。
对用户/开发者/创作者的影响
对于普通用户,这意味着可以通过简单的文本替换脚本,让语气生硬或重复的 AI 助手变得更贴合个人偏好,甚至转化为轻松幽默的表达。对于开发者,该案例是理解 Claude 内部 Hook 系统及其通信协议(通过 stdin/stdout 传递 MessageDisplay 事件 JSON)的实操入门,可以在此基础上扩展出更多功能,如同步过滤敏感词、自动翻译、或集成情绪标签。对于内容创作者,它提供了一种即时调节生成文本风格的手段,不过需要注意替换可能会改变句子原意,建议仅对高频且非关键术语进行操作。目前公开信息显示,此方法仅适用于 Claude 桌面版或支持本地 Hook 的版本,不适用于 Web 版或移动端。
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
值得关注的后续
首先,Anthropic 是否会注意到这种用户自定义行为,并在后续更新中提供正式的“词汇过滤”或“风格配置”界面,值得观察。其次,类似 Hook 机制是否会向开发者公开更多事件类型(如输出生成前、长期记忆写入前),从而让第三方工具更深入介入对话管理。最后,社区很可能衍生出一批公共“词汇替换预设”,例如“极简模式”、“幽默模式”或“专业术语模式”,进一步改变 AI 对话的交互范式。对于担心模型“语癖”的团队,也可以将此作为测试工具,快速检测哪些高频短语需要优化。


