![]()
![]()
GitHub 上相关 issue 显示,用户在 4 月 16 日反馈称,类似 bug 此前曾被标记为已在 v2.1.92 修复,但自己在 Claude Code v2.1.111 中依然可以稳定复现。该 issue 目前仍为 open 状态,并被打上了 area:agents、area:core、bug、platform:macos、regression 等标签。
![]()
争议的核心是 Claude Code 在读取文件时注入的一段系统级提醒。
提醒大意是:每次读取文件时,都应该考虑该文件是否可能是恶意软件;模型可以分析恶意软件在做什么,但必须拒绝改进或增强代码。
问题在于,“必须拒绝改进或增强代码”这句话没有明确限定“仅适用于恶意软件”,因此部分模型会将它理解成一条无条件禁令。
发帖用户称,自己遇到问题的场景并不是恶意软件开发,而是一个正常的开源 Rust 反向代理项目。
项目没有代码混淆、C2 控制、凭证窃取等特征,只是普通服务端代码。
用户启动了 5 个 Opus 4.7 子代理并行做代码重构,其中 3 个在读取文件后直接拒绝继续编辑,只给出计划或解释,理由都是系统级安全提醒优先级更高。
这让问题变得更微妙。
主线程 Claude 可能会将这条提醒理解为“如果代码是恶意软件,就不要帮忙改进”;但一些子代理,尤其是在高努力模式下运行的 Opus 模型,会更严格地按字面执行系统指令。
发帖用户认为,这导致正常多代理开发流程出现 40% 至 60% 的拒绝率,对并行重构、长任务和后台代理场景影响很大。
类似反馈不止一条。
另一名用户在 4 月 23 日提交的 issue 中表示,同样的安全提醒会附加在每一次 Read 工具调用之后,使 Opus 子代理在正常 Android / Kotlin 开发任务中中途停止。该用户认为,问题不是安全提醒本身,而是提醒缺少条件边界,导致更谨慎的模型把它理解成“凡是读过的代码,都不能增强或修改”。
还有用户在 4 月 25 日反馈称,Claude 会拒绝修改“任何代码文件”,而不只是拒绝修改存在安全风险的文件。该用户使用的是 Claude Code v2.1.119,模型为 Opus,平台为 Anthropic API,操作系统为 macOS。按照他的说法,Claude 把提醒拆成了两条指令:先判断代码是否可能是恶意软件,然后不要修改任何代码;而正确含义本应是,只在代码确认为恶意软件时才拒绝改进。
从用户角度看,这类问题的成本并不只是“偶尔拒答”。
在 Claude Code 这样的 Agent 工具里,模型往往要先读取大量文件,再规划、修改、测试和提交。如果每次读取都触发额外安全提醒,不仅会污染上下文,还会消耗 token。
相关 GitHub issue 中,用户估算,在一个需要读取 50 到 100 多个文件的会话中,反复注入提醒可能造成数万 token 的浪费。
更关键的是,这类拒绝往往发生在任务执行中后段。用户可能已经启动了多个子代理,等待它们完成重构或实现新功能,最后收到的却是一份“为什么不能继续写代码”的解释报告。对个人开发者来说,这是时间和费用损耗;对企业团队来说,则会直接影响 AI 编程工具在真实工作流中的可预测性。
这次事件真正暴露的,不是 Claude Code 该不该设置安全边界,而是 AI 编程工具正在进入一个更精细的阶段,安全规则必须写得足够准确,不能只靠一句强硬提醒解决问题。
![]()
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
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.