今天排查了一个诡异的问题:最近 Opus 4.8 用起来总觉得"不对劲",回复质量飘忽,偶尔提到一些我没问过的东西。


查了半天,发现问题出在我自己身上——我写的 17 个 Hook 脚本一直在往模型的对话上下文里灌垃圾。
Claude Code 的 Hook 有两条输出通道。一条是模型能看到的,一条是只有你终端能看到的。大部分人写 Hook 的时候不会注意到这个区别,默认的输出方式恰好走的是"模型能看到"那条。
结果就是:你每调用一次工具,Hook 就往模型的上下文里塞一条它根本不需要看的提醒。我的情况是单个对话被注入了 280 次,其中有一个计数器 bug 让模型以为"本 session 已经 21810 次工具调用了"。
模型不是变笨了,是在一堆你自己注入的噪音里挣扎。
修法就一行,把 Hook 里的 echo "xxx" 改成 echo "xxx" >&2,从"模型能看到"切到"只有终端看到"。
如果你写了自定义 Hook 又觉得模型表现变差了,先查这个。
post-image
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 评论
  • 转发
  • 分享
评论
请输入评论内容
请输入评论内容
暂无评论