文档把接口、数据结构、异常、时序拆成孤岛。纸面整齐,代码成渣。到实现阶段,你得把被拆碎的东西一针一线缝回去:接口卡口半毫米对不上,边界条件到处漏,越补越碎,越缝越厚。
流程是"规格→实现→验证",结论最晚才出来。一个中等功能,走完整条流水线才发现某个设计假设不成立——这时候改动像推倒重来,代价翻倍。
看着满满当当,却没有"文件路径、函数签名、请求/响应、错误码、迁移/回滚、监控点"。执行器只能猜:猜路径、猜接口、猜错误码。猜错一次,返工一次。
真事:按 SPEC 做,集成和测试阶段崩得更狠;反倒是"随手撸"的原型对齐现状、问题更少。原因明白得很:SPEC 的"默认假设"跟仓库的真实约束错位。为了服务文档,不得不堆适配层,复杂度直线上天。
把一句话拆成看起来专业的章节、画上好看的表格,但依旧不告诉你"具体怎么改代码"。于是实施全靠猜,补丁贴满身,交付物像缝合怪,和现有系统就是不贴。
别把文档写得更厚,先把歧义打光。动作不多,但每一步都往"可执行"走。
门禁一:需求确认≥90 分
四个维度必须过线:
产物:requirements-confirm.md
(原始请求、往返澄清、评分与最终口径)。
门禁二:需求方明确批准
由需求方说"按此实现"。理解对但不是他要的?不准开工。
requirements-spec.md
,只写可落地动作:文件路径、函数签名、请求/响应示例、错误码、迁移/回滚脚本、配置与灰度、监控指标。对比维度 | SPEC | requirements-pilot |
---|---|---|
输入表达 | 信息量大但密度低,术语飞舞,执行性弱 | 只保留对实施有用的信息,单位是"具体代码动作" |
反馈路径 | 串行长闭环,问题暴露晚、返工重 | 先清不确定性,再短闭环做评审与测试,快速收敛 |
变更成本 | 大拼图耦合,动一处牵全身,文档同步易漏 | 确认记录+单文档规格,变更点集中、可追踪 |
协作方式 | 写文档的人与写代码的人隔空喊话 | 确认回路就是沟通,规格直接服务实施与测试 |
质量实效 | 为"完整"牺牲"贴合",质量甚至不如"随手撸" | 先对齐口径,再动手;实现轻、集成顺 |
git clone https://github.com/cexll/myclaude
mkdir -p ~/.claude/{commands,agents}
cp -R myclaude/commands/* ~/.claude/commands/
cp -R myclaude/agents/* ~/.claude/agents/
/requirements-pilot "你的功能描述"
流程:回答澄清,拿到 requirements-confirm.md
(≥90 )→ 批准 → 自动生成 requirements-spec.md
→ 实现 → 评审 → 测试。
把确认回路走成模板题:形式对了,信息没用。
对策:问题直指"动哪个文件、加什么字段、返回啥错误码、失败怎么回滚"。
把规格写回宏大叙事:看起来专业,落地全靠猜。
对策:没有路径/签名/示例/迁移/监控,就不算规格。
评审只看代码风格:偏题。
对策:以口径对齐、集成可行、观测齐全为主轴评分。
测试只跑 happy path:脆。
对策:先边界与失败,再补常态。
💡 关键提醒:别把工具当银弹,把确认当形式。真正的效率来自"先把话说清楚,再让工具把重复劳动做干净"。