你写了一个完美的钩子脚本,测试通过,日志显示正常执行,但AI就是不听你的。这不是bug,是设计。
Claude Code的UserPromptSubmit钩子允许在每次用户提交消息时注入额外上下文。开发者按文档返回JSON格式的additionalContext,理论上这些内容会进入模型视野。但现实是:钩子输出了,模型忽略了。
![]()
问题出在一个硬编码的包装层。钩子返回的内容被包裹在特定格式中,模型将其识别为低权威性的元数据而非用户指令。这个包装层没有开关,钩子作者无法选择退出。
![]()
技术社区已经定位到具体问题。Anthropic的issue #27365记录了这一缺陷,提出了干净的修复方案,但数月未获回应。任何试图通过钩子向Claude Code注入知识的工具都会撞墙——PreBrief只是恰好暴露了这个问题的用例之一。
两个针对当前版本Claude Code的实证测试确认了"包装层-权威性"机制。钩子确实在执行,输出确实在传输,但在模型注意力分配中处于劣势地位。
![]()
这指向一个更深的结构性教训:代理设计中的扩展点如果缺乏对信息层级的控制,会把工具开发者逼进猜谜游戏。钩子的价值不在于能否触发,而在于触发后能否被认真对待。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.