注册并分享邀请链接,可获得视频播放与邀请奖励。

Charles在路上
@Charles77xixi
00后程序员👨🏻‍💻|前大厂 Infra,目前在做 Game Agent 把 AI 真正用进项目、把工资变成资产,联系方式在个人网站 合作 📮:charles77xixi@gmail.com
加入 January 2025
285 正在关注    4.6K 粉丝
最近看到不少人吐槽 用中文和Claude对话,它回英语、回韩语、回日语,就是不回中文。 很多人第一反应是去全局的 CLAUDE.md 里加一句请用中文回复,但这种办法只能管用一小会儿,如果对话一长又容易漂移。 根因是 CLAUDE.md 是会话开头加载一次的静态偏好,token 一多就被上下文淹没了,模型注意力衰减,被忽略的概率直线上升。 真正稳的做法是挂一个 UserPromptSubmit hook,在 ~/.claude/settings.json 里加: { "hooks": { "UserPromptSubmit": [ { "hooks": [ { "type": "command", "command": "echo '始终用简体中文回复,代码和命令保留原文。'" } ] } ] } } 原理很简单:这个 hook 会在你每次发消息之后、Claude 处理之前触发,它打印到 stdout 的内容会被当成上下文注入进这一轮。所以你每和Claude对话一次,用中文回复就被贴到上下文最末尾,永远是模型刚刚看过的话,而早有研究证明 LLM 对末尾内容最敏感,这条约束就一直压在它眼皮底下,被忽略的概率就会小很多。 CLAUDE.md 和 hook 的差别:hook 靠 Claude Code 这个程序每一轮强制注入,不依赖模型自觉。 虽然它不是 100% 的硬保证,最终服不服从还是模型内部的行为,但实测这个约束足够强,日常基本不会再飘。
显示更多
0
32
26
4
转发到社区