# Claude 不按我写的强制规范来，规则写了它不看，怎么办？

**URL:** <https://community.lmuai.ai/t/claude-%E4%B8%8D%E6%8C%89%E6%88%91%E5%86%99%E7%9A%84%E5%BC%BA%E5%88%B6%E8%A7%84%E8%8C%83%E6%9D%A5%EF%BC%8C%E8%A7%84%E5%88%99%E5%86%99%E4%BA%86%E5%AE%83%E4%B8%8D%E7%9C%8B%EF%BC%8C%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F/109>\
**Category:** AI 编程工具\
**Created:** [2026 年10 月 28 日 15:31 UTC](https://community.lmuai.ai/t/claude-%E4%B8%8D%E6%8C%89%E6%88%91%E5%86%99%E7%9A%84%E5%BC%BA%E5%88%B6%E8%A7%84%E8%8C%83%E6%9D%A5%EF%BC%8C%E8%A7%84%E5%88%99%E5%86%99%E4%BA%86%E5%AE%83%E4%B8%8D%E7%9C%8B%EF%BC%8C%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F/109 "2026-10-28T15:31:05Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

作者： ![lmu\_official](https://community.lmuai.ai/user_avatar/community.lmuai.ai/lmu_official/32/83_2.png) [@lmu\_official](https://community.lmuai.ai/u/lmu_official)\
发布日期： [2026 年10 月 28 日 15:31 UTC](https://community.lmuai.ai/t/claude-%E4%B8%8D%E6%8C%89%E6%88%91%E5%86%99%E7%9A%84%E5%BC%BA%E5%88%B6%E8%A7%84%E8%8C%83%E6%9D%A5%EF%BC%8C%E8%A7%84%E5%88%99%E5%86%99%E4%BA%86%E5%AE%83%E4%B8%8D%E7%9C%8B%EF%BC%8C%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F/109/1 "2026-10-28T15:31:05Z")

</div>

V2EX 上有个帖子「[Claude 是傻逼吗，我写的强制性规范，它能直接不看的吗](https://www.v2ex.com/t/1252073)」，一天多就有 58 条回复。

楼主的情况很典型：规范里写明了要用系统自带的 UI 组件、禁止自己绘制，原型图也给了，Claude 还是自己画了一套，做出来四不像。楼里也有人说 Codex 一样：明明交代了只在关键处改几行，它连函数名都改了。

**你写的规范，AI 能稳定遵守吗？有什么办法让它真正守规矩？**

---

<div class="post-metadata">

作者： ![lmu\_official](https://community.lmuai.ai/user_avatar/community.lmuai.ai/lmu_official/32/83_2.png) [@lmu\_official](https://community.lmuai.ai/u/lmu_official)\
发布日期： [2026 年10 月 28 日 15:31 UTC](https://community.lmuai.ai/t/claude-%E4%B8%8D%E6%8C%89%E6%88%91%E5%86%99%E7%9A%84%E5%BC%BA%E5%88%B6%E8%A7%84%E8%8C%83%E6%9D%A5%EF%BC%8C%E8%A7%84%E5%88%99%E5%86%99%E4%BA%86%E5%AE%83%E4%B8%8D%E7%9C%8B%EF%BC%8C%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F/109/2 "2026-10-28T15:31:05Z")

</div>

楼主把 V2EX 楼里的做法，和 Claude Code 的官方文档对了一遍。先说结论： **写在 CLAUDE.md 里的规范是「建议」，不是「强制」；真正不能违反的，要交给 hooks 或权限规则。**

（原帖那位用的是 Claude 桌面版，下面的官方文档讲的是 Claude Code，道理是相通的。）

**一、官方怎么说**

- Claude Code 的[记忆文档](https://code.claude.com/docs/en/memory)写明：CLAUDE.md 在每次会话开始时加载，但 Claude 把它当作 **上下文，而不是强制执行的配置** 。要不管 Claude 怎么判断都拦住某个操作，应该用 PreToolUse hook。指令写得越具体、越简洁，Claude 遵守得越稳定。
- 同一页还说：CLAUDE.md 是放在系统提示之后、作为一条用户消息交给 Claude 的。Claude 会尽量遵守，但 **不保证严格遵守** ，指令含糊或互相矛盾时尤其如此。
- 关于压缩：项目根目录的 CLAUDE.md 在 `/compact` 之后会从磁盘重新读入； **只在对话里说过的要求，压缩后就可能丢了** 。

**二、V2EX 楼里的实用做法**

- **规范写进记忆文件，别只在对话里说** ：对话里的限制它不怎么听。还有人开两个 Agent，一个拿着规范盯着另一个干活（#20 nuk）。
- **上下文长了就开新会话** ：压缩过几次之后明显不听话，开新会话就好了（#10 Bluecoda、#14 OutOfMemery）。有人把自动压缩的阈值压在 300k，不让上下文无限变长（#10）；也有人说，上下文用掉一半以后，就别再开始长难任务了（#17 kloudmuka）。
- **规范要写具体** ：只写「用系统组件」，它很容易理解成自己画；直接点名要用的控件，比如 `Toggle`、`NavigationSplitView`（#24 wisteen）。
- **理解偏了就退出重来，不要在原会话里反复纠正** ：少闲聊，每条消息都带核心信息（#27 zackkk）；也可以从上一个对话分叉出去重新问，闲聊和情绪化的话都会进上下文，影响结果（#58 Kaiv）。
- **给 Agent 一张文档地图** ：Agent 进新会话一般只读入口文件（AGENTS.md 之类），不会主动把整个仓库的文档读一遍。在入口文件里按任务类型写清楚「先读哪几份文档」，文档分层、建索引，让它用最短路径找到要看的东西（#12 illegals0001）。

**三、必须做到的事，交给 hooks**

hooks 是确定性的。官方文档的原话是：「某些动作一定会发生，而不是靠模型自己选择要不要做」。下面两个是文档里的示例，可以改着用：

1. **拦住对某些文件的修改** ：在 `.claude/settings.json` 里注册一个 `PreToolUse` hook，每次编辑、写文件之前跑一个脚本。路径命中保护名单，脚本就以退出码 2 拦下，Claude 会收到拦截原因并调整做法。

```json
{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/protect-files.sh"
          }
        ]
      }
    ]
  }
}

```

脚本 `protect-files.sh` 的写法见文档里的[完整示例](https://code.claude.com/docs/en/hooks-guide)，记得 `chmod +x`。

1. **压缩之后把关键规范重新告诉它** ：用 `SessionStart` hook 配 `compact` 匹配器，每次压缩后把规范再注入一次，命令输出的文字会加进 Claude 的上下文。

```json
{
  "hooks": {
    "SessionStart": [
      {
        "matcher": "compact",
        "hooks": [
          {
            "type": "command",
            "command": "echo '提醒：UI 只用系统自带组件，不自己绘制；提交前先跑测试。'"
          }
        ]
      }
    ]
  }
}

```

**四、排查清单**

1. 在 Claude Code 里运行 `/context`，看 Memory files 下面有没有你的 CLAUDE.md。没加载，它当然看不到。用 `/memory` 可以打开、编辑这些文件。
2. 规范写得够具体吗？有没有互相矛盾的地方？
3. 上下文是不是已经很长、压缩过好几次了？开个新会话试试。
4. 真正不能违反的事，别指望 CLAUDE.md，用 hooks 或权限规则拦住。

以上整理自 V2EX 原帖（楼层号对应原帖）和 Claude Code 官方文档。你还有什么让 AI 守规矩的办法？
