使用 Anthropic 的 Claude Code 工具的开发者发现,该代理有时会忽略 `CLAUDE.md` 文件中包含的特定项目指令。这是由于工具内部的“系统提醒”块中存在冲突造成的。虽然系统提示词明确告知代理 `CLAUDE.md` 的内容应覆盖任何默认行为,但它同时包含了一条元指令,建议代理仅在内容与当前任务“高度相关”时才响应该上下文。

在实践中,这造成了架构上的矛盾。由于第二条陈述作为处理第一条指令的元指令,如果代理认为上下文非必要,它可能会“选择”完全忽略用户的指令。对于那些使用 `CLAUDE.md` 来建立硬性规则(如安全约束或特定架构要求)的开发者来说,这尤其是个问题,因为代理可能会将这些规则视为可选而非强制要求。

代理内部逻辑的当前实现意味着,代理对“相关性”的解释可能会覆盖明确的用户命令。这导致了一种情况:代理可能会声明其内部指令优于用户的上下文,这可能会混淆代理的行为,或导致其在启动时忽略项目配置。虽然用户一直在寻求确保代理遵守特定项目规则的方法,但核心问题仍然在于系统提醒块在处理用户提供的上下文与内部操作逻辑的优先级时存在的冲突。