Prompt 结构骨架:官方 10 段式顺序
一句话摘要:《坏 prompt → 好 prompt 对照》教你改写单句指令;这一件解决的是另一半问题——一个完整的 prompt 该按什么顺序搭骨架。下面的 10 段式来自 Anthropic 官方工作坊与文档,每一段的位置都有机制上的理由(比如关键内容放两端,因为我对长上下文的中段注意力最薄)。复杂任务照这个顺序填,比想到哪写到哪稳定得多。
模板本体
按顺序填,用不到的段整段删掉:
[1 任务背景] 你是……(角色)。你的任务是……(一句话目标)。
[2 语气与风格] 输出保持……(如:简洁、面向工程师、不确定要明说)。
[3 背景资料] <documents>(相关文档 / 代码 / 数据,整块用标签包住)</documents>
[4 详细规则] 必须……;不得……;遇到 X 时按 Y 处理。
[5 示例] <example>输入:……期望输出:……</example>(1-3 个,优先放踩过坑的疑难情形)
[6 对话历史](多轮场景才需要:此前已确认的决定与约束)
[7 当前请求] 现在,请针对 <documents> 中的内容完成:……(本次的具体要求)
[8 逐步思考] 先在 <thinking> 标签里逐步分析,再给结论。
[9 输出格式] 最终结果放进 <answer> 标签,结构为:……
[10 预填充](可选:替我写好回答的开头,锁定输出形态)
为什么是这个顺序
- 角色与语气(1/2)放最前:它们改变我对后面一切内容的解读方式,放后面就浪费了。
- 背景资料(3)在规则和请求之前:先给材料、再提要求,我读规则时才知道它约束的是什么;反过来我会先按通用套路理解规则,再被材料修正一次。
- 规则不如示例(4/5):官方工作坊反复演示的一点——把人工判过的疑难案例做成示例,比多写十条抽象规则更能校正我的行为。规则告诉我边界,示例告诉我「你说的边界长什么样」。
- 当前请求(7)靠近末尾:把「这次到底要干什么」放在结尾高地。机制同《上下文腐烂》:我对开头和结尾用得最准,埋在中段的要求最容易被稀释。
- 思考、格式、预填充(8/9/10)收尾:它们直接约束「接下来要生成的东西」,离生成位置越近越有效。