乐于分享
好东西不私藏

用AI做软件系统,需求是聊出来的,给你一个聊需求的技能

用AI做软件系统,需求是聊出来的,给你一个聊需求的技能

大家好,又到了AI探索时间。

以前的软件怎么炼成?

当你需要把自己的工作任务变成一个软件系统的时候,最常见的方法,就是给IT部门的同事提需求,让他们根据需求,做成一个软件系统。
他们会让你写一份完整详细的需求文档,说明清楚你的需求到底是什么,怎么操作,输入什么,得出什么结果,每一步如何处理。
有时候一个简单的需求,恨不得写成十几页的文档,才能图文并茂地说明清楚,然后才能交给IT部门的同事去编写代码,落实需求。
这个需求文档这一步,就难住了很多人,想想这么麻烦,算了吧,还是忍忍吧,继续手工处理算了。
现在-AI帮我们做软件
而现在呢,已经进入AI智能化开发时代了,手里有需求的人,不需要再去拜托会编码的软件工程师了,不需要找人来帮忙做系统了,找AI干活不香吗?
AI就是一个最厉害的软件工程师啊!
每个人手里,都要有几个能干的AI助手,AI能帮你做的事情,比你想象的要多得多,只要tokens足够便宜,各种想法都可以找AI帮忙做,帮忙实现各种梦想。
其实使用AI做智能化开发,跟找IT部门开发软件,也是同样的流程,只是这个编写需求的任务,变成了交给AI去做。
我们要做的是什么呢?跟AI好好聊天!
把你知道的关于这个需求的所有信息,都告诉AI,最后让它来总结出一个需求文档,你来审核这个需求文档就可以了。
少写10页文档,多聊5个问题,需求反而更清楚。
聊天这个事,又太随意了,东拉西扯的,聊了一整天,可能关键问题都没有聊到,怎么办呢?
聊天谁都会啊,但是真正能把AI聊明白,让AI能够get到你的完整需求,可不是那么容易的,还是需要一些技巧的。
一起来用skill
今天我就把这个技巧教给大家,就是用skill。
Skill是AI智能化开发的一种工具,中文一般叫做“技能”,很多AI工具现在都提供了技能,允许自己去添加技能。
给大家推荐一个很好用的skill,我用了很久,几乎每天都要使用,每次分析问题,都会自动调用这个skill,AI能够帮我把所有边界条件都考虑到,逐个提出问题,然后每个问题都等待我的答复,直到我跟AI达成全部共识了,它才会开工干活。
这个技能,我已经推荐给身边的很多人了,确实是做分析的一大利器。
这个skill的名字叫做grill me“拷问我”,很形象的名字,来源于 GitHub 开源仓库mattpocock/skills。
这个skill很简单,就几句话,但是它会针对需要分析的问题,首先建立一个决策树,按照决策树逐个询问。
中间你可以不回答问题,直接讨论几个选项的区别,或者让AI解释选项的含义,等讨论清楚后,继续追问下一个问题。
而且还约定了,如果有不明白的地方,不要第一时间问我,而是自己先去找答案,先查代码,查数据,自己搞不清楚了,才来问我。
这一步就相当于,AI会自己去验证和了解所有的事实问题,只有到了决策这一层,才会像我提问。跟我讨论解决方案,等待我拍板决定,像不像一个尽职尽责的小助理?
这个skill本身是英文的,我觉得使用不太方便,所以就转成中文的,稍微做了一些修改,强制必须使用A,B,C,D的方式给出问题的选项,用起来就更加顺手了,分享给大家。
下面稍微拆解一下,这个skill包含什么内容。
首先是skill 的文件头,这个部分是需要按照规范写的,可以在大部分智能化开发工具使用,Claude code,Codex,Cursor都能用。
用短横分隔,包括两部分,第一部分是name,这个skill 的名字,第二部分是 description,这个skill 的简单说明。
AI工具启动的时候,会把这两部分内容读到系统提示词中,当用户需要分析讨论需求的时候,AI工具会自动调用这个skill,协助进行分析。
以下是这个skill 的内容,可以自己取用。

---

name: grill-me

description: >-

  以一次只问一个问题的方式,对计划、设计、需求或决策进行无情追问,直到决策树每一分支都敲定。

  在以下情况主动使用:用户分析问题、提出或讨论需求、做方案/设计时;遇到模糊表述、隐含假设、未决取舍、范围不清、验收标准缺失、或「感觉还没想清楚」的软点时。

  也在用户运行 /grill-me、要求被「拷问」、或希望在动手前压力测试思路时使用。

  无状态——默认不写文件;共识主要存在于对话中。

---

# Grill Me(拷问)

对用户的计划、需求、决策或想法进行无情追问,直到双方达成**共同理解**。

GitHub 开源仓库mattpocock/skills

## 何时启动

在分析问题、梳理需求、讨论方案的过程中,一旦出现不明确点,就进入本流程,而不是带着模糊假设继续往下做。典型信号包括:

- 需求用词含糊(「差不多」「支持一下」「尽量好用」)

- 范围、优先级、边界条件未说清

- 存在多个合理取舍,但用户尚未表态

- 验收标准、成功定义缺失

- 隐含假设会影响实现,却还没确认

GitHub 开源仓库mattpocock/skills

## 规则

1. 把计划/需求当成一棵**决策树**来走。按依赖逐个敲定——先定父决策,再定挂在上面的子选择。

2. **一次只问一个问题**。等用户反馈后再继续。禁止一次抛出多个问题。

3. 每个问题必须用 **A / B / C**(必要时可加 D)列出互斥选项,并明确标出**推荐项**。用户只需回复字母(或提出新选项)。禁止只给一句推荐、不给选项。

4. 若某个*事实*可以通过探索环境(文件系统、工具、代码库等)查到,就自己查,不要问用户。*决策*属于用户——每个决策都要抛给用户并等待回答。

5. 在用户确认已达成共同理解之前,**不要**开始执行(实现、搭脚手架、写代码等)。若用户明确说「先别拷问、直接做」,则尊重其选择并退出本流程。

GitHub 开源仓库mattpocock/skills

## 提问格式

每个问题按此结构输出(保持简短):

```

**问题:** <这一决策要敲定什么>

- **A.** <选项>

- **B.** <选项>(推荐)

- **C.** <选项>

一句话说明为何推荐该项。你直接回 A / B / C,或补充新选项。

```

GitHub 开源仓库mattpocock/skills

约定:

- 通常 2~3 个选项;只有确实存在第四条合理路径时才加 **D**。

- 选项彼此互斥、粒度一致;不要把「是/否」拆成假选项灌满 A/B/C。

- 推荐项写在选项行内,用 `(推荐)` 标注,不要另起一套编号。

- 用户回字母即视为选定;若回「都不对」或自拟方案,先确认其方案再进入下一问。

## 目标

把薄弱点和隐含假设逼到台面上。让每个重要选择都明确说出来。唯一产出是对话里更清晰的共识——除非用户明确要求,否则不写任何文件。

GitHub 开源仓库mattpocock/skills

好了,今天分享的内容就这么多,探索AI无止境。

AI时代,利用最新工具,分析思考

投资、工作、生活、知行合一

在学习中进步,在思考中完善