AI直接写项目的问题
AI下手干活的时候,相当缺乏可控性。
需求不明确,他会自己加一些不需要的功能,也会遗漏功能。 比如它喜欢给数据库想象出一些永远用不到的字段。 所以需要严格的提示词来做约束,让AI产出可控。
对于提示词,肯定是
Trash in, trash out.
但是这很难界定。
下面给出一个工作流,使得
- 人类写了极少的提示词
- AI自己完成大部分工作但每一步都绝对可控
工作流
1. 需求之前,先出概念
很多人需求文档(PRD)都不写,直接给AI用几句话表述需求。
我们可以先在根目录创建一个目录docs。
然后在里面写一个概念文档docs/concepts.md。
概念文档是极简版的需求,偏灵感。 把你的工程需要哪些功能大致写一写。
这份概念文档是直接归档的,应该注意
- 最好是包含你对于项目的所有灵感点
- 不要追求深度
在文章的开头,做技术选型。 比如说清楚这个项目
- 前端:
ts+vue - 后端:
docker容器化的微服务+Java+SpringBoot+MyBatis技术栈
2. PRD-v-0.0
直接让你的Coding Agent依据你的concepts.md给一份docs/PRD-v-0.0.md。
但是注意让它
- 不要设计数据库
- 不要划分模块
- 不要设计接口文档
- 划分清楚所有需求的功能边界
- 分功能性需求和非功能性需求
3. PRD-v-0.1
创建一个新的docs/PRD-v-0.1.md。
先复制v-0.0的文档,然后手改一遍,把AI猜想出来的,和你意见不一样的灵感点给改掉。
为了让需求充分清晰,你需要再问一轮AI:
对于docs/PRD-v-0.1.md,我的需求是否清晰?
请你做严格的审查,如果对需求不清楚,直接向我询问任意多个问题。
最后把我们的意见对齐后归档进这个文档。
至此,我们的PRD就完成了。
4. Pages
先做前端的页面拆分。
创建一个docs/pages.md。
想好
- 这个项目有哪些页面
- 每个页面有哪些功能
如果你没有设计出整个页面划分的灵感,可以把终版PRD丢给AI
这是我们项目的需求文档`docs/PRD-v-0.1.md`。 请你依据此,设计一个页面划分,设计清楚有哪些页面,每个页面放哪些功能
让AI跑一版v-0.0,然后自己微调成v-0.1。
5. Pages-Design
这里不讲功能,这里讲页面的风格。
先创建一个docs/pages-design.md。
你得先想好
- 整个网站是什么风格,比如黑暗科技风格或者简约明朗风格。
- 适合用的颜色(可以让AI根据你的描述在文章中规定好)
这里推荐一个skill:
huashu-design。
6. 初步模块划分
这里开始做后端。
直接把PRD和页面设计扔给AI,让它出一版docs/modules.md
提示词:
当前有概念文档,PRD和页面设计文档在/docs。
请你依据这个,把后端进行功能模块的划分,归档进docs/modules.md。
你不需要设计清楚每个模块对外提供哪些接口或函数,但是必须把每个模块的功能和边界说清楚。
完成后依然可以遵循一轮人审+AI兜底审查的流程。 你在检查时,尤其要关注
- 每个请求是否有多余的参数字段或者返回字段
- 有没有几个模块可以合并成一个
7. 数据库设计
给出现有的所有文档(docs/),然后让AI设计数据库:
- 有哪几张表
- 每张表有哪些字段。
把AI设计的数据库归档在docs/database.md。
然后你依然要自己查一查,看一看哪些字段是多余的,告诉AI让它改好。
8. 完成模块划分
接下来,让AI补齐模块划分docs/modules.md。
提示词:
你可以查看当前在docs/里已有的文档,然后在modules.md中设计每个模块暴露的接口或函数。
你需要想清楚: 每个模块对外暴露哪些接口?
每个接口有哪些参数和返回的字段?
9. 接口文档
接口文档和模块划分不同。模块划分里,一个模块的接口是暴露给其他模块的;而接口文档里的接口是暴露给前端的。
先创建一个docs/interfaces.md。 这里也是直接让AI跑。
提示词:
我们当前在/docs里有PRD,前端页面划分和后端模块划分。
请你依据此给出一份接通前后端的接口文档。
要求完整cover需求,且接口无冗余。
归档在docs/interfaces.md。
这里几乎不用你来亲自做复核了。
10. 完成后端开发
对于功能不算特别复杂,不要求极端性能的场景,AI可以很好的完成后端。
创建好目录backend/,接着告诉AI现有的所有文档在docs/。
然后直接用goal模式,让AI自行完成后端即可。
这里推荐一个skill:superpowers。
可以让AI自己进行Test-driven-development。
11. 完成前端开发
创建前端目录。 以vue项目为例,在根目录终端里输入
npm create vue@latest
项目名字写frontend。
然后让AI对着现有文档,把前端做出来。
12. 微调前端
对于所有有内置浏览器,可以直接在浏览器上选中元素投递给AI的智能编程工具中,我目前体验最好的是cursor。
把网页中你不满意的地方指出来,让AI一个个改。 这个过程是最耗时的,因为当前的AI对于前端如何做到符合人类审美,确实比起做后端差一大截。
总结
概念文档是PRD的提示词,PRD是后续需求工作的提示词,后续文档是项目实现的提示词。
每一步的中间产物都由你把关,保证AI不会猜功能。




评论
正在读取讨论…