先看弱需求
Before 状态故意保留粗糙感。它代表很多 AI 编码提示词的真实问题:目标被暗示但没有写明,约束缺失,评审者也没有客观理由拒绝额外行为。
这些案例展示一件事:如何把松散需求变成一个小规格包,包含 spec.md、任务、验收标准和测试证据,然后再让 AI 开始写代码。
Before 状态故意保留粗糙感。它代表很多 AI 编码提示词的真实问题:目标被暗示但没有写明,约束缺失,评审者也没有客观理由拒绝额外行为。
有价值的不是文案变顺,而是边界变明确:非目标、影响文件或系统、兼容约束,以及实现功能时不能改变的行为。
规格包只有在验收标准能落到测试、截图、fixture、日志或上线信号时才算完整。案例展示的是评审者在合并前应该要求的证明。
一个涉及金额的 checkout 需求,变成包含校验状态、总价计算、实现任务和回滚证据的规格包。
弱需求: 给 checkout 加优惠码。 无效码不要影响付款。 规格边界: - 付款前应用一个优惠码 - 不做后台管理 - 不重构 totals打开优惠码案例
一个 API 错误清理需求,变成包含兼容说明、SDK fixture、OpenAPI 示例和迁移证据的契约规格。
弱需求: 优化 API 错误。 让客户端更容易处理。 规格边界: - 只改 envelope - 只做 additive response change - 旧 SDK 仍能解析打开 API 错误案例
一个设置页需求,变成包含退订保留、重复发送预防和 worker 投递证据的迁移规格包。
弱需求: 添加通知偏好。 注意不要骚扰用户。 规格边界: - 只处理邮件和推送 - 保留现有退订 - 证明不会重复发送打开通知案例
一个模糊账号状态字段需求,变成包含 expand/backfill/switch、查询证据和回滚边界的迁移计划。
弱需求: 给 accounts 加 account_status。 确保报表还能用。 规格边界: - 先 nullable expand - parity check 通过后再 switch - cleanup 放到后续发布打开数据库案例
一个过宽的 AI 生成 PR,变成包含允许文件、非目标、diff 映射和合并证据的评审规格包。
弱需求: 用 AI 修复设置 bug。 顺手清理相关代码。 规格边界: - 只改允许路径 - 不改 billing 或 auth - changed files 映射到 tasks打开 AI PR 案例
一个 CSV 导出需求,变成包含权限、filter snapshot、文件过期、队列指标和失败处理的异步 job 规格。
弱需求: 给报表加 CSV 导出。 文件准备好后邮件通知。 规格边界: - 大客户走异步 job - 使用当前报表 filters - 下载链接安全过期打开导出案例
这些不是装饰性示例。每个案例都必须教会一个可复用决策:如何缩小范围、如何命名失败模式、如何把验收标准转成证据,或者如何防止 AI 编码工具发明产品行为。如果一个案例只是说“需求要写清楚”,它就不应该放在这里。
案例库刻意比博客归档更小。少量完整、可复用的案例,比大量浅层变体更有价值。只有当新案例能引入不同模式时,才会加入:例如涉及金额的 checkout 逻辑、公开 API 兼容性、迁移安全、长任务后台处理,或通知偏好漂移。
可以复制回滚信号、总价计算测试、无效状态验收;不要照搬只适合某个产品的商业规则。
可以复制错误 envelope、兼容说明、SDK fixture 和 OpenAPI 示例;不要在没有迁移窗口时重命名字段。
可以复制 before/after 结构和证据清单;不要在架构不同的情况下照搬所有任务。
当 AI 生成 diff 总是扩大范围时,可以复制允许路径、非目标和 changed-file map。
当用户操作需要异步完成时,可以复制状态机、权限检查和队列证据。
先匹配风险,再匹配行业。你的需求不一定和案例领域完全一样,真正可复用的是边界写法、证据要求和评审动作。
如果 bug 会影响价格、付款、退款或订单状态,先看 Checkout 优惠码案例。
如果客户端、SDK、文档或生成代码依赖稳定契约,先看 API 错误分类案例。
如果编码助手修改了原需求之外的文件或行为,先看 AI PR 范围漂移案例。
如果工作需要后台 job 完成,并涉及权限、状态和运维证据,先看 大报表导出案例。
每个可索引案例都要经过同一套检查。第一,页面必须有具体 before 状态,而不是只讲“需求要写清楚”。第二,after 状态必须能进入真实工程流程:规格、任务清单、验收标准或证据清单。第三,案例要解释为什么这个改写能减少返工,而不是只是让文字更像专业文档。
这套标准同时服务读者和搜索质量。一个页面可以有漂亮卡片和 CTA,但仍然很薄。真正有用的案例页,应该让开发者在五分钟内做出一个具体决定:是否缩小范围、是否补兼容说明、是否拆分 AI 编码任务,或是否在合并前要求某个测试。如果案例不能支持这类动作,就应该扩写、合并到更强页面,或从索引中移除。
案例必须补充一个具体场景、失败模式或可复用产物,而不是重复已有页面。
读者至少应该能复制其中一段到 issue、PR、仓库规格或评审清单。
页面需要写出合并前要看什么证明,因为模糊 AI 编码提示最常失败在这里。
发布新案例前,可以把这一段当作自检:页面是否展示了混乱输入、改写后的规格包和证据门槛。如果只有一个很短的摘要和几个入口,它更像目录卡片,不像能被搜索收录的独立资源。
没有原始弱需求,读者就看不出哪些歧义被移除了。before 状态本身就是教学的一部分。
证据应该和规格一起设计。实现后再补证据,会把评审变成总结,而不是验证。
真正可复用的是规格包结构。具体业务规则必须按读者自己的系统、风险和发布流程重写。
案例页不是文章页,也不能只靠列表撑内容。一个合格案例页应该让读者看完后能够复述三件事:原始需求错在哪里,改写后的规格为什么更可执行,以及合并前应该拿什么证据证明结果。只要这三件事缺一项,页面就容易被认为只是导航页或浅层摘要。
所以这里的案例会优先补真实工作流中的判断,而不是继续堆同义词:谁负责评审、哪些范围不做、什么地方容易回滚失败、哪些测试或截图能证明改动成立。这样的内容对搜索和 AdSense 都更稳,因为它不是为了凑字数,而是在补读者做决策所需的信息。
这也是案例库宁可少一些,也要每篇更完整的原因。
案例选择标准是可复用:每个案例都必须展示真实 before/after、明确规格边界,并给出评审证据。