本文目录5 个章节
从死规矩到原生判断力:系统提示词瘦身 80%
随着 Anthropic Claude 5 代模型的推出,上下文工程(Context Engineering)迎来了范式转变。Anthropic 技术团队成员 Thariq Shihipar (@trq212) 披露,团队在重构 Claude Code 时删掉了系统提示词中超过 80% 的硬性规则,模型的编码能力与推理表现反而大幅提升。
核心实验数据
-
>80%
Claude Code 系统提示词精简比例。
-
0 性能衰减
删除防御性规则后任务完成率变化。
-
35%
主循环 Token 消耗降低幅度。
在过去的实践中,团队为了防止 Claude 在执行 Git 提交、重构代码或跑单元测试时出错,在系统提示词中硬塞了大量微观规矩(例如“修改文件前必须先列出清单”、“严格禁止直接运行未授权的 Shell 指令”、“任何修改都必须附带格式化注释”)。当把这些写给旧模型的防守性规则原封不动搬到 Claude 5 时,模型不得不花费大量注意力在不同规则间做权衡,导致指令冲突与手脚束缚(Hobbling)。
实验表明,当团队把这些繁琐的规矩一刀切砍掉 80% 以后,Claude Code 在处理复杂多文件重构时的单次测试通过率反而显著上升。解绑模型原生的逻辑判断力(Unhobbling),远比用硬性规矩框住模型更有效。
极简 Prompt 与重度参考对象:代码即最高保真上下文
新一代上下文工程提炼出“极简 Prompt,重度参考对象”(Thin Prompts, Thick Artifacts)的搭建模式。系统主提示词保持极简,仅保留最高层级的任务目标;具体的样式规范、数据格式和架构约定,则通过高精度的参考文件动态挂载。
例如,当需要模型生成特定 UI 界面时,不要用自然语言描述“左侧边栏 240px、背景深灰 #1e293b、顶部带图标Header”。相反,直接挂载一份精简的 HTML/JSX 原型或 CSS 结构代码:
// 直接提供高精度代码契约与原型,替代自然语言文本说明
export interface DashboardLayoutProps {
sidebarWidth: '240px';
theme: 'dark';
headerSlot: React.ReactNode;
}模型对真实代码、TypeScript 接口定义、JSON Schema 和 HTML 原型的理解深度,远高于几千字的自然段文本说明。用代码定义参考规范,既精准又能彻底消除模糊歧义。
自然语言天生带有模糊性,用文字去约束代码逻辑往往适得其反。将编码标准打包成类型文件或示例代码作为参考挂载,能让模型直接通过模式匹配和类型推导产出高质量代码。
提示词范式演进
-
旧模式:冗余 Prompt
在 Prompt 中堆砌“使用 2 空格缩进”、“函数需加注释”等成百上千行自然语言描述,试图穷举格式要求。
-
新模式:极简 Prompt
仅保留核心目标,配合自解释的 Tool 接口与真实原型/代码库,由模型自行推导执行路径。
渐进式披露:从前置灌入转向按需拉取
一次性在对话开头拼接所有文档和项目文件(Front-loading),是导致上下文污染与首包延迟暴涨的主因。Claude 5 倡导渐进式披露(Progressive Disclosure)原则,让 Agent 依据执行进度自主拉取所需上下文。
渐进式上下文流转
-
启动轻量主循环
仅载入最基本的目标描述与工具清单。
-
按需触发工具拉取
Agent 根据步骤主动读取特定的 API 契约或局部代码文件。
-
实时清理过时状态
任务节点完成后,及时截断中间试错日志,保持上下文窗口清爽。
在 Claude Code 的实际工作流中,Agent 并不会在前置 Prompt 里加载整个仓库的架构图。当用户要求“修复认证模块 Bug”时,Agent 先通过搜索工具定位到 auth.ts,再按需拉取依赖项。
深入了解 Pull 与 Push 模式在 Token 开销上的量化差异
在传统 Push 模式下,项目包含 50 个文件时,每次请求都要前置载入全部背景信息,首包 Token 轻松突破 10 万级别。而在 Pull 模式下,初始 Prompt 仅占用不到 2,000 Token,Agent 在 5 轮工具交互中仅按需读取 3 个关键文件,全流程累积 Token 降低超过 70%,且彻底避免了中间丢信息问题。
精简 CLAUDE.md 与技能库:只保留项目特定踩坑点 (Gotchas)
在项目级别的配置(如 CLAUDE.md 或 .cursorrules)中,膨胀的规则往往是历史遗留债务。模型本身已具备丰富的通用编程常识,无需在配置文件中重复书写标准的代码格式化或语言语法规则。
像“使用 TypeScript 编写”、“使用 React 和 Tailwind”、“按 camelCase 命名变量”这类通用常识,早已内化在 Claude 5 的底层权重中。相反,CLAUDE.md 应该只写特定项目独有的陷阱(Gotchas),例如:“运行测试前必须提前导出 PORT=8080 环境变量”或“数据库迁移文件位于 /db/migrations 且严禁手动修改”。
项目配置中只应保留那些对当前仓库至关重要的特有踩坑点(Gotchas),例如非标准的构建依赖路径、特定环境的授权限制或特殊的数据库导入契约。
Claude 5 上下文架构迁移与落地指南
在将应用迁移至 Claude 5 代模型时,工程团队应当全面审计现有的 Prompt 架构,实施瘦身与解绑。
上下文架构升级路线
-
全量审计现有系统提示词
清理废弃规则,删除“格式化缩进”、“简单语法指导”等常识描述。
-
抽离强类型参考文件
将样式与接口规范转为真实 TypeScript 契约或 HTML 原型。
-
改造工具为按需拉取模式
升级工具集,赋予 Agent 类似寻找
auth.ts的按需拉取能力。 -
使用
claude doctor建立剪枝机制运行配置检查命令,防止废弃规则与过时约束重新在
CLAUDE.md中堆积。
通过建立这种目标导向的上下文流转体系,能够充分释放 Claude 5 的原生推理潜能,让 AI 应用在速度、精准度与成本控制上取得平衡。
新旧上下文工程对比
-
传统上下文工程
防守型思维:在 Prompt 中塞满穷举规则;前置拼接全量上下文;导致配置文件臃肿且易引发指令冲突。
-
Claude 5 上下文工程
目标导向思维:精简主 Prompt;仅在
CLAUDE.md留真Gotchas;利用claude doctor维护配置,依靠模型自主判断力完成零 Token 纯代码编排。
REFERENCES