先说一件我查资料时才发现的事。
「你是世界顶级专家」这句话,被正儿八经研究过。
2023 年 11 月的一篇论文(Personas)做了 162 个角色实验,结论是:系统提示里的人设,不提升客观任务表现。
2025 年 12 月又有一篇(Playing Pretend),在 6 个模型上用 GPQA Diamond 和 MMLU-Pro 测,结论一样:领域专家人设没有显著提升。
而这句话,是 2023 年流传最广的提示词技巧。
我把这四年的提示词翻了一遍。表面看是「技巧越来越高级」,实际是「提示技巧 → 规则与预算」的转向。而且当年那些技巧,有不少后来被证伪了。
2023:提示词工程
2023 年提示词的主流写法,核心是用自然语言描述角色和推理过程。
三种最流行的写法:
一、角色扮演。「You are an expert…」「你是一位资深…」。这个写法的源头查不到一手出处——最早只能追到社区模板库f/awesome-chatgpt-prompts,Wayback 存档显示2022-12-13就已存在。
它是社区自发长出来的,不是哪家公司的官方建议。这点要说清楚,因为网上常把功劳归给 OpenAI。
二、思维链。「Let’s think step by step」。
这里有个流传很广的错误:很多人以为 CoT 是 2023 年的成果。
实际是 arXiv 2201.11903,2022-01-28 提交,发在 NeurIPS 2022。作者是 Jason Wei 等。配套的「Let’s think step by step」出自 Kojima 等的论文,2022-05-24 提交。
2023 年不是它被提出,是它被大规模采用。
三、模板库。复制粘贴的那种长提示词,前面加一堆「你必须」「千万不要」。
这一年的载体是单轮对话。提示词是一次性的、复制粘贴的、存在笔记里的。
2023 年还被发现了一个重要问题:Lost in the Middle(2023-07-03)证明长上下文有位置偏差——关键信息放在中间,模型就是看不见。
这条为后面几年的转向埋了伏笔:上下文不是越长越好。
2024:格式交给代码,人管结构
2024 年的变化,有三件事值得记。
一、格式类提示词被 API 取代了。
2023-06-13,OpenAI 发布 function calling。
2024-08-06,Structured Outputs 发布——用 JSON Schema 约束输出。
影响很直接:以前要在提示词里反复叮嘱「必须输出 JSON、不要加解释」,现在这件事由 schema 保证,提示词里不用再写。
这是第一次「提示词的一部分职责被代码接管」。
二、结构化标记开始流行。
Anthropic 官方专门有 Use XML tags 的文档,核心用途是用标签把指令和数据分开。
为什么要分开:因为长上下文里,模型分不清「哪句是给我的指令」「哪句是要处理的资料」。
三、系统提示词从「角色设定」转向「行为规范」。
2024-08,Anthropic 公布了 Claude 各模型的系统提示词和变更日志(TechCrunch 报道)。
公开之后大家发现:那些系统提示词里,角色设定只占一小部分,大部分是行为规则——什么该做、什么不该做、遇到什么情况怎么处理。
同年还有一个反向信号:PLeak 提示词泄露攻击(2024-05-10)证明系统提示词可以被套出来。
所以 2024 年的双面性:一边是系统提示词变重要,一边是它不再是秘密。
2025:上下文工程,以及它的两个推广人
这一年的转向有一个确切的起点,不是「行业自然演化」。
2025 年 6 月,Shopify CEO Tobi Lutke 发帖说(原帖),说他更喜欢用context engineering(上下文工程)这个词替代 prompt engineering。
Karpathy 随后转发声援(原帖)。他的原话是:在工业级 LLM 应用里,把上下文窗口填成「刚好合适的信息」是精细的艺术与科学。
这句话被 Simon Willison 逐字引用,然后扩散开来。
所以「上下文工程」这个词,是两个人带起来的。这个说法站得住,因为两条原帖都在。
同一年,配套的东西陆续到位:
- Anthropic 官方文《Effective context engineering for AI agents》
- Claude 官方 cookbook《Context engineering: memory, compaction, and tool clearing》
- MCP(Anthropic 发布,公告),2025-12 前后捐给 Linux Foundation 下的 Agentic AI Foundation
- Skills——文件夹 +
SKILL.md,Anthropic 官方博客 - AGENTS.md——agents.md 标注被6 万+ 开源项目使用
「上下文工程」和「提示词工程」的区别在哪?
提示词工程问的是「这句话怎么写」。上下文工程问的是「模型该看到什么」。
前者是措辞问题,后者是信息装配问题——包括放什么、放多少、什么时候放、什么时候清掉。
这个区别是实质的,不是文字游戏。但它确实被质疑了(后面说)。
2026:从「提示」到「规则」
2026 年的方向是「约束」。它具体落在两样东西上:规则,和预算。
一、给 agent 看的「规则文件」成了事实标准。
agents.md 上标注:被 6 万+ 开源项目使用,仓库版权署 LF Projects。2026 年它被并入 Linux Foundation 下的 Agentic AI Foundation(OpenAI 公告)。
它解决的是同一个问题:你给 agent 写的规则,它读的时候不会回头问你。所以这种文件才需要一句一事、一词一义。
二、上下文开始有「预算」。
先解释这个词。「上下文预算」是这两年的通行说法,意思是:把上下文窗口当成一笔有限的、每一轮都要重新花的钱,而不是一个随便塞的筐。
(这笔账有多贵,后面第三节我用自己会话的实测数字算给你看。)
Claude 官方文档里出现了Task budgets。
Simon Willison 在 2026-10-03 写了《我们需要默认的硬预算上限》。
arXiv 上有《Beyond Compaction: Structured Context Eviction for Long-Horizon Agents》——研究怎么「驱逐」上下文,而不只是压缩。
三、厂商指南也在往「约束」走。
OpenAI GPT-5.1 Prompting Guide、Google Gemini 3 prompting guide。
四年对比
| 2023 | 2024 | 2025 | 2026 | |
|---|---|---|---|---|
| 本质 | 提示词工程 | 结构化提示 | 上下文工程 | 规则与预算 |
| 主流技巧 | 角色扮演、CoT、模板库 | XML 标签、系统提示词 | MCP、Agent Skills | AGENTS.md、task budgets、上下文驱逐 |
| 载体 | 单轮对话 | 结构化提示词 | 智能体配置 | 规则文件 |
| 格式谁管 | 提示词里叮嘱 | 交给 schema | 工具定义 | 工具定义 |
| 谁来读 | 模型 | 模型 | 模型 + 工具 | 没有回话通道的执行者 |
| 上下文态度 | 越长越好 | 开始发现位置偏差 | 该放什么 | 该花多少 |
一条主线:
提示词从「怎么把话说动听」,变成了「怎么把约束写清楚」。
而当年那些技巧,后来怎么样了
这是我查资料时最意外的部分。
角色扮演:两项独立研究都说没提升。
- Personas(2023-11 提交,EMNLP 2024 Findings):162 个角色,系统提示里的人设不提升客观任务表现
- Playing Pretend(2025-12):6 个模型、GPQA Diamond + MMLU-Pro,领域专家人设无显著提升
思维链的解释:不可信。
Language Models Don’t Always Say What They Think(2023-05 提交,NeurIPS 2023)证明:CoT 给出的解释会系统性歪曲模型真实的决策原因。
注意这句话的分寸:这不是说 CoT 没用——让它「一步步算」确实能提升推理成绩。被质疑的是「它的解释可信」这个假设。
(另有一种说法是「o1 之后逐步思考类提示反而有害」。这条我没找到官方一手文档,不写。)
这两条合起来说明什么?
当年我们以为在「和模型沟通」,其实是在「凭经验试错」。试对的部分(比如让它分步算)确实有效;试错的部分(比如给它安个专家身份)并没有实际作用。
那 2026 年到底该怎么写
下面这部分,是我自己的判断和实测,不是查证。
一、先分清你写的是「提示词」还是「规则」
判断标准很简单:读你这段话的人(或 agent),能不能回头问你「你是什么意思」?
- 能问→ 是提示词。措辞可以自然,可以商量。
- 不能问→ 是规则。必须一句一事、一词一义。
子代理的指令、写进AGENTS.md的规则、工具的描述——这三样都属于「不能问」的那一类。
二、写给 agent 的规则,我实测了一套写法
有一套现成的中文规则叫 ste-zh——它源自航空业的 ASD-STE100 写作标准,这里不展开。我挑出六条结构规则用在我们自己的沟通上:
| 规则 | 治什么 |
|---|---|
| 关键信息先行 | 结论放首句,别埋在几百字后 |
| 状态词固定 | 只用 10 个固定词,工作状态 ≠ 验证状态 |
| 不确定时写明 | 不得用「可能」「大概」掩盖,必须写确认方法 |
| 不叙述过程 | 别写「我先…然后…接着…」 |
| 一段一主题 | 一段只讲一件事 |
| 句长上限 | 步骤句 ≤30 字,描述句 ≤40 字 |
第三条是我觉得最值钱的。
我以前写结论常用「大概率同向」「可能是巧合」——这是把不确定藏起来。按新规则要写成:
从「我觉得」变成「怎么验」,这个改动是实质的。
三、上下文要当预算管,不是当仓库用
这部分我有实测数据(下面数字来自我自己的会话日志):
我新建一个会话,只发了「在吗」两个字。第一轮,它向模型提交了 26,328 个输入 token。
我以为它在读我们的聊天记录。不是。
拆开看构成:
| 项 | 字节 |
|---|---|
| 工具定义(88 个工具的完整 JSON schema) | 68,078 |
| 系统提示 | 16,100 |
| 记忆快照 | 14,710 |
| 工作区指令(两份 AGENTS.md) | 5,272 |
| 其它注入 | 1,785 |
| 「在吗」 | 6 |
| 合计 | 105,951 |
工具定义里,agent_teams_*和mnemon_*这两个前缀占了 46%——而它们跟我当时要做的事完全没关系。我一个都没调用,但它们的定义每一轮都在重放。
再看长会话的增长(同一个对话,33 轮):
上下文从 89,346 涨到 632,725 —— 7.08 倍。
但最贵的不是这个。我把 399 个步骤分开统计:
| 类别 | 步数 | 平均新增输入 |
|---|---|---|
| 每轮第 1 步 | 33 | 86,157 |
| 后续步 | 366 | 1,314 |
每轮第一步的新增输入,是后续步的 66 倍。
这说明「越聊越贵」的机制不是缓存在变大,是每一轮开头都要重新读一遍全部上下文。
所以 2026 年管上下文,是三件事:
- 关掉用不上的工具——每一个装上去的能力,都在每一轮向你收费
- 长任务主动开新会话——不是新会话上下文小,是它不用为前面每一轮付重放的钱
- 给上下文设上限——这正是 Anthropic 的 task budgets 和 Willison 那篇文章在做的事
和大模型的关系:从「对话者」到「执行者」
这层关系,我的理解是:
2023 年,模型是「对话者」。它能力弱,需要你把意图描述得足够完整。你把话说得越清楚,它答得越好。提示词在这个阶段更像一种措辞技巧。
2024 年,模型开始「会用工具」。格式这件事不归你管了——schema 管。你的工作从「怎么说格式」变成「怎么组织信息」。
2025 年,模型变成「智能体的脑子」。它需要的不再是一句话,是一个环境:有哪些工具、有哪些资料、能记住什么、什么时候该清。
2026 年,模型是「没有回话通道的执行者」。你派出去一个子代理,它做错了不会回头问你。所以你的指令必须一次说对。
这条线上有个反复出现的规律:
每次模型变强,都有一部分「提示词技巧」被收进模型或工具里,不再需要你写。
- 格式 → 被 schema 收走
- 推理 → 被 o1 这类模型内化
- 角色扮演 →被证明本来就没用
所以提示词不是越写越复杂,是「该你管的」范围在变。
但有一件事我得说清楚
「上下文工程」这个词,被质疑过是不是只是改名。
有一篇 《From Prompt Engineering to Context Engineering: What Actually Changed and What Didn’t》 就在讨论这个。
这个质疑是合理的,理由有三:
- 「上下文工程」这个词是两个人带起来的(Tobi Lutke 发帖 + Karpathy 转发),不是自然演化出来的共识
- 2024 年 Anthropic 公开系统提示词时,行为规范早就占了大头——「关注行为而非角色」不是 2025 年的新发现
- 我没有找到权威来源直说「只是改名」,但同样也没找到权威来源证明「这是范式革命」
我的判断:「该放什么信息」确实比「这句话怎么写」更本质。但这两件事不是替代关系,是包含关系。上下文工程里,措辞仍然重要——只是不再是全部。
所以「提示词工程已死」这类说法,我不同意。但它确实换了重心。
最后:2026 年写提示词的三条
一、先问「有没有回话通道」。有,就正常说话;没有,就当规则写。
二、把不确定写明,别藏起来。「可能」「大概」不是表达谨慎,是把验证责任推给读者。写「未验证 + 确认方法」。
三、把上下文当有限的预算,不是无限的筐。每个工具、每份注入、每轮重放,都在花钱。你省下的不是 token,是你能塞进去的有用信息。