all posts
AI技术 · ZH

一人公司用AI开发项目的最佳流程:先文档,后编码

May 8, 2026·15 min read·by PandaTalk

一人公司用AI开发项目的最佳流程:先文档,后编码

很多人拿到AI编程工具后的第一反应是:太好了,我可以直接让AI写代码了。

然后就开始对着Cursor、Claude Code一顿输出:"帮我做一个XXX应用"。结果呢?AI写了一堆代码,看起来能跑,但功能不对、架构混乱、改起来比重写还痛苦。

问题出在哪?你跳过了最关键的步骤——把需求想清楚、写下来。

AI是目前最强的执行者,但它不是读心术。你给它越模糊的指令,它返回越离谱的结果。反过来,你给它一份结构清晰、边界明确的文档,它能产出让你惊讶的高质量代码。

这篇文章,我把自己反复验证过的AI开发流程分享出来。这套流程特别适合一人公司、独立开发者,一个人就能完成从需求到上线的全过程。


核心原则:文档驱动开发

传统开发中,文档往往是形式主义——写完没人看,代码和文档两张皮。但在AI时代,文档的角色彻底变了。

文档就是你给AI的指令。 文档写得越好,AI的输出质量越高。

所以这套流程的核心就是四个字:文档先行。

完整流程是这样的:

需求分析文档 → 系统设计文档 → UI原型(HTML) → AI生成完整项目 → 测试与迭代

每一步都有明确的输入和输出,每一步都可以用AI来加速。但顺序不能乱,跳过任何一步,后面都会付出代价。


第一步:需求分析——把想法变成文档

大多数项目失败,根源都在需求阶段。你以为自己想清楚了,其实脑子里只有一个模糊的画面。

怎么做

拿出你的AI对话工具(Claude、ChatGPT、Gemini都行),把你的想法用大白话说出来。然后让AI帮你结构化。

你可以这样提示:

我想做一个[产品描述],目标用户是[谁],核心要解决的问题是[什么]。
请帮我生成一份完整的需求分析文档,包含:
1. 项目概述与目标
2. 目标用户画像
3. 核心功能列表(按优先级排列)
4. 用户故事(User Stories)
5. 非功能性需求(性能、安全、兼容性)
6. 项目边界(明确不做什么)
7. MVP范围定义

关键要点

  • 先定义"不做什么"。 一人公司最大的敌人是范围蔓延。你一个人,时间和精力都有限,必须砍需求砍到骨头。AI会倾向于给你一个大而全的方案,你要主动砍。
  • 写用户故事。 "作为[角色],我希望[功能],以便[价值]"这个格式看起来简单,但它逼你从用户视角思考,而不是从技术视角。
  • 定义MVP。 第一版只做最小可行产品。哪些功能是第一天就必须有的?哪些可以放到V2?写清楚。

输出

一份3-5页的需求分析文档(Markdown格式),包含清晰的功能列表、优先级、用户故事和项目边界。

把这份文档存到项目的 docs/ 目录下,后面每一步都要基于它。


第二步:系统设计——给项目画骨架

需求文档定义了"做什么",系统设计文档定义了"怎么做"。

怎么做

把需求分析文档喂给AI,让它输出系统设计方案:

基于以下需求分析文档,请生成系统设计文档:
[粘贴需求文档]

请包含:
1. 技术栈选择(前端、后端、数据库、部署平台)及选择理由
2. 系统架构图(用文字描述)
3. 数据库设计(表结构、字段、关系)
4. API设计(端点、请求/响应格式)
5. 页面路由结构
6. 第三方服务集成方案
7. 目录结构

关键要点

  • 技术栈要适合一个人维护。 别选微服务,别上Kubernetes。一人公司的最佳选择往往是:Next.js/Nuxt + Supabase/PlanetScale + Cloudflare/Vercel。简单、便宜、一个人能搞定。
  • 让AI给出选择理由。 不是所有AI推荐的技术栈都适合你。它可能推荐最流行的方案,但你需要最适合一个人运维的方案。看到理由之后,你才能做出判断。
  • 数据库设计要在写代码之前确定。 这是很多人踩的坑——先写代码,边写边加字段,最后数据库一团糟。提前设计好,后面AI生成代码时才有据可依。
  • API设计是前后端的契约。 即使你一个人开发前后端,也要先把API定义清楚。这样AI在生成前端代码和后端代码时,不会各说各话。

输出

一份系统设计文档,包含技术选型、架构设计、数据库Schema、API定义、目录结构。同样存入 docs/ 目录。


第三步:UI原型——先画出来再写代码

这是很多开发者会跳过的一步,也是最不该跳过的一步。

为什么?因为UI原型是你和AI之间最直观的沟通方式。一份HTML原型比一千字的需求描述都管用。AI看到具体的页面布局、交互方式、组件样式,生成的代码准确率会飙升。

怎么做

把需求文档和系统设计文档一起喂给AI,让它生成HTML原型:

基于以下需求和设计文档,请为每个页面生成HTML原型:
[需求文档]
[系统设计文档]

要求:
1. 使用Tailwind CSS,页面要美观
2. 每个页面一个独立的HTML文件
3. 包含真实的示例数据(不要用Lorem ipsum)
4. 交互状态要体现(空状态、加载状态、错误状态)
5. 移动端适配
6. 导航可以点击跳转到不同页面

关键要点

  • 用真实数据填充原型。 别用占位符。真实数据会暴露很多设计问题:文字太长会不会撑破布局?数据为空时页面什么样?列表有100条时滚动体验如何?
  • 每个页面都要做。 别只做首页。登录页、设置页、空状态页、错误页,全部做出来。这些"边缘页面"往往是用户体验的关键。
  • 自己打开HTML看一遍、点一遍。 AI生成的原型,你一定要亲自体验。看看流程是否顺畅,有没有遗漏的页面,交互是否符合直觉。这个阶段改需求的成本几乎为零,到了写真实代码再改,代价就大了。
  • 让AI一次只做一两个页面。 别一口气让AI把所有页面全生成了。一次做太多,质量会下降。分批做,每批review完再做下一批。

输出

一组HTML文件,可以在浏览器里直接打开浏览,模拟真实的用户体验。


第四步:AI生成完整项目——这才是写代码的时候

到了这一步,你已经有了:

  • 需求分析文档(做什么、不做什么)
  • 系统设计文档(怎么做、用什么技术)
  • HTML原型(长什么样、交互怎么走)

现在,把这三样东西打包喂给AI,让它生成真实的项目代码。

怎么做

如果你用Claude Code或Cursor,可以这样操作:

  1. 先创建项目的CLAUDE.md或.cursorrules文件,把设计决策写进去:
# 项目规范
- 技术栈:Next.js 15 + Supabase + Tailwind CSS
- 使用App Router
- 数据库Schema见 docs/system-design.md
- API设计见 docs/system-design.md
- UI参考 prototypes/ 目录下的HTML文件
  1. 分模块让AI生成代码。 别一次性让AI把整个项目全写完,按这个顺序来:
第一轮:项目初始化 + 基础配置
第二轮:数据库连接 + 数据模型
第三轮:核心API端点
第四轮:页面UI(参考HTML原型)
第五轮:业务逻辑 + 交互功能
第六轮:认证与权限
第七轮:部署配置

关键要点

  • 每生成一个模块,立刻跑一下看看。 别等所有代码都生成完了再测试。小步快跑,发现问题立刻修。
  • HTML原型是UI的参照物。 让AI在生成页面代码时,直接参考对应的HTML原型文件。这样生成的UI和你预期的差距最小。
  • 保持对话上下文的连续性。 在同一个AI对话中完成相关模块的开发,AI能记住之前的设计决策和代码结构,生成的代码一致性更好。
  • 让AI写完代码后自己检查。 你可以在每个模块完成后让AI做一次自查:"检查刚才生成的代码,有没有遗漏的错误处理、安全问题或与设计文档不一致的地方。"

第五步:测试与迭代——让AI帮你收尾

代码跑起来了,但这不意味着完成了。一人公司没有QA团队,测试也要靠AI。

怎么做

请基于以下需求文档,为项目生成测试用例:
[需求文档]

包含:
1. 每个用户故事的验收测试
2. API端点的集成测试
3. 边界情况测试(空输入、超长输入、并发请求)
4. 关键业务流程的端到端测试

然后让AI根据测试用例写自动化测试代码。

关键要点

  • 先手动走一遍核心流程。 自动化测试之前,你自己先把注册-登录-核心功能-支付这条主路径走一遍。很多问题一眼就能看到。
  • 重点测试花钱的功能。 支付、订阅、积分,跟钱相关的逻辑,测试要特别仔细。这种地方出Bug,损失的是真金白银。
  • 测试不通过的,带着错误信息让AI修。 AI排查和修复Bug的能力很强,但你要给它足够的上下文:错误信息、复现步骤、期望行为。

整体流程图

┌─────────────────────────────────────────────────┐
│                  你的想法                         │
└─────────────────┬───────────────────────────────┘
                  ▼
┌─────────────────────────────────────────────────┐
│  第一步:需求分析文档                              │
│  输入:你的想法 + AI对话                          │
│  输出:功能列表、用户故事、MVP定义、项目边界         │
│  工具:Claude / ChatGPT / Gemini                 │
└─────────────────┬───────────────────────────────┘
                  ▼
┌─────────────────────────────────────────────────┐
│  第二步:系统设计文档                              │
│  输入:需求分析文档                               │
│  输出:技术栈、架构、数据库、API、目录结构           │
│  工具:Claude / ChatGPT / Gemini                 │
└─────────────────┬───────────────────────────────┘
                  ▼
┌─────────────────────────────────────────────────┐
│  第三步:UI原型(HTML)                           │
│  输入:需求文档 + 系统设计文档                      │
│  输出:可浏览的HTML原型页面                        │
│  工具:Claude / v0 / bolt.new                    │
└─────────────────┬───────────────────────────────┘
                  ▼
┌─────────────────────────────────────────────────┐
│  第四步:AI生成完整项目                            │
│  输入:全部文档 + HTML原型                         │
│  输出:可运行的真实项目代码                         │
│  工具:Claude Code / Cursor / Windsurf           │
└─────────────────┬───────────────────────────────┘
                  ▼
┌─────────────────────────────────────────────────┐
│  第五步:测试与迭代                                │
│  输入:需求文档 + 运行中的项目                      │
│  输出:测试通过的可部署产品                         │
│  工具:Claude Code / Cursor + 人工验证            │
└─────────────────────────────────────────────────┘

为什么这套流程有效?

第一,它把你的思考外化成了文档。 很多时候你以为自己想清楚了,但一落笔就会发现到处是空白。写文档的过程就是思考的过程。

第二,它让AI的输出可控。 每一步AI都有明确的输入(上一步的文档),也有明确的输出(本步的文档或代码)。AI不用猜你想要什么,因为文档里写得很清楚。

第三,它让改动成本递减。 在需求阶段改一个功能,成本是改几行字。在设计阶段改,成本是调整几个模块。到了代码阶段再改?可能要推倒重来。越早发现问题,修改成本越低。

第四,文档本身就是资产。 即使这次项目做砸了,这些文档下次还能用。换一个技术栈、换一个AI工具,流程照走,文档照用。


一人公司的实战建议

别追求完美,追求完成

你的第一版需求文档不需要完美。写个60分的文档出来,让AI帮你补到80分,就够用了。重要的是每一步都有产出,别在某一步卡太久。

每个阶段控制在一天以内

对于一个中等复杂度的项目:

  • 需求分析:半天
  • 系统设计:半天
  • UI原型:一天
  • AI生成代码:一到两天
  • 测试迭代:一天

一个人,一周内,从零到一个可部署的MVP。这在没有AI的时代是不可想象的。

文档要版本管理

把所有文档放在Git仓库里。每次需求变更,先改文档,再改代码。文档和代码保持同步,否则文档就变成了废纸。

善用CLAUDE.md

如果你用Claude Code开发,把项目的关键决策、技术约束、代码规范全部写进CLAUDE.md文件。这相当于给AI装了一个持久记忆,每次对话它都会参考这些规则,省去你反复解释的时间。

选对工具链

我个人验证过效果最好的组合:

  • 需求和设计阶段: Claude(长上下文理解能力强,适合处理文档)
  • UI原型: Claude / v0(快速生成高质量HTML)
  • 代码生成: Claude Code(对项目上下文的理解最好)
  • 部署: Cloudflare Pages / Vercel(免费额度足够,一键部署)
  • 数据库: Supabase / Turso(免费额度大方,有管理界面)

最后

AI编程的红利期正在最高点。同样一个项目,以前一个团队干三个月的活,现在一个人、按照正确的流程,一周就能搞定。

但"正确的流程"是关键。没有流程的AI编程,就像一个不看图纸就开始砌墙的工人——砌得越快,拆得越多。

先想清楚,再写下来,最后让AI执行。 这就是一人公司用AI开发项目的最佳姿势。

━━━ fin ━━━

If you read this far — thank you.
Come tell me what you thought on X.