💡阅读指南

SPEC 不应该从一句模糊的想法直接生成。这一节先讨论需求简报怎样形成:项目经验不足时,可以先和 AI 聊使用场景,再用 grill-me 查漏补缺;已经有完整轮廓时,则可以直接整理现有设计。胶囊系统的正式需求简报放到后面的实战章节。

7.1 先确认本书要实现的范围

胶囊系统的想法其实很大。资料怎样进入和保存,系统怎样把它和已有主题联系起来,用户以后怎样重新使用,光是其中一项就可以单独做成一个项目。如果把“请帮我做一个胶囊系统”直接交给 Agent,它很容易按照自己的理解脑补出一大堆功能。

这里需要先纠正一个容易混淆的地方。本书不是先做一个缩水版 MVP,再慢慢把它扩成完整系统。第 10 章已经确定了胶囊系统的目标:资料要经过入口、证据、索引、理解、演化和内化,最后形成用户可以阅读和继续使用的知识结构。本章的实战也按这个目标推进。

7.2 需求简报是随意的

很多人会认为需求简报需要严格的格式,像一份正式的文档。但其实不是。需求简报在 Spec Kit 里就是输入的一段 Prompt。它甚至都没有给出一份需求简报的模板。

所以随心所欲的去写需求简报,把你能想到的都写进去。

当然,如果有一定的规范那肯定是更好的。但规范需要长期的思考后形成,这是一个实践的产物。所以慢慢整理规范,一开始不要追求。多做几个项目后,让 AI 抽取一份需求简报的模板出来,以后再开发项目的时候就按照这个模板填。

7.3 给没有开发经验的读者一个简单起点

一个理想的状态是,我从绝对的 0 开始,然后一点点地演变成我们第 10 章讨论的全部需求,这样你可以看到我的思路是怎么变迁的。但这里有两个困难点:

  1. 教材的容量不够。如果真要一版版的迭代,教材会显得极其啰嗦和臃肿。其实,就算从 0 开始迭代需求,意义也不大。因为这是我的思维跃迁,不是你的。
  2. 诚实地讲,对于需求,我的思维已经没办法从 0 开始逐步扩展了。这是一种长期的思维惯性。就像我们第 10 章探讨的需求,基本是我坐在电脑前构思的。

但这里还是给同学们一些建议,如果你没有太多的项目经验,你应该先做一个最小的 MVP 练习版本:只处理一篇 URL 文章,完成证据保存、索引记录和一次主题更新。这个练习的作用,是让你先明白资料怎样从输入走到结果。

然后需求怎么变化和迭代?先自己用,觉得不爽了就迭代一定要高标准地要求项目的质量,不能将就。以前传统时代开发一个软件很费力,你将就下,可以。但是现在都是 Vibe-Coding 了,你还向质量妥协,那你根本不可能成长。

我与你的本质区别就在于,我可以坐在这里一直思考,构建出整个项目完整的轮廓;但是你可能需要一点点的迭代。可这不是技术的差距,这只是一个过程的曲折度。所以我们本质上没有强弱之分,多用心,多追求完美,才能真正地跨越式的成长。

7.4 先整理需求,再使用 Spec Kit

项目宪章解决的是长期边界,但它没有告诉我们完整主流程具体要表现成什么样。现在需要补一份需求简报,回答系统要解决什么问题、资料要经过哪些用户能够确认的变化,以及哪些内容暂时不属于本次实现。

这一步仍然属于需求发现,不是技术规划。我们暂时不讨论使用哪种数据库、调用哪个 API,甚至不急着决定资料最终放在哪个页面里。需求简报里的“约束”仍然要写,但这里的约束是产品必须遵守的边界,比如不能未经用户确认永久删除原始证据。

暂时还构思不出完整轮廓

如果你暂时还不能坐在电脑前,直接把整个项目的轮廓构思出来,那么不要急着写需求简报,也不要一上来就使用 grill-me。先和 AI 聊,而且要尽量多讲真实的使用场景。

很多人不知道怎样描述需求,是因为一开始就想把需求考虑得很完善。其实没有这个必要。你只要讲清楚自己希望系统替你做什么,最后想看到什么结果,AI 就能从这些场景里逐渐整理出功能。

所以,如果你是没有项目经验的新手强烈建议和 AI 聊天,切入点很简单,就是你想让这个系统替你完成什么事情,多给 AI 讲故事,大白话即可。

比如,可以这样开始:

Text
我想做一个帮助自己管理个人知识的知识库。

我能想到几个使用场景:

1. 我在微信公众号看到一篇文章,希望把它转发给 Hermes。Hermes 提取文章内容,再把整理后的资料保存到飞书。
2. 我把一份 PDF 或一段文字交给 Hermes,希望系统也能保存内容,并记录这份资料后来被怎样处理。
3. 新资料和已有主题有关时,我不希望系统再生成一篇孤立的摘要,而是希望它更新原来的主题页。

请根据这些场景给我一些功能上的建议,帮我组织一下,理清楚思路。

这时不用担心自己有没有把需求讲全。能想到哪个场景,就先讲哪个场景。多讲故事,多讲故事,多讲故事。我重复三遍,这是经验不足者最好的整理需求的方案。

AI 给出建议以后,你可以继续补充,也可以直接纠正它理解错的地方。这个过程的目的不是立即得到一份正式文档,而是先把项目的基础轮廓聊出来。

等到你觉得主要场景已经讨论得差不多了,再使用 grill-me。它更适合沿着已经形成的需求继续追问,检查哪些分支没有考虑,哪些决定还比较含糊。grill-me 的主要作用是查漏补缺,不是面对一片空白,替你凭空想出一个完整项目。

所以,grill-me 要取得比较好的效果,前面必须先有一些材料。这个材料可以是一段聊天记录,也可以是你自己写下来的项目想法。没有这些基础,Agent 只能从一个很空的概念开始提问,最后得到的内容很容易停留在通用功能上。

这里还要再提醒一次:grill-me 不是 Spec Kit 自带的 Skill。只有单独安装以后,才能在 Codex 中直接引用它。如果没有安装,也可以让 AI 按照“一次只问一个问题、沿着决策继续追问、能查到的内容不要问”这几条规则继续检查需求。

已经有了完整的项目轮廓

本书的胶囊系统已经在第 10 章分析过了,最多再用 grill-me 检查一下有没有遗漏。所以进入实战以后,我们会直接使用已有内容整理需求简报。读者前面看到的那些设计,就是这份需求简报的基础,而不是 Agent 临时补出来的产品设想。

无论采用哪一种方式,最后都要回到同一个动作:自己阅读并修改需求简报。AI 可以帮我们组织内容,也可以提出建议,但哪些功能应该保留,胶囊系统最终要做成什么样,仍然需要由人决定。

7.5 ■ 学点英语

中文 English 音标 说明
最小可行产品 MVP /ˌem viː ˈpiː/ 用最少功能验证一个产品方向的练习版本
统一资源定位符 URL /ˌjuː ɑːr ˈel/ 网页或网络资源的地址标识
可移植文档格式 PDF /ˌpiː diː ˈef/ 用于跨设备保存和传递版式的文档格式