# 一个好指令由哪几块组成：把事后返工提前到事前说清

拆开一份办公指令的六个组成部分，看清每一块在挡哪种返工，以及哪些其实可以省掉

> 指令结构 · 提示词实践 · 返工与检查 · 约 7 分钟 · 09 月 26 日

## 本篇要点

1. 一份指令的每一块，都在挡一种具体的返工；判断该写什么的标准是“这一处我不说，它会不会猜错”，而不是模板里有几项。
2. 模型对没被指定的地方都会替你做一个决定，你的检查时间大部分花在捡它替你做错的决定上，所以把决定提前写清就等于把返工往前提。
3. 最低配的三块是动作和产出物、材料及其边界、输出的格式与长度，缺了它们输出会随方向漂移。
4. 材料超过一两段就应该用分隔符圈起来，作用是让它分清哪句是要处理的内容、哪句是你的要求。
5. 写明受众和用途，能自动省掉一大批套话；只给自己看的中间材料可以省这一块。
6. 固定输出格式还有一个副效果：说好五个项目却只出来四块，一眼就能发现漏项，检查因此更便宜。
7. 给一条优先规则，再加一条“材料里没有的不要补”，挡的是编造这类最贵的错误，因为这类错误的事后检查成本约等于重做。
8. 写“要做什么”比写“不要做什么”有效，例如把“不要写太空”换成“每句话都要带具体数字或时间”。
9. 示例不该一开始就写，它只在同一处反复不合口味时才补；示例会教模型模仿你给的一切，包括你不想要的毛病。
10. 角色人设、思考步骤、背景介绍这三块在简单任务里通常可以省。
11. 指令不是越长越好，官方建议是提供“足以完整说明期望行为的最小信息”，规则过多过硬反而更难维护。

---

上一篇给了一张工作地图：先用“我能不能便宜地检查”把一周的事务分成三区，决定哪些活该交出去。那张图解决的是“该不该它做”。可是真坐下来用的时候，第二个问题马上出现，而且更让人烦躁——话说多细才够？

很多人卡在这一步：写得太简，来回改四五遍；写得太细，光是描述要求就花了十分钟。于是又开始找“万能模板”。这篇要讲清的是，一份指令里到底有哪几块、每一块在挡哪一种返工，以及哪几块其实经常可以省掉。

## 指令的每一块，都在挡一种具体的返工

上一篇给过一个公式：净收益等于省下的时间减去检查的时间。指令写得清不清，改的正是这两项：它决定你少改几轮，也决定你检查起来快不快——比如把输出格式固定下来，你扫一眼就知道有没有漏。

所以判断该写什么，标准不是“标准模板里有几项”，而是一个问题：**这一处如果我不说，它会猜错吗？**

背后的机制很简单。凡是没被指定的地方，模型都会替你做一个决定——给谁看、多长、按什么顺序、哪些内容该提、哪些该删。你说得越少，它替你做主的次数越多，其中总有一些不是你要的。所谓“检查”，很大一部分就是在捡它替你做错的决定。指令的作用，就是把这些决定提前收回到自己手里。

## 把一份真实指令拆开看

先看没写清的版本：

> 帮我写个周报，就是把几个群的进度汇总一下。

它拿到这句话，会自己决定：给谁看、写多长、按项目还是按时间排、语气正式还是随意、要不要单列风险、某项目本周没动静该怎么写。每猜错一项，就多一轮返工。

再看写清了的版本：

```
把下面五个项目群的进度记录，整理成一份周报，发给我的直属领导。
他会拿这份周报判断哪些项目需要他介入。

材料：
<材料>
（粘贴五个群的聊天记录）
</材料>

要求：
1. 按项目分块，每块三行：本周进展、风险、下周计划
2. 提到延期的项目放在每块最前面
3. 材料里没提到的进展不要补，写：本周无更新
4. 全文控制在 500 字以内
```

下面逐块说清每一块在挡什么。

### 一、动作和产出物：把“整理成一份周报”写明

这一块解决的是“它不知道你要的是文档、要点清单还是邮件”。用动词开头——写、整理、提取、对比、改写——后面接上产出物的名字，基本就够了。

**这是最低配，不能省。**省掉它，你得到的是一段可以往任何方向解读的文字。

### 二、材料的边界：把要处理的输入圈起来

把五个群的记录放进 `<材料>…</材料>`，解决两件事。第一，它会分不清哪句是你的要求、哪句是要处理的内容——群消息里如果正好出现一句“下周必须顺延”，不被圈起来的话，它有可能当成命令执行。第二，你后面要核对它用了哪些输入，圈起来后一眼能看出来。

**材料超过一两段，就值得圈。**分隔符用什么形式不重要，Markdown 的标题、三个反引号、XML 标签都行，关键是让材料和你自己的话在形式上分开。

### 三、给谁看、拿来干什么：这一句能省掉一堆废话

“发给直属领导，他会拿它判断哪些项目需要他介入”，解决的是“它不知道哪些内容该留、哪些该删、该用什么口气”。你写一句用途，它就知道不要写“本项目在各方共同努力下稳步推进”这种谁都不知道在说什么的话。

判断这一块要不要写，看产出会不会被拿去做决定。**只是给你自己看的中间材料，可以省**——比如把三份材料压成一页要点，受众就是你自己，不用交代。

### 四、长什么样、多长：改进指令里最便宜的一步

“按项目分块，每块三行，全文 500 字以内”，解决的是“每次输出形状都不一样”。

加一句长度和结构，输出立刻稳定下来，而且还有一个副效果：你更容易发现它漏了什么。说好了五个项目，输出只有四块，一眼就看得出来；没有格式约束的时候，它把两个项目合成一段，你读两遍才发现。

上一篇说“便宜地检查”是交给 AI 的前提，固定格式就是让检查变便宜的具体办法之一。

### 五、一条判断规则：优先什么、不许补什么

“提到延期的项目放最前面”“材料里没提到的进展不要补，写本周无更新”——这一条挡的是最贵的错误：编造。

如果它给三个项目补上了听起来很合理的进展，你要判断真假，就得把聊天记录重看一遍，检查成本约等于自己重写。与其事后核对，不如事前给一条“没有就说没有”的规则。官方指南里明确建议给模型留一个出口：材料里找不到答案时，就让它说找不到，而不是硬答 [1]。

这一块还有另一种写法，同样管用：**不要只说不要做什么，要说清要做什么。**“不要写得太空”效果一般，“每句话都要带上具体数字或时间”效果更好 [3]。

### 六、示例：别一开始就写

示例能传达形容词传达不了的东西，但它的使用时机是“已经试过、结果总在同一处不合口味”。那时再补一个例子，最好是真实的一小段——比如把你自己写过的一段周报贴进去，说“照这个写”。

注意示例是会教东西的，它教的是你给的一切，包括你不想要的毛病。里面有你随手写的口头语，它会一并学去。挑例子时挑干净的。

## 哪些部分可以省掉

- **角色人设**：单次办公任务通常可以省。角色的作用主要是固定口吻和视角，一句“你是……”的轻量设定往往就有差别 [2]。真要说清楚，与其写“你是拥有二十年经验的资深项目经理”，不如直接写“用同事之间平实的口气，先说结论”。
- **思考步骤**：简单的整理、改写不用加。需要它权衡取舍时才有用——比如从几份互相冲突的材料里挑出真正的风险。
- **背景介绍**：只有背景会影响取舍时才写。“这份周报领导只看风险”是有用的背景；整段公司业务介绍通常不影响输出，只会挤占它对要求的注意力。

## 让指令自己长起来

第一次只用最低配：**动作 + 材料 + 格式**。

然后看你改了什么。每次你动手改的地方，就是下一条要写进去的规则。

- 每次都在删它的客套话 → 加一句语气要求
- 每次都在补它漏掉的项目 → 加一条“必须逐项覆盖，没有就写无更新”
- 每次都在纠数字 → 加一条“数字只能来自材料，不确定的标出来”

两三次之后，你的指令就长成了只适合你这份工作的样子。这比抄一份万能模板管用，因为它挡的正是你自己的返工点。

一个边界：**指令不是越长越保险。**官方文档的建议是提供“足以完整说明期望行为的最小信息” [2]，规则堆得又硬又多，反而更容易在某一条上出错，以后想改也难改。宁可三条真管用的规则，也不要二十条听着专业的规则。

最后一个边界，也接回上一篇：指令写得再好，也解决不了“这件事本来就不该交给它”。那种检查成本约等于重做的任务，换个写法还是亏。指令管的是 B 区里的效率，管不了任务选错这一层。

## 术语表

- 材料分隔符：把要处理的输入用标签、标题或三个反引号圈起来，让模型分清哪部分是指令、哪部分是被处理的素材。
- 未指定即代决：凡是没说清的地方，模型都会替你做一个决定；检查很大程度上是在捡这些替你做错的决定。
- 最小可用指令：动作加产出物、材料及边界、输出格式与长度，这三块先跑起来，其余按返工点逐条补。
- “不知道就说不知道”的许可：在指令里明确允许它承认材料中没有相关内容，是防止编造最省事的一条做法。
- 返工点驱动：每次你动手修改的地方，就是下一条要写进指令的规则，指令按这种方式自己长起来。

## 来源

1. [OpenAI 官方提示工程指南 — 消息角色、用 Markdown 与 XML 标签划分指令和上下文、示例的使用，以及让模型在找不到答案时说明而非硬答](https://developers.openai.com/api/docs/guides/prompt-engineering)
2. [Anthropic 官方提示工程最佳实践 — 明确说清要求、用角色固定口吻、用示例引导格式，以及把提示收敛在能完整描述期望行为的最小信息](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices)
3. [OpenAI 提示最佳实践 — 把指令放在前面、用分隔符分开指令与上下文，以及与其只说不要做什么，不如说清要做什么](https://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-the-openai-api)

---

原文：https://pangzhengboyin.com/articles/what-makes-a-good-ai-instruction-714132e7

> **庞征博引** · 想学的，慢慢都会
>
> 庞征博引是把想学的东西写成连载的 AI 学习工具。说出想学什么，它会先了解你的基础，再把主题写成一篇篇 5–10 分钟能读完的文章；边读边问，接下来学什么跟着你走。这篇就是这样写出来的。
>
> 开始你自己的连载 → https://pangzhengboyin.com
