# Spec 对话模板:你给 agent 发的第一份 8 项清单
**作者**: 龙鳞
**日期**: 2026-07-18T03:18:16.000Z
**来源**: [https://x.com/LonglinX/status/2078318406424793326](https://x.com/LonglinX/status/2078318406424793326)
---

输入格式上篇文章提到我让一个 Agent 写一份行业调研。
原话是这样的:
> 帮我看看 AI 在企业落地。
它立刻跑起来了。 5 分钟,吐了一屏结果。 我点开一看——全是废话。
- 开头一段"AI 是大势所趋"的科普
- 中间几段"百度百科风格"的行业概览
- 结尾一句"具体情况还需结合实际"
我让它重写,它又重写。 改了 4 次,我越催,它越在原地打转。 Token 用了不少,事情一件没办成。
==这不是 Agent 的问题。是输入的问题。==
最近我把这件事讲成一篇方法论文章,叫《Spec 写不到位,Agent 再强也救不了你》。 文章发出去后,我问自己的一个问题是:
> "道理我懂了,但具体该怎么填?有没有一份能直接用的清单?或者一个工具,让每次我跟agent对话时都强制按照固定格式结构化的输入"
今天这篇就是答案——一份 8 项对话模板,你下次给 agent(包括我)发消息之前,把这清单过一遍。 漏掉哪一项,agent 就猜;猜了就要返工;返工就烧 token。
# 一、先说结论:模板解决的不是 prompt 技巧,是"沟通协议"
很多人以为"写好 prompt"是一种技巧,要学。 其实不是。
写 Spec 是一种沟通协议——你按协议填 8 项,agent 按协议交付结果。 协议的好处:你不用关心 agent 内部怎么想,agent 也不用猜你想要什么。
填完一份 Spec,平均能让 token 消耗从 18,500 降到 5,400,节省 70%;一次完成率从 12% 涨到 87%。 这不是玄学,这是 token 经济。
# 二、8 项必填清单(直接复制粘贴填)
下面这份模板,你直接复制到一个新文件或聊天框,然后填空:
```
## Spec · [一句话任务名]
### 1. 目标(What)——给谁看 / 做什么
- **受众**:__(岗位 / 角色 / 场景)__
- **输出类型**:__(报告 / 文章 / 表格 / 代码 / 推文)__
- **必含项**(至少 3 个,缺一不可):
- [ ] __
- [ ] __
- [ ] __
- **不准出现**:__
### 2. 完成标准(Done)——什么算"做完了"
满足以下所有条件,才算完成(可验证,不是"差不多就行"):
- [ ] __可机器验证__
- [ ] __可人眼验证__
- [ ] __可截图验证__
### 3. 约束(Constraints)——不能踩的红线
- **风格**:__(简洁 / 详细 / 案例驱动)__
- **长度**:__(≤ N 字 / N 段)__
- **不准做的事**:__
### 4. 上下文(Context)——只放必要的
- **背景**:__(1-2 句)__
- **已知输入**:__(文件路径 / 链接)__
- **已完成**:__(前几步已做)__
### 5. 失败处理——歧义时怎么办
- [ ] **直接假设并继续**(默认)
- [ ] **停下来问我**
- [ ] **报错退出**
### 6. 产出形式
- **存到**:__
- **回我**:__(完整内容 / 路径 / 截图)__
### 7. 紧急程度
- [ ] 高 / [ ] 中 / [ ] 低
### 8. 备注
__(可选:历史经验、相关工具)__
```

这就是核心。 8 项,缺一不可。
你说"我哪有空填 8 项?"——那就只填 3 项:目标 / 完成标准 / 约束。 这 3 项是核心,填了 agent 就能跑。 剩下 5 项让 agent 用默认值。 但默认值 agent 会显式告诉你它赌了什么,你不同意可以马上改。
# 三、反例:一句话需求是怎么变成"高利贷"的
对比一下,你今天最常发的那句话:
> "帮我看看 AI 在企业落地调研情况汇总"
跟填完 8 项之后:
```
## Spec · AI 企业落地案例汇总表格
1. 目标:
- 受众:部门负责人(40-55 岁,企业中高层)
- 输出类型:案例表格 + 1 封面 + 3 配图
- 必含:① 央企 AI 落地真实数据 ② 3 个岗位案例 ③ 一句话锋利判断
- 不准:百度百科开头 / "AI 是大势所趋"
2. 完成标准:
- [ ] 表格中有一列摘要 每个案例 100字的案例摘要 内容有冲突 + 锋利判断
- [ ] 至少 3 个具体工作场景
- [ ] 每个案例配 1 张图
- [ ] 末尾问 1 个管理者能直接问的问题
3. 约束:
- 风格:case-first(先案例再机制)
- 数量:150-300 个案例,每个一行
- 不准:emoji / 黄色文字
4. 上下文:第 3 篇,前两篇已发
5. 失败处理:直接假设并继续(我有判断力)
6. 产出:到我workspace文件夹 + 路径给我
7. 紧急:中
```
差别是什么?
一句话需求 = 让 agent 替你猜 100 个决策(格式 / 深度 / 视角 / 历史 / 案例 / 风格 / 长度 / 红线 / 失败处理 / 产出)。
填 Spec = 你替 agent 定好所有决策。
每少定一个,agent 输出就偏一格。 偏到最后,你想的"详细的"和它想的"详细的",基本是两个东西。
这就是为什么一句话需求是"高利贷"——短期让你舒服("我啥都不用想"),长期让你破产(Token 翻倍、任务跑废、agent 自我怀疑)。

# 四、Done 怎么写:可验证是底线
最容易踩的坑是 Done 写成"差不多就行"。
我见过的真实案例:
> ❌ 反例:"差不多就行"
> ❌ 反例:"内容质量高"
> ❌ 反例:"风格符合预期"
这三句话没有一句是可验证的。 agent 跑完,它自己都不知道算不算完成。 它会一直改,一直觉得差一点,直到你叫停。
正确写法是可机器验证 / 可人眼验证 / 可截图验证,三类各一:
> ✅ 正例:
- 输出 JSON 含 verified: true 字段(机器验证)
- 不少于 800 字(人眼验证)
- 表格清晰可读(截图验证)
有这三类 Done,agent 就能自己停,不用你催。
# 五、给其他 agent 派任务时,Spec 要自带
如果你想用 agent A 派 sub-agent B 干活,Spec 不能省——因为 B 没有任何上下文,它只能看你写的 Spec。
我自己的 sub-agent Spec 模板:
```
delegate_task(
goal="[1-sentence goal]",
context="""
## Spec
- 目标:__
- 完成标准: [ ] __, [ ] __, [ ] __
- 约束:__
- 失败处理:__
- 工具/环境:__
- 必交付物:__(路径 + 格式)__
- 回主 agent 的格式:__(JSON / Markdown / 截图)__
## 关键约束
- 不要重新发明__
- 必须用__ skill
- 不要触碰__ (off-limits)
""",
)
```
Spec 写得完整,sub-agent 就能一次到位;Spec 写得糊,sub-agent 就跟你之前那个 Agent 一样——跑半天,出一屏废话。

# 六、你今天就可以用的 3 个速查表
表 1:8 项最低必填(3 项核心)
表 2:Done 反例 vs 正例
表 3:失败处理 3 选 1

# 七、这个模板能给你省多少时间
我自己跑了一年,数据是这样的(同样任务、同样模型、同样硬件):
填全 8 项,一次完成率从 12% 涨到 87%,返工从 3.2 次降到 0.3 次。 省下来的不只是 token,是你催 agent 改稿的时间。
# 八、写作即编排——这个模板本身就是一种思维训练
这套模板不是我原创,它来自 3 个源头:
1. Spec 方法论(我自己写的一篇长文)— 8 项结构化输入的逻辑
2. Codex 目标模式——What / Done / Constraints 三层目标
3. @sujingshen「AI 时代的知识编排 #06 写作即编排——当方法论指向自己」
第三篇的核心观点让我印象最深:
> "写 Spec 这个动作本身,就是一种思维训练。 "
也就是说,你给 agent 写提示词的过程,会让你自己思考问题的方式也在变——更结构化,更可执行,更少"我再想想"。
这才是"写作即编排"的真正含义:你写的不是提示词,是你自己的方法论。

# 九、你今天就可以做的事
1. 收藏这份模板——复制到你的笔记工具(我用 Obsidian)。
2. 下次发任务之前过一遍清单——至少填 3 项(目标 / Done / 约束)。
3. 验证模板对你有用——用 3 个真实任务跑一遍,看是不是真的省 token、省时间。
如果你跑完发现没用,把它删了就行。 但我赌你跑完会发现:这份模板是 Agent 时代你最值得花的 10 分钟。
==你今天开始写 Spec,明天你就在用更省 token 的方式跑更久的 Agent。 早写,早受益。==
# 附录:8 项完整模板
(为了你能直接复制,再贴一遍。)
```
## Spec · [一句话任务名]
### 1. 目标(What)——给谁看 / 做什么
- **受众**:__
- **输出类型**:__
- **必含项**(至少 3 个):
- [ ] __
- [ ] __
- [ ] __
- **不准出现**:__
### 2. 完成标准(Done)
- [ ] __
- [ ] __
- [ ] __
### 3. 约束(Constraints)
- **风格**:__
- **长度**:__
- **不准做的事**:__
### 4. 上下文(Context)
- **背景**:__
- **已知输入**:__
- **已完成**:__
### 5. 失败处理
- [ ] 直接假设 / [ ] 停下来问 / [ ] 报错退出
### 6. 产出形式
- **存到**:__
- **回我**:__
### 7. 紧急程度
- [ ] 高 / [ ] 中 / [ ] 低
### 8. 备注:__
```
下一篇预告:我会写《把 Agent 装进岗位动作里》,讲 5 个具体岗位的 Spec 模板(法务 / HR / 销售 / 客服 / 财务),每个岗位给一份现成的 Spec 模板,直接拿去用。
如果你等不及,现在就把这份模板发给你的 agent(包括我),下次对话我们直接用 8 项 Spec 跑一遍,你会发现 agent 一次到位、Token 节省一半。
如果这篇对你有用,点个赞。
## 相关链接
- [@LonglinX](https://x.com/LonglinX)
- [18K](https://x.com/LonglinX/status/2078318406424793326/analytics)
- [@sujingshen](https://x.com/@sujingshen)
- [Upgrade to Premium](https://x.com/i/premium_sign_up)
- [11:18 AM · Jul 18, 2026](https://x.com/LonglinX/status/2078318406424793326)
- [18.5K Views](https://x.com/LonglinX/status/2078318406424793326/analytics)
---
*导出时间: 2026/7/19 10:21:45*