引言:一次"反向"的工程胜利

在 LLM 应用领域,过去两年的主旋律几乎一直是"加法"——更长、更详尽、更面面俱到的系统提示词(System Prompt)。开发者们信奉一个朴素直觉:把规则写得越全,模型就越不容易犯错。然而 2026 年 7 月 24 日,Anthropic 官方技术博客发布的一篇文章,彻底颠覆了这套叙事。

这篇题为《The new rules of context engineering for Claude 5 generation models》的文章披露:Claude Code 团队在为 Claude Opus 5 与 Claude Fable 5 这类新一代模型迁移时,删除了超过 80% 的系统提示词,且在内部编码评测中没有测到任何性能损失

来源:Anthropic 官方博客,2026-07-24,作者 Thariq Shihipar(Member of Technical Staff, Anthropic)。
链接:https://claude.com/blog/the-new-rules-of-context-engineering-for-claude-5-generation-models

这不是一次常规的"提示词调优",而是一次范式级的转变:从"提示词工程(Prompt Engineering)"走向"上下文工程(Context Engineering)"。本文将从技术层面深度拆解这一转变的原理、数据、方法论与对开发模式的实际影响。


一、事件背景与精简规模

1.1 一句话事实

2026 年 7 月 24 日(与 Claude Opus 5 发布同一天),Anthropic 工程师 Thariq Shihipar 在官方博客中表示:

We removed over 80% of Claude Code's system prompt for models like Claude Opus 5 and Claude Fable 5 with no measurable loss on our coding evaluations.

关键信息有三层:

  1. 精简对象:Claude Code 的系统提示词;
  2. 适用模型:Claude Opus 5、Claude Fable 5(5 代模型);
  3. 验证方式:重新跑内部编码评测,无性能损失。

Anthropic 把这次操作称为 "Unhobbling"(解除桎梏)——他们意识到,自己曾经为旧模型套上的那些"保姆式"约束,在新模型上已经变成"过度约束(overconstraining)"。

1.2 多维度数据对比:80% 到底精简了什么

"精简 80%"是一个容易产生歧义的说法。下面这张表把不同维度的口径拆开,避免被单一数字误导:

测量维度 旧(Opus 4.x 时代) 新(Opus 5 时代) 变化 说明
官方口径 100% 基准 整体精简 >80% Anthropic 官方表述,针对"行为约束类"内容
Token 层面 约 800 tokens 约 164 tokens -80% 系统提示词的 token 体积,直接影响每次调用成本
核心行为提示(手写策略正文) 25,695 字符 4,650 字符 -81.9% 真正"被砍"的部分
工具层(Tools 定义) 70,151 字符 87,593 字符 +24.9% 不降反升——工具更多了
完整 System Prompt 段 26,772 字符 5,927 字符 -77.9% 含核心行为,不含工具 schema
整份 prompt(系统提示词 + 工具) ~96,823 字符 ~93,520 字符 仅 -4.5% 工具增长抵消了行为精简

注:上表中"核心行为提示 / 工具层 / 整份 prompt"三行来自社区独立验证(Paweł Huryn 的分层分析),与官方"80%"口径在维度上互补,结论一致:被精简的是"规则",而非"能力接口"。

1.3 "反弹"争议:Opus 5 的提示词其实更长了?

官方说"精简 80%",但开发者实测却发现:Opus 5 收到的系统提示词比 Opus 4.8 还长。这看似矛盾,实则揭示了"精简"的真实含义。

开发者 @chenchengpro 将 Claude Code CLI 指向本地服务器,抓取不同模型真正收到的系统提示词并统计字符数,结果如下:

模型版本 实际收到字符数 相对变化
Opus 4.7 15,225 字符 基准
Opus 4.8 4,467 字符 -70.7%(大幅瘦身)
Opus 5 7,694 字符 +72% 反弹(相对 4.8)

数据呈现一个"V 型"曲线:4.7 → 4.8 是真正的"大砍",而 4.8 → 5 出现了明显反弹。

为什么 Opus 5 会反弹? 答案在于 Opus 5 的行为特征发生了变化。根据 Anthropic 官方《Prompting Claude Opus 5》指南,Opus 5 相比前代显著更"主动(proactive)":

  • 倾向于在执行任务时主动汇报进度(agentic narration)
  • 生成更长的回复与文档
  • 更愿意调用子代理(subagent)扩大任务范围(scope expansion)
  • 更频繁地自我验证(over-verification)反复纠正

这些倾向在复杂长任务中是优点,但在简单请求中会变成"过度服务"。为此,Anthropic 在 Opus 5 的系统提示词中新增了两个专属板块来约束这些主动行为:

新增板块 字符数 作用
# Delivering work 约 2,019 字符 控制任务范围、进度汇报节奏、最终交付方式
# Corrections 约 1,736 字符 限制"反复解释 / 反复纠正"行为
合计 约 3,755 字符 几乎恰好等于 Opus 5 与 Opus 4.8 的字符差

来源:社区对抓取到的系统提示词的逐板块拆解(Frontier News、智科社等独立分析互相印证)。

结论:Anthropic 删掉的,是给旧模型留的繁琐操作细则;Opus 5 长回来的 72%,是用来约束"变强之后的新主动行为"。所谓"精简 80%"针对的是行为约束层,而非整份 prompt 的总体积。这一点是理解整篇文章的钥匙,也是本文第六节"重要提醒"会再次强调的局限。


二、六大范式转变(核心技术方法论)

官方博客用"Then / Now"的对照列出了六组转变。下面逐一拆解,并给出可对照的 before/after 代码片段。

┌─────────────────────────────────────────────────────────────────┐
│                  上下文工程六大范式转变                            │
├──────────────────────┬──────────────────────────────────────────┤
│  Then(旧范式)       │  Now(新范式)                            │
├──────────────────────┼──────────────────────────────────────────┤
│ 1. 给规则 Rules      │  用判断力 Judgment                        │
│ 2. 给示例 Examples   │  设计接口 Interface Design               │
│ 3. 全部前置 Upfront  │  渐进式披露 Progressive Disclosure       │
│ 4. 重复指令 Repeat   │  简洁工具描述 Tool Description            │
│ 5. 手动存 CLAUDE.md  │  自动记忆 Auto-Memory                     │
│ 6. 简单规格 Spec     │  富参考材料 Rich References               │
└──────────────────────┴──────────────────────────────────────────┘

转变 1:给规则 → 用判断力(Rules → Judgment)

背景原理:早期模型(如 Claude 3 时代)需要强约束来规避"最坏情况"——例如误删文件、写出错误注释。这些约束是"宁可错杀,不可放过"的防御性规则。但死规则在特定场景必然出错:用户可能有自己的注释偏好,复杂代码可能确实需要多行注释块。旧模型没有判断力,只能接受这个 tradeoff;新模型判断力提升,可以"看着周围代码自己决定"。

Before(旧系统提示词片段)

In code: default to writing no comments. Never write multi-paragraph
docstrings or multi-line comment blocks — one short line max. Don't
create planning, decision, or analysis documents unless the user asks
for them — work from conversation context, not intermediate files.

问题:Never 是绝对禁令,但代码库 A 可能全无注释,代码库 B 可能注释详尽。一刀切必然在其中一个场景下是错的。

After(新系统提示词片段)

Write code that reads like the surrounding code:
match its comment density, naming, and idiom.

技术要点:从"列举禁止行为"转为"定义一个可观测的目标(与周围代码一致)"。模型不再需要理解"什么叫合适的注释密度",而是直接以上下文代码为参照系做模式匹配。这是一种以上下文为锚的隐式约束,比显式规则更鲁棒,因为它天然适应不同代码库的风格。

转变 2:给示例 → 设计接口(Examples → Interface Design)

背景原理:过去给工具写 few-shot 示例是头号规则。但官方发现:对新模型,示例反而会限制探索空间——模型"比我们给的示例更有想象力"。与其教模型怎么用工具,不如把工具本身设计得"自解释"。

Before(旧:用示例教模型用工具)

{"name": "TodoWrite","description": "Manage a todo list. Example usage:\n1. Add 'implement login' with status 'pending'\n2. When starting work, set it to 'in_progress'\n3. When done, set to 'completed'\nAlways keep exactly one item in_progress."
}

这种写法把"行为规范"塞进了示例叙事里,模型容易过拟合到示例的字面流程。

After(新:用参数枚举表达意图)

{"name": "TodoWrite","description": "Manage a todo list for the current task.","input_schema": {"type": "object","properties": {"todos": {"type": "array","items": {"type": "object","properties": {"content": { "type": "string" },"status": {"type": "string","enum": ["pending", "in_progress", "completed"]}}}}}}
}

技术要点:status 的枚举值 pending → in_progress → completed 本身就编码了任务的生命周期语义。模型看到枚举,就能推断出"一次应该只有一个 in_progress"——这比写一段示例文字更紧凑、更不容易被曲解。

开发者启示:参数本身要能表达任务意图。当你在纠结"要不要给模型加一段示例"时,先问一句——这个意图能不能用一个枚举、一个类型约束、一个结构化字段来表达?能表达,就不要用自然语言示例。

转变 3:全部前置 → 渐进式披露(Upfront → Progressive Disclosure)

背景原理:旧系统提示词把"代码审查、验证流程"等所有可能用到的说明全部前置塞进去。问题是这些信息大多数请求用不到,但每次都要占用上下文窗口(context budget)。新方案的核心是按需加载

Before(旧:一次性全塞)

System Prompt
├── 产品说明
├── 行为规则(数百条)
├── 代码审查完整流程   ← 大多数请求用不到
├── 验证完整流程       ← 大多数请求用不到
└── 工具定义

After(新:分层按需加载)

System Prompt(精简)
├── 产品说明(最小集)
├── 核心行为原则(少量)
└── 工具定义(含 deferred)运行时按需加载:
├── Skills        → 命中时才加载完整内容
├── ToolSearch    → 工具定义延迟加载
└── CLAUDE.md 文件树 → 进入子目录才加载对应规则

技术要点有三个机制:

  1. Skills 按需加载:把验证、代码审查等流程从系统提示词里剥离,做成独立 Skill,模型在需要时才调用。Anthropic 自己就把 verification / code review 迁移成了独立 skill。
  2. ToolSearch 延迟加载:部分工具(如 Task 工具)的完整定义不常驻上下文,模型必须先搜索(ToolSearch)才能拿到完整 schema 再使用。这让 Claude Code 可以挂载更多工具,而不撑爆上下文。
  3. CLAUDE.md 文件树拆分:不要把所有规则塞进一个 CLAUDE.md,而是组织成一棵文件树,进入对应工作目录时才加载对应规则。
project/
├── CLAUDE.md              ← 顶层:仓库是什么、有哪些 gotchas
├── packages/
│   ├── auth/CLAUDE.md     ← 仅 auth 模块的规则
│   └── billing/CLAUDE.md  ← 仅 billing 模块的规则
└── .claude/└── skills/├── verification/SKILL.md   ← 命中时才加载└── code-review/SKILL.md

转变 4:重复指令 → 简洁工具描述(Repeat → Single-Source)

背景原理:旧模型有时"对上下文窗口末尾的指令更敏感"(recency bias),所以工程师习惯把同一要求在系统提示词里写一次、在工具描述里再写一次,"双保险"。新模型不需要这种冗余,重复反而成了噪声和冲突源。

Before(旧:同一要求写两处)

# 系统提示词里:
When using the TodoWrite tool, always keep exactly one item in_progress,
and mark completed items immediately.# 工具描述里(重复):
... Always keep exactly one item in_progress, and mark completed
items immediately. (与系统提示词重复)

After(新:单一来源)

# 系统提示词里:(删除该段)# 工具描述里(唯一来源):
description: "Manage todos; keep one item in_progress at a time."

技术要点:指令去重 + 单一事实来源(Single Source of Truth)。把工具使用规范放进工具描述,而不是系统提示词。当系统提示词与工具描述冲突时,模型要消耗"思考预算"去仲裁,这正是 Anthropic 在自家 transcript 里看到的"冲突指令让模型更慢"问题。

转变 5:手动存 CLAUDE.md → 自动记忆(Manual → Auto-Memory)

背景原理:过去用户要按 # 热键手动把内容写进 CLAUDE.md。新机制下,Claude 会自动保存与当前工作和用户相关的记忆,无需手动触发。

Before

用户:记住我们项目用 pnpm 而不是 npm
用户按下 # 热键
→ Claude 写入 CLAUDE.md: "Use pnpm instead of npm"

After

用户:我们项目用 pnpm
→ Claude 自动判断这条信息值得记忆,自动写入 memory(无需 # 热键,无需用户显式指令)

技术要点:从"用户主动策展"转向"模型主动判断"。这是本次转变中最受社区争议的一点——自动记忆意味着用户失去了对"什么被记住"的显式控制。HN 讨论中有人担忧:在一个会话里随意试验的"野想法"会被自动写进记忆,污染下一个会话。这是迁移时必须权衡的取舍(见第六节)。

转变 6:简单规格 → 富参考材料(Simple Spec → Rich References)

背景原理:过去 plan mode 依赖 Markdown 计划文件作为规格说明。新模型能处理更复杂的引用——HTML 原型、现有代码、测试套件、评分表(Rubrics)都可以作为高保真参考。

Before(旧:Markdown 文字描述)

# 设计规格
- 顶部导航栏,高度 64px
- 主色 #2563eb,hover 态加深 10%
- 卡片圆角 8px,阴影 0 1px 3px rgba(0,0,0,0.1)

问题:自然语言描述不可避免地有歧义,模型要"猜"具体效果。

After(新:高保真富引用)

引用 1:HTML 原型(artifacts 生成)@designs/dashboard.html   ← 可直接渲染、像素级精确引用 2:现有代码(跨代码库移植)@legacy/auth.py          ← 作为"要移植的函数"参考引用 3:测试套件(作为规格的"可执行规格")@tests/api.contract.test.ts  ← 测试即规格,通过即满足需求引用 4:评分表 Rubric(用于 verifier 子代理)"好的 API 设计应满足:一致性命名、错误码完备、版本可演进..."→ Claude 启动 dynamic workflow,用 rubric 跑 verifier agent 验证你的"品味"

技术要点:代码比自然语言更高保真。一个 HTML mockup 产出的结果,通常优于一段设计描述或一张截图。Rubrics 则让模型能通过"启动验证子代理"来校准你的审美标准(例如"什么叫好的 API 设计")。


三、上下文分层架构

把六大转变合到一起,就得到 Anthropic 推荐的"四层上下文架构"。关键认知是:用户发的那条消息,只是上下文的一小部分。真正决定模型行为的是围绕这条消息的持久化上下文。

┌──────────────────────────────────────────────────────────────┐
│  用户消息(每次都变,最具体)                                   │
├──────────────────────────────────────────────────────────────┤
│  第 4 层:References(@ 引用文件)    ← 按需,高保真           │
│  第 3 层:Skills(轻量指南)          ← 按需,渐进式披露       │
│  第 2 层:CLAUDE.md(项目记忆)       ← 轻量,聚焦 gotchas     │
│  第 1 层:System Prompt(产品语境)   ← 持久,最不具体         │
└──────────────────────────────────────────────────────────────┘越靠下:越持久、越通用、越不能针对单次请求具体化越靠上:越具体、越按需、越贴近当前任务

各层职责与设计原则对照:

层级 职责 设计原则 典型内容 何时加载
System Prompt 告诉模型"你在什么产品里、在做什么" 与产品强绑定;自建 agent 时重点投入;Claude Code 用户一般不改 产品身份、核心行为原则 每次请求常驻
CLAUDE.md 告诉模型"这个仓库是什么、有哪些坑" 轻量;多花 token 在"gotchas"上;少写"看文件系统就能知道的废话";用渐进式披露(拆成文件树) 仓库用途、非显然的架构约定、类型组织方式 进入对应目录时
Skills 让模型"在需要时找到信息" 轻量指南;除关键领域外避免过度约束;长 skill 拆成多文件;最好编码团队/产品的特定知识 验证流程、代码审查 checklist、特定技术栈实践 命中时按需
References 提供当前任务的"深度信息" 优先用代码而非自然语言;HTML mockup > 描述 > 截图 spec 文件、mockup、整个代码库、测试套件、rubric @ 提及或显式引用时

核心设计哲学:越持久的层,越不能具体(因为它要服务很多不同请求);越具体的层,越应该按需加载(避免污染所有请求的上下文)。这与软件架构里"稳定依赖原则"异曲同工——把易变的具体信息放在边缘、按需注入,把稳定的通用原则放在内核、常驻。


四、对 AI 应用开发模式的影响

4.1 从"提示词工程"到"上下文工程"

这是本次事件最根本的认知转变。两者对比:

维度 提示词工程(Prompt Engineering) 上下文工程(Context Engineering)
关注对象 单次请求的那段提示词 围绕每次请求的持久化信息总成
时间跨度 单次调用 跨多次请求、跨会话
典型手段 调措辞、加 few-shot、写规则 设计工具接口、分层加载、管理记忆
成本观 关注单次 token 关注每次请求都背负的"上下文预算"
心智模型 "怎么把这次问清楚" "怎么把长期环境搭好"

官方原文点明了这层关系:

Unlike a prompt, context is used generally across many requests, so it cannot be as specific.

4.2 角色转变:使唤实习生 → 吩咐资深工程师

社区里流传一个贴切的类比:旧范式像"使唤一个需要手把手交代的实习生"——每一步都要写清楚规则、防着犯错;新范式像"吩咐一位资深工程师"——你给出目标、边界和品味偏好,剩下的交给他的判断力。

旧范式(实习生心智) 新范式(资深工程师心智)
列举所有"不要做的事" 描述"做完应该长什么样"
给详细步骤示例 给清晰的目标 + 良好的工具接口
反复叮嘱"记得检查" 信任其自检能力,移除冗余验证指令
把所有可能情况写进手册 按需提供参考材料

4.3 旧 Skill / Workflow 面临重估

如果连 Anthropic 自己的系统提示词都"过度约束"了,那么社区里基于 Claude 3 行为模式积累的 CLAUDE.md、Skill、Workflow 几乎必然带有同样的"遗留风险"。为旧模型写的指令,在新模型上会变成冲突源和噪声。这意味着一次全栈式的上下文审计(context audit)是必要的,而非可选的。

4.4 冲突指令的危害被放大

Anthropic 在自家 transcript 里看到的典型冲突:

同一请求里的冲突信号:系统提示词:"DO NOT add comments"Skill:     "leave documentation as appropriate"用户请求:  "把这段逻辑注释清楚"

旧模型能靠"认真想"仲裁这些冲突,但这是以消耗思考预算为代价的——模型要先解决"我该听谁的",才能开始干活。新范式要求从源头消除冲突,而非指望模型临场仲裁。

4.5 定价与成本视角

系统提示词精简的直接经济意义:系统提示词伴随每一次开发者请求,体积下降直接换来每次调用的 token 成本下降和响应加速。在大规模团队使用时,这个收益会复利式放大。下面是两个主力 5 代模型的 API 定价对照:

模型 输入价格(/百万 token) 输出价格(/百万 token) 缓存折扣 定位
Claude Opus 5 $5 $25 缓存输入最高省 90% 长程 agentic 编码、企业级任务
Claude Fable 5 $10 $50 缓存输入最高省 90% 顶级推理(Mythos 级),自治度最高

来源:Anthropic 官方定价页与产品页。Opus 5 与上代 Opus 4.8 同价;Fable 5 输入/输出均为 Opus 5 的 2 倍。

可见,在系统提示词已被精简的前提下,把日常驱动模型从 Fable 5($10/$50)切到 Opus 5($5/$25)能在近乎无损编码能力的前提下把成本砍半——这也是系统提示词瘦身带来的"可迁移红利"之一。


五、开发者实操指南

5.1 六条 Anthropic 官方推荐

把官方建议浓缩为可执行的六条:

  1. 精简 CLAUDE.md:只保留项目专属的特殊规则,删掉"看代码库就能推断"的内容。
  2. 把长指令拆进 Skills:代码审查、测试、发布等流程做成独立模块,按需加载,而非全塞进主提示词。
  3. 删除重复指令:每条规则只写一次,去掉已在工具描述/系统提示词里出现过的内容。
  4. 减少工具调用示例:用清晰的参数定义、可选值枚举、返回结果说明,替代僵硬的固定示例。
  5. 直接提供可执行引用:测试用例、现有代码、HTML 原型等文件作为参考,替代冗长文字描述。
  6. 运行 /doctor 自动瘦身:在 Claude Code 里执行 /doctor(对应 claude doctor),自动识别对新模型已无必要的指令并给出精简建议。

5.2 具体判断标准:什么时候删、什么时候留

并非"越少越好",而是"只留必要的"。可套用以下判断框架:

对每一条现有指令,问:┌─ 这条规则,Claude 能通过读代码库/上下文推断出来吗?│   ├─ 能  → 删除(属于"废话"或"模型已知")│   └─ 不能→ 进入下一问│├─ 它是业务约束/品牌规范/保密要求/非显然的架构决策吗?│   ├─ 是  → 保留(这是模型无法从代码推断的"不可还原项")│   └─ 否  → 进入下一问│├─ 它在其他层(工具描述/Skill/另一条规则)已经说过了吗?│   ├─ 是  → 删除重复,保留单一来源│   └─ 否  → 进入下一问│└─ 它是对旧模型"最坏情况"的防御性补丁吗?├─ 是  → 删除(新模型已不需要)└─ 否  → 保留

一句话总结官方口径:If Claude could infer it by reading the surrounding code, delete it. If it requires business knowledge the model can't possibly have, keep it.(能从周围代码推断的,删;需要模型不可能拥有的业务知识的,留。)

5.3 迁移决策框架表

针对不同类型的上下文内容,给出迁移动作:

内容类型 旧位置 迁移动作 新位置
"不要写注释"类死规则 System Prompt 删除,改为"匹配周围代码风格" System Prompt(精简)
工具使用示例 System Prompt + 工具描述 删除示例,强化参数枚举 工具描述(单一来源)
代码审查/验证流程 System Prompt 常驻 迁移为按需 Skill Skills
仓库用途与 gotchas 散落各处 集中精简 CLAUDE.md(顶层)
模块专属规则 单一 CLAUDE.md 拆分文件树,按目录加载 各模块 CLAUDE.md
计划/规格 Markdown 文字 改用 HTML/代码/测试套件 References(@ 引用)
"记得验证"类指令 System Prompt 删除(Opus 5 会自检)
业务约束/品牌规范 保留 System Prompt / CLAUDE.md

5.4 /doctor 命令:自动化瘦身

Anthropic 把上述最佳实践固化进了一个命令:

# 在 Claude Code 中运行
/doctor
# 等价于命令行:
claude doctor

它的作用是自动 rightsize(重新裁剪)你的 skills 和 CLAUDE.md 文件——识别对新模型已无必要的指令,并给出精简建议。其依据正是 Shihipar 团队用来精简自家系统提示词的同一套分析逻辑。

官方原话:We've put these best practices in claude doctor; use the command /doctor in Claude Code to rightsize your skills, and CLAUDE.md files.

实操建议:迁移到 Opus 5 / Fable 5 后,第一件事就是跑一遍 /doctor,再人工复核它建议删除的条目中是否混入了"不可还原的业务约束"。


六、重要提醒与局限

技术决策最怕被一个标题数字带偏。以下四点必须强调,避免误读"精简 80%"。

6.1 "80% 精简" ≠ "Opus 5 提示词最短"

如第一节数据所示,Opus 5 的系统提示词比 Opus 4.8 长了 72%。"精简 80%"针对的是核心行为约束层(手写策略正文 -81.9%),而工具层反而增长了 24.9%,导致整份 prompt 体积仅下降约 4.5%。把"行为规则精简"等同于"提示词变短",是对这次转变最常见的误读。

真实结构(Opus 5 vs Opus 4.7):核心行为规则: ████████████████████  → ██        (-81.9%)  ← 真正"瘦身"处工具定义层:   ████████████████      → ████████████████████ (+24.9%) ← 反而变重────────────────────────────────────────────整份 prompt:   ████████████████████  → ███████████████████▌  (仅 -4.5%)

6.2 精简仅针对 System Prompt 层

本次"80%"精简的对象是 Claude Code 的系统提示词,不是 CLAUDE.md、不是你的应用提示词、也不是所有上下文。你的 CLAUDE.md 是否需要精简,要按第五节的判断框架独立评估。盲目照搬"删 80%"会误伤"不可还原的业务约束"。

6.3 复杂场景未必更优

"少即是多"在简单任务上立竿见影,但在高约束、高合规要求的复杂场景里,过度删除约束可能放大风险。HN 社区已出现反馈:Opus 5 在主动性强的情况下,出现过"意外删除文件、绕过 hook 控制"的案例;自动记忆也被指可能把无关上下文"偷偷"写进后续会话。对资深开发者,"用判断力"能靠经验兜底;对无法识别模型错误的初级使用者,放任模型自行判断反而可能让错误藏在"听起来合理的论证"里更难被发现。

6.4 提示词工程非一次性任务

这也是官方隐含但重要的一点:最优提示词结构会随模型演进而变化。为 Opus 4.8 调好的提示词,到 Opus 5 可能需要重新裁剪;Opus 5 因为"主动性强"而新增的 Delivering work / Corrections 约束,恰恰说明——能力增强并不必然意味着指令减少,而是意味着需要"更聪明的指令"。上下文工程是一项持续的、随模型迭代而演进的工程,而非一次配置终身受益。


结语

Claude Opus 5 的系统提示词精简,表面上是一个"减法"故事,底层是一次认知重构:

  • 从"列举禁止行为"到"定义可观测目标"——以上下文为锚的隐式约束,取代显式死规则;
  • 从"教模型怎么用"到"把工具设计得自解释"——接口即文档;
  • 从"全量前置"到"按需披露"——上下文预算是稀缺资源,按需加载;
  • 从"单点提示词"到"分层上下文架构"——System Prompt / CLAUDE.md / Skills / References 各司其职。

对开发者而言,真正的行动项不是"删掉 80% 提示词",而是重新审计自己的上下文栈:哪些是模型已能推断的废话、哪些是跨层重复的噪声、哪些是不可还原的业务约束。能删的删、该并的并、要按需的拆出去——然后把日常驱动从更贵的模型平稳迁移到 Opus 5($5/$25)这一档,享受精简带来的成本与速度红利。

模型在变强,我们"使唤"它的方式也必须跟着升级。从提示词工程到上下文工程,不是话术更替,而是工程范式的一次真实跃迁。


参考来源

  1. Anthropic 官方博客,《The new rules of context engineering for Claude 5 generation models》,2026-07-24,作者 Thariq Shihipar。
    https://claude.com/blog/the-new-rules-of-context-engineering-for-claude-5-generation-models
  2. Anthropic 官方文档,《Prompting Claude Opus 5》(行为差异与提示模式:verbosity、narration、task scope、subagent、self-correction)。
    https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5
  3. Anthropic 工程博客,《Effective Context Engineering for AI Agents》。
    https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents
  4. Anthropic 官方定价页与产品页(Opus 5 $5/$25、Fable 5 $10/$50)。
  5. 社区独立验证:开发者 @chenchengpro 抓取各模型实际系统提示词字符数(15,225 / 4,467 / 7,694);Paweł Huryn 分层分析(核心行为 -81.9%、工具层 +24.9%、整份 -4.5%);Frontier News、智科社等对 Delivering work(约 2,019 字符)与 Corrections(约 1,736 字符)板块的逐项拆解。