06 · 怎样把模糊需求写成可执行任务
不是把提示词写得更长,而是让目标、边界和验收可以被检查。
这是课程第二阶段的第一篇。前五篇完成了一次受控文件任务;本篇把那次任务背后的结构提炼成一份可复用的任务说明。结束时,你会得到
task-brief.md,并能在 Agent 动手前发现缺少的输入、权限或完成标准。
看完会得到什么
- 一套“背景、目标、输入、限制、交付物、验收”六部分任务结构
- 一份可以直接交给 Hermes 执行的
task-brief.md - 判断 Agent 应该开始、追问还是停下的方法
- 任务偏离时缩小修改范围的恢复入口
开始前
- 预计时间:15—25 分钟
- 前置课程:05 · 哪些权限可以批准,凭据应该怎样处理
- 已验证日期:2026-07-18
- 已实测环境:Hermes Agent 0.18.2,Linux x86_64,CLI;任务结构本身同样适用于 Desktop
- 输入位置:Hermes 对话框;验收命令在系统终端执行
- 本篇会修改:练习目录中新增
task-brief.md - 本篇不会修改:三份输入文件、Hermes 配置、凭据和正式项目
先认识本篇术语
| 术语 | 中文直觉 | 本篇用途 |
|---|---|---|
| 背景(context) | 为什么现在要做这件事 | 帮助模型选择相关信息,而不是替你定义目标 |
| 输入(inputs) | 允许使用的事实和材料 | 决定结果能追溯到哪里 |
| 限制(constraints) | 明确不能做或不能越过的边界 | 控制文件、网络、时间与权限范围 |
| 交付物(deliverable) | 最终要留下的具体东西 | 让“完成”变得可见 |
| 验收标准(acceptance criteria) | 人和 Agent 都能检查的合格条件 | 区分“执行结束”和“结果正确” |
一个可执行任务的六个部分
读成一句话就是:在什么背景下,基于哪些输入,在什么边界内,完成什么目标,留下什么交付物,并怎样证明它合格。六部分不要求固定顺序,也不要求写成长文;关键是每一部分都有可判断的信息。
背景不是目标
“下周要开复盘会”是背景;“把三份记录整理成一页复盘摘要”才是目标。只有背景,Hermes 仍然不知道该研究、改写还是发消息。
输入要能被点名
“参考相关资料”会把选择范围交给 Agent。更稳妥的写法是列出文件名、网址、数据库或时间范围,并说明哪个来源是事实依据。
限制要针对真实风险
有效限制应当能改变行动,例如“不联网”“不修改输入”“只处理当前目录”“发布前等待确认”。“请小心”“尽量准确”没有给出可执行边界。
交付物与验收不是同一件事
report.md 是交付物;“包含四个章节、每条结论有来源、原文件未修改”是验收标准。只有文件名,会得到一个存在但不一定合格的文件。
先做开始条件判断
Hermes 收到任务后,不应该在所有情况下立即执行:
| 当前信息 | 正确动作 |
|---|---|
| 六部分足够,低风险动作已有边界 | 开始执行,并在完成后验收 |
| 缺一个会改变方案的输入或决定 | 只问最必要的澄清问题 |
| 涉及发布、删除、支付、生产或不明凭据 | 停在准备阶段,等待具体确认 |
| 目标互相冲突 | 指出冲突,不自行选择优先级 |
例如“只读取,不修改”与“请创建报告”冲突。不要猜哪一句更重要,应改成“输入只读;允许新建 report.md”。
动手练习:把一句模糊需求改成任务说明
本次使用第 03 篇的练习目录 ~/hermes-first-task。如果目录已经删除,先按第 03 篇重新准备三份虚构输入。
第一步:确认输入仍在
在系统终端中进入练习目录:
cd ~/hermes-first-task
ls -1这两条命令只切换位置并列出文件,不修改内容。成功时应能找到 event-notes.txt、learner-feedback.txt 和 next-actions.txt;可以还有上一篇生成的 summary.md。如果三份输入不全,先恢复样例,不要让 Hermes 猜缺失内容。
Windows PowerShell 对应操作:
Set-Location "$HOME\hermes-first-task"
Get-ChildItem -Name第二步:识别模糊需求缺了什么
原始需求只有一句:
帮我为下次活动整理一下材料,写得专业一点。它至少缺少四项:使用哪些输入、要创建什么、能否联网或改原文、怎样算合格。“专业一点”也无法直接验收。
在开始执行前,先写出你的决定:
- 目标读者:活动组织者;
- 允许输入:当前目录三份
.txt; - 允许动作:读取输入,新建一个任务说明文件;
- 禁止动作:改输入、联网、发布;
- 最终任务的交付物:稍后由任务说明指定;
- 验收:结构、来源、边界和缺口都可检查。
第三步:让 Hermes 只创建任务说明,不执行最终任务
从当前目录启动 Hermes:
hermes命令在系统终端输入,会启动交互会话;它本身不会改三份输入。进入对话后粘贴下面的任务:
请把下面的模糊需求改写为一份可执行任务说明,并保存为当前目录的 task-brief.md:
“帮我为下次活动整理一下材料,写得专业一点。”
任务说明必须包含:
1. 背景:下次活动前给组织者查看;
2. 目标:基于现有记录形成一页筹备简报;
3. 输入:只允许 event-notes.txt、learner-feedback.txt、next-actions.txt;
4. 限制:不修改输入、不联网、不发布、不补写来源中没有的事实;
5. 交付物:brief.md,包含“上次进展、主要卡点、下一步行动、信息缺口”;
6. 验收:每条事实能追溯到文件,负责人和时间不丢失,建议不写成已决定事项,三个输入保持不变。
这一次只创建 task-brief.md,不执行其中描述的最终任务。写入前先复述将创建的文件和不会做的动作;完成后重新读取 task-brief.md,检查六部分是否齐全。这里故意把“写任务说明”和“执行最终任务”分成两次。成功模式不是固定文字,而是:Hermes 只创建并检查 task-brief.md,没有创建 brief.md,也没有修改三份输入。
第四步:按机器可检查和人工判断两层验收
退出 Hermes 后,在系统终端运行:
test -f task-brief.md && echo "task-brief.md exists"
test ! -f brief.md && echo "final task not executed"第一条检查任务说明存在;第二条检查最终任务尚未被提前执行。没有任何输出时,先用 ls -1 检查当前目录是否正确,而不是重复让 Agent 写文件。
PowerShell 对应检查:
Test-Path task-brief.md
-not (Test-Path brief.md)两项都应返回 True。随后打开 task-brief.md,人工检查:
- 六部分都有明确内容;
- 输入是准确文件名,不是“相关资料”;
- “输入只读”和“允许新建输出”没有冲突;
- 验收包含内容准确和未越界,而不只是“文件存在”;
- 缺失信息被列为缺口,没有被补成事实。
权限检查
- 本篇会访问:
~/hermes-first-task中三份虚构输入 - 可以批准:列出当前目录、读取三份输入、新建并复查
task-brief.md - 需要停下来确认:执行
task-brief.md中的最终任务、创建brief.md、访问目录外文件、联网或发布 - 不应输入的信息:真实个人资料、凭据、未授权会议记录和客户文件
为什么这样设计
任务说明的价值不是“提示词工程技巧”,而是把决定权放回正确位置。目标和验收由任务负责人定义;Hermes 可以选择完成步骤,但不能替负责人决定能访问什么、能对外做什么或什么结果算业务合格。
先写任务说明还有一个恢复优势:如果结果偏离,不需要重开一个更长、更混乱的对话。你可以定位是输入错误、限制遗漏还是验收太弱,再只修对应部分。
出错时按这个顺序查
- 确认当前目录是
~/hermes-first-task,三份输入存在。 - 检查提示中是否同时写了“只创建任务说明”和“不要执行最终任务”。
- 如果 Hermes 追问,判断缺失信息是否真的会改变方案;不会改变时,要求它按已给边界继续。
- 如果它提前创建了
brief.md,先停止任务,检查该文件,不要直接发布或继续扩写;确认无用后再由你决定是否删除。 - 如果内容不合格,只要求修改
task-brief.md中缺失的章节,不让它重做输入文件。 - 对照当前官方 CLI 与安全文档,确认工具和审批行为是否变化。
本篇作品
~/hermes-first-task/task-brief.md这份文件是最终任务执行前的合同。它不要求与示例逐字相同,但必须让另一位读者无需猜测就能回答:用什么、做什么、不能做什么、留下什么、怎样验收。
本篇验收
- [ ]
task-brief.md已存在,brief.md尚未被执行创建 - [ ] 背景、目标、输入、限制、交付物和验收六部分齐全
- [ ] 输入文件名、输出文件名和允许动作没有歧义
- [ ] 三份原始输入没有被修改或删除
- [ ] 能指出至少一个需要追问的情况和一个必须停止确认的情况
- [ ] 知道结果偏离时应缩小修改范围,而不是盲目全部重来
下一篇
下一篇会解决“这项工作应该留在哪个会话里”:怎样命名、查找、继续和压缩会话,以及什么时候应该开始一个新会话。