乐于分享
好东西不私藏

别再给AI写死规则了!你的“完美Prompt”正在拖垮模型

别再给AI写死规则了!你的“完美Prompt”正在拖垮模型

你的"完美Prompt",正在拖垮模型。


一个反常识的真相

Claude Code 核心成员 Thariq(Anthropic 创始团队、Agent SDK 负责人)前两天发了一篇复盘,干了一件很多人想都不敢想的事:

他们把 Claude Code 的系统提示词删掉了超过 80%。

不是随便删删,是拿编码评测验证过的。结果?没有任何可测到的损失。

删掉的是什么?是他们过去几年精心写下的规则——"不要加注释"、"文档酌情保留"、"绝不写多行注释块"……这些当年为了防模型翻车而设的"硬规则",现在成了累赘。

如果你也在用 Claude Code、Cursor 这类工具,大概率干过同样的事:给 AI 写规则,发现它不听就补一条,过几天又踩坑再补一条。规则文件越堆越厚,塞满了"必须""绝对""严禁"。

Thariq 的判断很明确:到了 Claude 5 这一代,你写的那堆规则,很多正在拖累模型。


为什么"规则"反而成了负担?

要理解这件事,得先看清模型每次干活时到底拿到了什么。

你以为你只输入了一句话,实际上模型拿到的是系统提示词 + Skills + CLAUDE.md + 历史记忆 + 你的当前输入的超级混合体。

Thariq 读团队的使用记录,发现同一次请求里经常有互相打架的指令

  • 系统提示词说:"文档酌情保留"
  • 某个 Skill 规定:"不要加任何注释"
  • 你的输入里又写着:"把这段逻辑解释清楚"

模型动手前,得先在这堆重叠又矛盾的"圣旨"里疯狂内耗,猜到底该听谁的。

早期模型判断力弱,不给硬规则确实会乱来。所以 Anthropic 宁可一刀切,写下"默认不写注释,绝不写多行注释块"。哪怕这话在某些场景下是错的。

但现在,Claude Opus 5 和 Fable 5 的判断力已经够强。 它们能自己处理这些决定,不再需要明确规则兜底。

原来那条"绝不写注释",现在改成一句话:

"写出读起来和周围代码一致的代码,匹配它的注释密度、命名和惯用写法。"

把决策权还给模型,效果反而更好。


6个必须抛弃的"AI使用旧习惯"

Thariq 把这次反转拆成了六组对照。每一组,过去都是广泛认可的最佳实践,现在都成了该改的习惯。

从"给死规则"到"给判断力"

❌ 旧做法:"必须用3个空格缩进""绝不写多行注释"

✅ 新做法:"写出与周围代码风格一致的代码,匹配当前的注释密度和命名习惯"

写死的规则在一部分场景里必然是错的。模型判断力上来后,宽泛的意图比僵硬的规则命中率高。

从"疯狂举例子"到"设计好接口"

❌ 旧做法:给模型写 9100 字的 Few-Shot 示例,演示工具怎么用

✅ 新做法:优化工具参数本身。比如 Todo 工具的状态枚举设为 pendingin_progresscompleted,再加一句"保持只有一项处于 in_progress",模型瞬间就懂了

举例子会把模型框死在特定的探索空间里。设计好接口,比写例子更高效。

从"全塞前面"到"渐进式披露"

❌ 旧做法:把几万字的文档全堆进 CLAUDE.md,担心模型找不到

✅ 新做法:拆成文件树,需要哪块加载哪块。验证规则、代码审查规范拆成独立 Skill,按需调用

新模型很擅长在恰当的时机加载恰当的上下文,不用你一次性全塞给它。

从"反复强调"到"简洁的工具描述"

❌ 旧做法:系统提示词里提一遍,工具描述里再写一遍用法

✅ 新做法:用法说明直接写进工具描述本身,系统提示词里删掉重复内容

新模型不吃重复叮嘱这套。说一遍就够了。

从"手动记笔记"到"自动记忆"

❌ 旧做法:用 # 快捷键手动把信息存进 CLAUDE.md

✅ 新做法:让模型自动保存与当前工作相关的记忆,不用你手动干预

从"简单规格"到"丰富引用"

❌ 旧做法:写长篇文字规格说明

✅ 新做法:直接 @ 提及代码文件、HTML 原型、测试用例。代码是最高保真的引用,效果远超几百字描述或一张截图


你的 CLAUDE.md 明天该怎么改?

Thariq 给了分层重构指南,建议直接照做:

CLAUDE.md 保持极度轻量

简短说清仓库是干嘛的,然后把 80% 的篇幅留给"坑"

比如:"本项目所有类型定义都在 types.ts 中,其他地方严禁新建类型"——这种反常规约定必须写。

而模型看一眼文件系统就知道的常识,一个字都别写。

Skills 当作"轻量级外挂"

适合沉淀团队特定的最佳实践。如果某个 Skill 太长,拆成多个小文件。别让它变成新的"规则牢笼"。

优先引用代码文件

养成用 @ 提及文件的习惯。给模型它最熟悉的语言(代码),而不是让它去猜你的自然语言描述。


别走向另一个极端

看到这里,千万别手滑把配置文件全删了。

"松绑"的前提是模型判断力足够强。 换成老模型,没有护栏照样翻车。

更重要的是,约束要分场景

可以放权的
必须留硬规则的
风格偏好
删文件
注释密度
碰生产数据
文档详略
未提交文件操作

后果极其严重的领域,硬规则该留就留。 怎么做都不算错的风格问题,交给模型自己判断。


现在就打开配置开始删

如果你手里正好有一个越写越厚的 CLAUDE.md,或者一堆互相打架的 Cursor rules,第一个动作很简单:

试着删。

逐条问两个问题:

  • 这条是不是模型看一眼代码就知道的显而易见的事?是,就删。
  • 这条是不是怎么做都不算错的风格偏好?是,就换成一句宽泛的意图。

Anthropic 还推出了 claude doctor 命令,在 Claude Code 里用 /doctor,帮你把 Skills 和 CLAUDE.md 调整到合适的规模。


写在最后

模型在变强,输入给它的上下文也得跟着换写法。

过去那套"加规则、堆例子、全塞前面"的经验,很多到了 Claude 5 这代该退场了。下次再想给模型补一条规则前,先想想:它真的需要这条吗?

从"控制狂"变成"指挥官",把判断力还给模型,把精力留给真正的架构设计。


📎 原文参考:Thariq《The new rules of context engineering for Claude 5 models》


💬 灵魂拷问:

你的 CLAUDE.md 或 Cursor rules 有多长?有没有遇到过"规则打架"的坑?


如果这篇文章帮你理清了思路,点个「在看」转发给那个还在熬夜写 Prompt 的同事 😏

关注我,了解更多AI最新消息