文章摘要
文章介绍了Claude 5上下文工程的6条优化法则。测试显示削减提示词不影响效果甚至提升评分。法则包括减少硬性规则、放弃示例投喂、按需加载信息、避免重复指令、让模型自动记忆、提供具象参考,还可使用 /doctor 命令一键优化,上下文工程正取代传统提示词工程。

很多开发者都有过这样的经历:对着AI模型写下几百行的提示词,从代码风格到提交规范,从测试流程到安全审查,恨不得把所有能想到的注意事项都塞进去,写完后以为终于能让AI乖乖听话,结果却常常发现模型的表现反而更加拧巴,甚至偏离预期。

近期两家头部AI公司的测试结果给出了颠覆性的答案——Anthropic团队将Claude Code的系统提示词砍掉了80%以上,搭配全新的Claude Opus 5和Claude Fable 5模型进行内部编码评估,最终效果却没有任何变化;而三天前的同类测试显示,相关团队将GPT系列模型的提示词砍掉66%后,评分反而提升了15%,token消耗更是减半。两家团队在同一周得出了完全一致的结论:你精心调教数月的提示词,很大概率全是废话。

减少硬性规则,让模型自主判断

过去的Claude Code系统提示词里有大量一刀切的规则,比如“代码里默认不加注释,永远不要写多段注释块,最多一行,不要自己创建规划文档”。这些规则听起来合理,但却限制了模型应对特殊场景的能力——有些代码确实需要详细注释,有些用户就是希望AI帮忙生成规划文档,固定规则会让模型在遇到例外场景时无所适从。

优化后的提示词只保留了一句话:“写出来的代码要像周围的代码,注释密度、命名习惯、代码风格,和已有代码保持一致”。模型可以直接通过上下文自主判断是否需要添加注释,用一句话替代了一整段禁令。

实操建议:打开你的配置文件,搜索“不要”“禁止”“always”“never”这类绝对化表述,每找到一条都要问自己:模型通过查看代码库能否自行推断这条规则?如果答案是肯定的,就果断删除。

放弃示例投喂,优化工具接口设计

过去少样本提示是行业公认的黄金法则,通过提供示例来告诉AI模型你想要的格式、风格和结构。但Anthropic团队发现,对于新一代模型来说,提供示例反而会限制模型的探索能力,移除示例后效果反而更好,因为模型自主生成的方案比预设示例更有创意。

他们用TodoWrite工具做了对比:左侧是旧版的9100字符的详细说明书,塞满了使用说明和示例;右侧是新版的简洁工具卡片,仅包含一段功能描述、三个状态标签和一条核心规则。最终精简后的设计效果反而更好。

与其花大量精力编写示例教模型使用工具,不如把工具本身设计得更直观:取好清晰的参数名、列清楚枚举值、将约束条件写在接口定义里,模型可以直接通过接口设计理解使用方式。有开发者比喻这就像入职培训:你不需要给新员工写一本操作手册,给他一套设计清晰的工具,他自己就能快速上手。

按需加载信息,避免上下文过载

很多开发者习惯将所有流程信息都塞进配置文件中,比如代码审查流程、部署步骤、验证清单、安全规范等全部放在一个文件里。Anthropic团队之前也犯过同样的错误,将代码审查的详细流程和验证步骤全部写入系统提示词,每次对话都会加载这些内容,无论当前会话是否需要进行代码审查。

更优雅的解决方案是“渐进式披露”:不是所有信息都需要在一开始就提供给AI。代码审查流程可以拆分到独立的Skill文件中,当模型需要进行代码审查时再自行调用;验证步骤同样可以拆分出去;工具定义也可以采用延迟加载的方式,模型需要时先搜索完整定义再调用。

你可以将配置文件中超过5行的流程性内容拆分出去,变成独立的Skill文件,只在主配置文件中保留一句话指向该文件即可。更重要的是,模型实际接收的信息存在多层级结构,你的提示词只是最上层的一部分,下面还有引用文件、系统提示词、配置文件、Skill文件等,每一层都会消耗上下文窗口,塞得越满,真正有用的信息被淹没的概率就越大。

避免重复指令,每条规则只说一次

这条经验和OpenAI提出的“每条指令只说一遍”不谋而合。Anthropic团队在翻看内部对话记录时发现,同一个请求中居然同时出现了“适当添加注释”和“不要添加注释”这两条互相矛盾的指令,一条来自系统提示词,另一条来自Skill文件。

模型并不会聪明地选择其中一条执行,反而会花费大量token试图兼顾两边,最终导致两边都做不好。就像游戏排位时四个队友同时发出矛盾的指挥,玩家往往会原地发呆甚至送出人头。

实操建议:将你的系统提示词、配置文件和所有Skill文件全部打开,搜索同一个关键词,比如“comment”“test”“verify”,查看是否有两条规则在描述同一件事但措辞不同。如果有,只保留一条放在最合适的位置,工具的使用说明放在工具描述中即可,不需要在系统提示词里重复编写。

让模型自动记忆,减少手动维护

过去团队会鼓励用户通过快捷键将项目信息写入配置文件,将其作为AI的记忆库,项目结构、团队偏好、历史决策等内容全部往里塞。现在新一代模型已经自带自动记忆功能,配置文件可以从百科全书转变为项目速查卡。

只需要简单记录仓库的核心用途,然后将大部分篇幅留给那些模型无法通过代码自行推断的专属信息:比如团队将所有类型定义放在一个巨型文档中的约定、部署流程中的隐藏前置步骤等。通用的代码风格规则,比如“写代码要整洁”“函数不要太长”“变量名要有意义”等,完全不需要手动编写,新一代AI通过查看现有代码就能自动识别团队的代码风格。

提供具象参考,替代规格说明书

过去给AI交代需求时,很多人习惯先写一份Markdown文档,列清楚要做什么、不要做什么,类似产品需求文档。但Anthropic团队发现,新一代模型能够处理比Markdown文档复杂得多的参考材料。

具象参考的优先级是:HTML页面效果 > 截图 > 文字描述。比如你想让AI制作一个登录页面,与其写一大段文字描述“顶部导航栏、中间是表单、底部有链接”,不如直接提供一个HTML文件,告诉模型“照这个做”。测试用例也是很好的参考材料,给模型一份详细的测试文件,告诉它“跑通这些测试就算完成”,比写一页需求文档更加有效。

还有一种实用的玩法是使用评分标准(rubric):你可以将“好的API设计长什么样”写成一份评分表,模型可以在工作流中调用验证Agent,用这份评分表来检查输出质量。

有创业者感慨道:“大多数系统提示词和Skill文件的保质期其实很短,它们本质上是在给当前模型的缺点打补丁,但这些缺点很可能已经被下一代模型修复了。”你今天花三天调试出来的一套提示词,可能在下一个模型版本中就完全失效了。

一键优化工具:/doctor命令

如果觉得手动逐条检查太过麻烦,可以使用Claude Code内置的/doctor命令。在编辑器中输入该命令后,工具会自动扫描你的配置文件和Skill文件,帮你找出冗余内容、互相矛盾的规则,以及模型可以通过代码自行推断的信息,快速完成上下文工程优化。

Hacker News上有网友戏称传统的提示词工程为“提示词占星术”,意思是大家都在凭感觉堆砌规则。但也有开发者反驳:“可预测性才是工具的基本属性,大语言模型本质上仍是概率机器,这一点从未改变。”

新一代模型虽然更加智能,但并不意味着可以完全放弃上下文工程。Anthropic团队也没有将系统提示词完全删除,而是保留了20%的必要内容,也就是那些模型无法自行推断的核心约束规则和产品定义。需要砍掉的,是那些可以通过代码推断、重复出现、互相矛盾的冗余内容,留下的应该是模型无法自主获取的专属信息。

本质上,上下文工程正在取代传统的提示词工程。提示词只是你直接发送的单行文本,而上下文是模型实际接收到的全部信息,包括系统提示词、配置文件、Skill文件、自动记忆内容以及你引用的参考文件。随着模型能力不断升级,整个上下文工程的玩法也需要随之调整。

不妨打开你的AI编辑器,尝试运行一下/doctor命令,看看你的配置文件中藏着多少冗余内容。

以上内容不代表本平台立场,仅供读者参考