EARS 需求语法:把「脑补」逼出来的不是咒语,是句子结构
一篇 615 粉作者的长文把 EARS 讲得诊断准、方法正、案例好,但漏了一个月——他教你手搭的四步,在 Amazon Kiro 里已是三个内置按钮;而「EARS 让 AI 写得更准」这个核心主张,至今没有任何对照评测支撑。落到机器人交付场景,它最值钱的是一张「待确认清单」。
- 结论:EARS(Easy Approach to Requirements Syntax)是 2009 年 Rolls-Royce 提的需求语法,航空/汽车/NASA 用了 17 年。它结构性保证的是「把洞逼出来」,不是「让 AI 写得更准」。
- 两个核查发现:① 作者手搭的四步,Kiro 里已是三个按钮(requirements.md 默认 EARS 记法 + Analyze Requirements 抓五类问题 + spec-kit 133k★ 已合并 EARS 扩展);②「EARS 提升 AI 编码质量」无对照评测,唯一同行评议实证研究是 10 人×3 条需求、0 引用、测的是人不是 LLM。
- 最值钱的迁移:用 EARS 的 If-Then 模式,把客户「你要什么效果」换成「如果 X 发生了,你希望它怎么做」——这份「待确认清单」就是机器人表演/租赁的报价依据和免责边界。
- 纪律:对外讲「把洞逼出来」(结构性保证),不讲「写得更准 30%」(可被一句话证伪)。
EARS 到底是什么
O MO 的核心洞察很锋利:「问题不在它有没有问清楚,在于追问只能解决『说不清』——脑补发生在你以为自己说清楚了的地方。」这句话是本篇唯一无争议、也最值钱的一句。
EARS 本身是 2009 年 Rolls-Royce 在分析航空发动机适航规章时提的需求语法,五种基本模式(Ubiquitous / Event-driven / State-driven / Optional / Unwanted)+ Complex(组合)。作者主动纠正了「五关键词 WHEN/WHILE/IF/WHERE/SHALL」这个流行误传,是全文最见功力处。事实层核查 8.5/10,出身、模式、采用方(Airbus/Bosch/Dyson/Honeywell/Intel/NASA/Siemens)全部对得上。
他漏了一个月
第一处:他教的手搭四步(AI 改写成 EARS → 你做裁判 → 贴进编码工具 → 一份规格三处复用),在 Amazon Kiro 里已是三个按钮。Kiro 的 requirements.md 默认就是 EARS 记法,内置 Analyze Requirements 自动抓五类问题(逻辑矛盾 / 歧义 / 冲突约束 / 未陈述假设 / 缺失边界),后两类正是作者说的「洞」。spec-kit(133k★,MIT)也已在 7 月 13 日合并 EARS 扩展(author/lint/convert 三个 opt-in 命令)。中文圈这轮 EARS 讨论,整体落后英文工具链约一个月。
第二处:那组看起来很硬的百分比(返工减少 30–40%、审计准备减少 40–60%),追溯全是 SEO 内容农场,没有一篇给得出一手报告链接,有的正文还混入了「Ear Nose & Throat」这类自动生成串标。spec-kit 维护者自己也说「目前没有证明某格式优于另一格式用于 coding agent 的评测」。
把「待确认清单」做成产品
落到机器人交付,EARS 的 If-Then 模式正好是那 85% 需求对齐工作的采集表单。6 台 K1 足球项目最容易翻车的,就是「你没意识到要交代、对方觉得默认合理」的洞:
| 如果发生了 | 你希望它怎么做(待确认) |
|---|---|
| 单台机器人比赛中失去连接 | 重启?换备机?继续 5 打 6? |
| 场地光照中途变化(自然光/灯光) | 视觉识别应 ______ |
| 观众进入表演区域 | 急停?避让?谁喊停? |
| 电池第 15 分钟低于阈值 | 轮换策略应 ______ |
最值钱的资产锁在图片里
全文唯一一个「可以直接复制」的 prompt,只以图片形式存在——在一个讲「让需求可解析、可复制」的题目下,用最不可复制的载体承载最该被复制的东西。可落地的是自己写一份中文 EARS skill:6 种模式(补上 Complex)+「每条规格最多 2 个关键字」硬约束 + 纯中文模板 + 文件路由表 + 待确认机制,并预置机器人表演/租赁场景的 If-Then 模板。注意检索到的现成中文 skill(42★)无 LICENSE,可参考结构自己写,不要直接 npx 装进生产流程。