从零开始用 AI 开发项目的完整指南

核心思路

你 = 产品经理 + 架构师 + 代码审查员
AI = 程序员(干活的)

你负责:想清楚要做什么、审查代码质量、测试验收
AI负责:写代码、调 bug、写文档、写测试

第一阶段:项目定义(最关键)

1. 写一份清晰的需求文档

在开始写代码之前,先创建一个 PRD.md(产品需求文档):

# 项目名称:XXX

## 一句话描述
一个能做 XXX 的 YYY 工具/应用

## 目标用户
谁会用这个?

## 核心功能
1. 用户可以 ...
2. 系统能够 ...
3. 支持 ...

## 技术偏好(可选)
- 语言:Python / Go / TypeScript ...
- 框架:React / Next.js / FastAPI ...
- 数据库:PostgreSQL / SQLite ...

## 参考产品
类似于 XXX,但是 ...

⚠️ 这一步花多少时间都不为过。AI 写代码的质量 = 你需求描述的质量。


第二阶段:用 Claude Code 做架构规划

2. 启动 Claude Code,喂入需求

cd my-project
claude

然后对 Claude Code 说:

我要从零开发一个项目,这是我的需求文档:
[粘贴 PRD.md 内容]

请帮我:
1. 选择合适的技术栈并说明理由
2. 设计项目目录结构
3. 设计数据库模型(如需要)
4. 设计 API 接口(如需要)
5. 将整个项目拆分成可执行的任务列表,按依赖顺序排列
6. 每个任务标注预估复杂度(简单/中等/复杂)

先不要写代码,只做规划。

3. 审查 AI 的规划

Claude Code 会输出一份完整的计划。你要做的是:

✅ 技术栈选择合理吗?(你熟不熟悉、生态成不成熟)
✅ 目录结构清不清晰?
✅ 任务拆分粒度够不够?(每个任务应该 30 分钟内能完成)
✅ 有没有遗漏的功能?

不满意就继续对话调整,直到你认可为止。


第三阶段:逐任务执行(核心开发循环)

4. 建立项目基础

先让 Claude Code 做初始化:

好的,计划确认。
请开始执行任务1:项目初始化
- 创建目录结构
- 初始化包管理(package.json / go.mod / requirements.txt)
- 配置基本的开发工具(linter, formatter, .gitignore 等)
- 创建 README.md

5. 逐个任务推进

每个任务遵循这个循环:

┌──────────────────────────────────────────────┐
│                                              │
│   ① 告诉 AI 做什么(清晰的任务描述)          │
│              ▼                               │
│   ② AI 写代码(Claude Code 直接改文件)       │
│              ▼                               │
│   ③ 你审查代码(看 diff,理解改了什么)        │
│              ▼                               │
│   ④ 测试运行(跑起来看看对不对)              │
│              ▼                               │
│   ⑤ 有问题 → 告诉 AI 修 → 回到 ②            │
│      没问题 → git commit → 下一个任务         │
│                                              │
└──────────────────────────────────────────────┘

示例对话流程:

你:请执行任务3:实现用户注册 API
    - POST /api/register
    - 接收 email, password, name
    - 密码需要 bcrypt 加密
    - 邮箱需要唯一性校验
    - 返回 JWT token

[Claude Code 写代码...]

你:运行一下测试看看  (或自己手动测)

你:注册时如果邮箱已存在,返回的错误信息不够友好,
    请改成 { "error": "该邮箱已被注册", "code": "EMAIL_EXISTS" }

[Claude Code 修改...]

你:好的,这个任务完成了。git commit。
    继续下一个任务:实现用户登录 API

第四阶段:Claude Code 和 OpenCode 的分工

两个工具怎么配合?

┌─────────────────────────────────────────────────────┐
│                    Claude Code(主力)                │
│                                                     │
│  ✅ 复杂功能开发(多文件联动)                        │
│  ✅ 架构设计和重构                                    │
│  ✅ 调试复杂 bug(能执行命令看日志)                   │
│  ✅ 项目规划和任务管理                                │
│  ✅ 需要大量上下文理解的工作                          │
│                                                     │
│  💰 消耗较多 API 额度                                │
└─────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────┐
│                    OpenCode(辅助)                   │
│                                                     │
│  ✅ 小功能 / 小修改                                   │
│  ✅ 写单元测试                                        │
│  ✅ 写文档和注释                                      │
│  ✅ 代码格式化和简单重构                              │
│  ✅ 快速提问("这个函数干嘛的")                      │
│  ✅ 换便宜模型省钱                                    │
│                                                     │
│  💰 可用本地模型或便宜模型,省钱                      │
└─────────────────────────────────────────────────────┘

推荐工作流

# 终端 1:Claude Code(做主要开发)
claude

# 终端 2:OpenCode(做辅助工作、快速提问)
opencode

# 终端 3:开发服务器 / 测试
npm run dev  # 或其他运行命令

第五阶段:关键技巧

技巧 1:每次只做一件事

❌ 错误:"帮我把整个用户系统做了,包括注册登录个人资料修改密码..."

✅ 正确:"帮我实现用户注册功能,只做注册。"
         (完成后)"好的,现在做登录功能。"

技巧 2:频繁 Git Commit

# 每完成一个小功能就 commit
git add .
git commit -m "feat: 实现用户注册 API"

# 这样如果 AI 后续改坏了,你可以随时回滚
git diff          # 看 AI 改了什么
git checkout .    # 不满意就全部撤销

可以直接让 Claude Code 帮你 commit:

代码没问题,帮我 git commit,message 写清楚改了什么

技巧 3:给 AI 建立项目规范

在项目根目录创建 .claude/instructions.md(Claude Code 专用):

# 项目开发规范

## 代码风格
- 使用 TypeScript strict 模式
- 函数必须有 JSDoc 注释
- 错误处理使用自定义 AppError 类

## 项目结构
- API 路由放在 src/routes/
- 业务逻辑放在 src/services/
- 数据库操作放在 src/repositories/

## 命名规范
- 文件名:kebab-case
- 变量/函数:camelCase
- 类/接口:PascalCase

## 测试
- 每个 service 必须有对应的 .test.ts 文件
- 使用 vitest 框架

OpenCode 也可以创建 .opencode/instructions.md,内容类似。

技巧 4:让 AI 自测

写完代码后,请:
1. 运行 lint 检查
2. 运行现有的测试确保没有 break
3. 为新代码写单元测试并运行
4. 如果有报错,自行修复

技巧 5:遇到 Bug 的处理

运行 npm run dev 后报了以下错误:
[粘贴错误日志]

请分析原因并修复。

或者直接让 AI 自己跑:

运行 npm run dev,看看有没有报错,有的话自己修复

第六阶段:完整项目流程模板

Day 1:规划
├── 写 PRD.md(你自己写)
├── Claude Code:技术方案设计
├── Claude Code:任务拆分
└── 确认计划,创建 Git 仓库

Day 2-N:开发(每天重复)
├── 看今天要做的任务列表
├── Claude Code:逐个任务开发
│   ├── 写代码
│   ├── 你审查
│   ├── 运行测试
│   └── Git commit
├── OpenCode:辅助工作
│   ├── 写文档
│   ├── 补测试
│   └── 小修小补
└── 总结今天进度,规划明天

最后:收尾
├── Claude Code:整体代码审查和优化
├── Claude Code:写部署配置
├── OpenCode:完善 README
└── 部署上线

实战示例:从零做一个 Todo API

# 1. 创建项目
mkdir my-todo-app && cd my-todo-app
git init
claude

# 2. 对话
你:我要做一个 Todo List 的 REST API,技术栈用 Node.js + Express + SQLite。
    功能包括:增删改查 Todo,Todo 有标题、描述、完成状态、创建时间。
    请先做项目规划和任务拆分。

# 3. 确认计划后
你:开始任务1,初始化项目。

# 4. 完成后
你:跑一下确认没问题... 好的,commit。下一个任务。

# 5. 重复直到完成所有任务

# 6. 收尾
你:所有功能都完成了,请:
    1. 做一次整体代码审查
    2. 添加错误处理中间件
    3. 写完整的 API 文档
    4. 写 Dockerfile
    5. 完善 README.md

一句话总结

你想清楚要做什么 → 让 AI 规划怎么做 → 一步步盯着 AI 做 → 每步都验收 → 频繁 commit → 直到完成。

你的角色不是程序员,是带着 AI 程序员干活的技术项目经理。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐