阶段 0-4:从方案到任务
本章目标:完成前置阶段的推进,产出合格的文档和可执行的任务清单。
预计时长:60 分钟
重要程度:⭐⭐⭐ 这是整个项目质量的基础!
核心原则
🎯 关键认知
每个阶段都不是"点一下自动生成"。每个阶段都需要人类审核和纠偏。
阶段质量直接决定后续编码成本 — 前面省的时间,后面会加倍补回来。
宁可在前置阶段多花 30 分钟仔细审核,也不要在编码阶段花 3 小时返工。
前置阶段(0-4)是"人类决策"的主要体现,AI 负责分析和生成,人类负责审核和决策。
阶段 0:业务方案
目标与产出
目标:明确项目边界,确定做什么、不做什么
产出:业务需求文档,包含:
- 项目背景和目标
- 目标用户群体
- 核心功能列表
- 功能边界(明确不做什么)
- 成功标准
操作步骤
1. 开始阶段 0
点击「开始阶段 0」按钮,你会看到需求输入框。
2. 输入详细需求
基于我们的待办事项项目,输入以下需求描述:
## 项目背景
开发一个个人待办事项管理应用,帮助用户更好地组织和跟踪日常任务。
## 目标用户
- 需要管理个人任务的知识工作者
- 希望提高工作效率的个人用户
- 不需要复杂项目管理功能的轻量级用户
## 核心功能需求
1. 待办事项管理
- 添加新的待办事项
- 编辑现有待办事项
- 删除不需要的待办事项
- 标记任务完成状态
2. 任务属性
- 任务标题(必填)
- 任务描述(可选)
- 优先级:高/中/低
- 截止时间(可选)
- 创建时间(自动)
3. 查看和筛选
- 查看所有待办事项
- 按完成状态筛选(全部/未完成/已完成)
- 按优先级筛选
- 按截止时间排序
4. 用户界面
- 简洁直观的 Web 界面
- 响应式设计,支持桌面和移动设备
- 操作便捷,学习成本低
## 功能边界(不做什么)
- 不做多用户协作功能
- 不做复杂的项目管理(甘特图、里程碑等)
- 不做时间跟踪功能
- 不做文件附件功能
- 不做通知推送功能
## 技术要求
- 使用现代 Web 技术栈
- 数据本地存储,无需注册登录
- 部署简单,支持 Docker需求描述技巧
- 具体明确:避免"用户友好"这样的模糊描述
- 包含边界:明确说明不做什么,避免功能蔓延
- 考虑用户:从用户角度描述需求,而不是技术角度
- 可验证:每个需求都应该有明确的验收标准
3. 等待 AI Leader 分析
点击「生成业务方案」后,AI Leader 会:
- 分析你的需求输入
- 识别关键业务要素
- 生成结构化的业务方案文档
- 提出可能的问题和建议
这个过程通常需要 30-60 秒。
4. 审核业务方案
AI 生成的业务方案可能包含:
# 个人待办事项管理应用 - 业务方案
## 1. 项目概述
### 1.1 项目背景
...
### 1.2 目标用户
- 主要用户:个人知识工作者
- 使用场景:日常任务管理、工作规划
- 用户特征:追求简洁高效,不需要复杂功能
## 2. 功能规划
### 2.1 核心功能模块
1. 任务管理模块
2. 筛选排序模块
3. 用户界面模块
### 2.2 功能优先级
- P0(必须有):基础 CRUD、状态管理
- P1(应该有):优先级、截止时间
- P2(可以有):排序筛选、响应式
## 3. 技术约束
...
## 4. 成功标准
- 用户能在 5 分钟内学会基本操作
- 单个任务操作响应时间 < 1 秒
- 支持至少 1000 个待办事项审核要点:
- [ ] 是否准确理解了你的需求?
- [ ] 功能优先级是否合理?
- [ ] 是否遗漏了重要功能?
- [ ] 是否增加了你不需要的功能?
- [ ] 技术约束是否符合预期?
5. 修改和完善(如需要)
如果对生成的方案不满意,可以:
- 点击「编辑文档」,直接修改内容
- 点击「重新生成」,提供更详细的反馈
- 在反馈框中补充:如"请增加数据导出功能的考虑"
6. 确认推进
满意后点击「推进到阶段 1」。
阶段 1:需求分析
目标与产出
目标:将业务方案转化为具体的功能需求和用户故事
产出:需求分析文档,包含:
- 详细功能清单
- 用户故事(User Stories)
- 验收标准(Acceptance Criteria)
- 功能依赖关系
操作步骤
1. 开始阶段 1
AI Leader 会基于阶段 0 的业务方案,自动开始需求分析。
2. 审核功能清单
生成的需求分析可能包含:
# 需求分析文档
## 1. 功能清单
### 1.1 任务管理功能
- F001: 添加待办事项
- F002: 编辑待办事项
- F003: 删除待办事项
- F004: 标记完成状态
- F005: 批量操作
### 1.2 任务属性功能
- F006: 设置任务标题
- F007: 设置任务描述
- F008: 设置优先级
- F009: 设置截止时间
### 1.3 查看筛选功能
- F010: 任务列表显示
- F011: 按状态筛选
- F012: 按优先级筛选
- F013: 按时间排序
## 2. 用户故事
### 2.1 基础管理
**US001: 添加待办事项**
- 作为用户,我希望能快速添加新的待办事项
- 验收标准:
- 点击"添加"按钮打开输入框
- 输入标题后按回车即可创建
- 新任务默认为"未完成"状态
**US002: 编辑待办事项**
- 作为用户,我希望能修改已有的待办事项
- 验收标准:
- 双击任务可进入编辑模式
- 可修改标题、描述、优先级、截止时间
- 保存后立即生效
### 2.2 状态管理
...
## 3. 非功能需求
- 性能:页面加载时间 < 2 秒
- 兼容性:支持 Chrome、Firefox、Safari
- 可用性:新用户 5 分钟内学会基本操作审核要点:
- [ ] 功能清单是否完整?
- [ ] 用户故事是否符合实际使用场景?
- [ ] 验收标准是否可测试?
- [ ] 是否有遗漏的边界情况?
3. 确认推进
审核无误后推进到阶段 2。
阶段 2:产品原型
目标与产出
目标:设计用户界面和交互流程
产出:产品原型文档,包含:
- 页面结构设计
- 交互流程图
- UI 组件说明
- 响应式布局方案
操作步骤
1. 审核页面设计
AI Architect 会生成页面原型:
# 产品原型设计
## 1. 页面结构
### 1.1 主页面布局┌─────────────────────────────────────┐ │ 应用标题栏 │ ├─────────────────────────────────────┤ │ [添加任务] [筛选] [排序] │ ├─────────────────────────────────────┤ │ ☐ 任务标题 1 [高] 今天 │ │ ✓ 任务标题 2 [中] 明天 │ │ ☐ 任务标题 3 [低] 后天 │ ├─────────────────────────────────────┤ │ 统计信息 │ └─────────────────────────────────────┘
### 1.2 添加任务弹窗┌─────────────────────┐ │ 添加新任务 │ ├─────────────────────┤ │ 标题: [] │ │ 描述: [] │ │ 优先级: [高▼] │ │ 截止: [日期选择器] │ ├─────────────────────┤ │ [取消] [确定] │ └─────────────────────┘
## 2. 交互流程
### 2.1 添加任务流程
1. 用户点击"添加任务"按钮
2. 弹出任务输入表单
3. 用户填写必要信息
4. 点击"确定"保存任务
5. 任务出现在列表顶部
### 2.2 完成任务流程
1. 用户点击任务前的复选框
2. 任务状态变为"已完成"
3. 任务样式变为划线状态
4. 如果开启筛选,已完成任务可能隐藏
## 3. 响应式设计
### 3.1 桌面端 (>768px)
- 使用卡片式布局
- 任务信息横向排列
- 支持鼠标悬停效果
### 3.2 移动端 (<768px)
- 任务信息纵向堆叠
- 增大点击区域
- 简化操作按钮审核要点:
- [ ] 页面布局是否合理?
- [ ] 交互流程是否顺畅?
- [ ] 是否考虑了移动端适配?
- [ ] UI 组件是否符合用户习惯?
阶段 3:技术方案
目标与产出
目标:确定技术架构和实现方案
产出:技术方案文档,包含:
- 系统架构设计
- 技术栈选型
- 数据库设计
- API 接口定义
操作步骤
1. 审核技术架构
AI Architect 会生成技术方案:
# 技术方案设计
## 1. 系统架构
### 1.1 整体架构┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ 前端 UI │───▶│ 后端 API │───▶│ 数据库 │ │ (Vue 3) │ │ (FastAPI) │ │ (SQLite) │ └─────────────┘ └─────────────┘ └─────────────┘
### 1.2 技术栈选型
**前端技术栈**:
- 框架:Vue 3 + Composition API
- UI 库:Element Plus
- 构建工具:Vite
- 状态管理:Pinia
- HTTP 客户端:Axios
**后端技术栈**:
- 框架:FastAPI
- ORM:SQLAlchemy
- 数据库:SQLite(开发)/ PostgreSQL(生产)
- 认证:JWT(可选)
**部署方案**:
- 容器化:Docker + Docker Compose
- 前端:Nginx 静态文件服务
- 后端:Uvicorn ASGI 服务器
## 2. 数据库设计
### 2.1 数据表结构
**todos 表**:
```sql
CREATE TABLE todos (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title VARCHAR(200) NOT NULL,
description TEXT,
priority VARCHAR(10) DEFAULT 'medium',
due_date DATETIME,
completed BOOLEAN DEFAULT FALSE,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
);2.2 索引设计
CREATE INDEX idx_todos_completed ON todos(completed);
CREATE INDEX idx_todos_priority ON todos(priority);
CREATE INDEX idx_todos_due_date ON todos(due_date);3. API 接口设计
3.1 RESTful API 规范
基础路径:/api/v1
待办事项接口:
GET /todos- 获取待办事项列表POST /todos- 创建新待办事项GET /todos/{id}- 获取单个待办事项PUT /todos/{id}- 更新待办事项DELETE /todos/{id}- 删除待办事项PATCH /todos/{id}/complete- 标记完成状态
3.2 数据模型
Todo 模型:
class TodoCreate(BaseModel):
title: str = Field(..., min_length=1, max_length=200)
description: Optional[str] = None
priority: str = Field(default="medium", regex="^(low|medium|high)$")
due_date: Optional[datetime] = None
class TodoResponse(BaseModel):
id: int
title: str
description: Optional[str]
priority: str
due_date: Optional[datetime]
completed: bool
created_at: datetime
updated_at: datetime4. 部署配置
4.1 Docker 配置
- 前端:基于 Nginx 的静态文件服务
- 后端:基于 Python 3.11 的 FastAPI 应用
- 数据库:SQLite 文件挂载
4.2 环境变量
DATABASE_URL=sqlite:///./todos.db
CORS_ORIGINS=http://localhost:3000
API_PREFIX=/api/v1
::: tip 🎯 这里最值得花时间
架构设计是整个项目质量的锚点。如果你对技术选型有不同想法,在这里明确告诉 AI:
- "请使用 React 而不是 Vue"
- "后端请用 Django REST Framework"
- "数据库用 PostgreSQL,不要 SQLite"
- "请添加用户认证功能"
:::
**审核要点**:
- [ ] 技术栈选型是否合理?
- [ ] 数据库设计是否满足需求?
- [ ] API 接口是否完整?
- [ ] 部署方案是否可行?
- [ ] 是否考虑了性能和扩展性?
#### 2. 提出修改意见
如果需要调整,可以在反馈框中说明:请做以下调整:
- 前端改用 React + Ant Design
- 数据库增加 tags 字段,支持标签功能
- API 增加批量操作接口
- 添加数据导出功能的接口设计
## 阶段 4:任务分解
### 目标与产出
**目标**:将技术方案分解为可执行的开发任务
**产出**:任务分解文档,包含:
- 详细任务列表
- 任务依赖关系
- 工作量估算
- 执行顺序建议
### 操作步骤
#### 1. 审核任务分解
AI Leader 会生成任务列表:
```markdown
# 任务分解方案
## 1. 任务总览
总计 **15 个任务**,预计工作量 **8-12 小时**
### 1.1 任务分类
- 后端开发:8 个任务
- 前端开发:5 个任务
- 测试部署:2 个任务
## 2. 详细任务列表
### 2.1 后端基础 (Backend Foundation)
**T001: 项目初始化**
- 描述:创建 FastAPI 项目结构,配置基础依赖
- 输出:项目骨架、requirements.txt、基础配置
- 估时:30 分钟
- 依赖:无
- 分配:Backend
**T002: 数据库模型**
- 描述:创建 Todo 数据模型和数据库表
- 输出:models.py、数据库迁移脚本
- 估时:45 分钟
- 依赖:T001
- 分配:Backend
**T003: 基础 CRUD API**
- 描述:实现待办事项的增删改查接口
- 输出:todos.py 路由文件、CRUD 操作
- 估时:90 分钟
- 依赖:T002
- 分配:Backend
### 2.2 前端基础 (Frontend Foundation)
**T004: 前端项目初始化**
- 描述:创建 Vue 3 项目,配置 Element Plus
- 输出:前端项目结构、基础组件
- 估时:30 分钟
- 依赖:无
- 分配:Frontend
**T005: 主页面布局**
- 描述:实现应用主界面布局和导航
- 输出:App.vue、Layout 组件
- 估时:60 分钟
- 依赖:T004
- 分配:Frontend
### 2.3 核心功能 (Core Features)
**T006: 任务列表组件**
- 描述:实现待办事项列表显示和基础交互
- 输出:TodoList.vue 组件
- 估时:90 分钟
- 依赖:T005, T003
- 分配:Frontend
**T007: 添加任务功能**
- 描述:实现添加新待办事项的表单和逻辑
- 输出:AddTodo.vue 组件、API 集成
- 估时:75 分钟
- 依赖:T006
- 分配:Frontend
**T008: 编辑任务功能**
- 描述:实现编辑现有待办事项的功能
- 输出:EditTodo.vue 组件、更新逻辑
- 估时:60 分钟
- 依赖:T007
- 分配:Frontend
### 2.4 高级功能 (Advanced Features)
**T009: 筛选排序功能**
- 描述:实现按状态、优先级筛选和排序
- 输出:Filter 组件、排序逻辑
- 估时:75 分钟
- 依赖:T008
- 分配:Frontend
**T010: 批量操作**
- 描述:实现批量标记完成、批量删除功能
- 输出:批量操作 API 和前端界面
- 估时:90 分钟
- 依赖:T009, T003
- 分配:Backend + Frontend
### 2.5 测试部署 (Testing & Deployment)
**T011: 单元测试**
- 描述:为核心功能编写单元测试
- 输出:测试用例、测试报告
- 估时:120 分钟
- 依赖:T010
- 分配:Tester
**T012: Docker 部署**
- 描述:创建 Docker 配置,实现一键部署
- 输出:Dockerfile、docker-compose.yml
- 估时:60 分钟
- 依赖:T011
- 分配:DevOps
## 3. 执行计划
### 3.1 并行执行建议
**第一轮**(可并行):
- T001: 后端项目初始化
- T004: 前端项目初始化
**第二轮**(可并行):
- T002: 数据库模型
- T005: 前端布局
**第三轮**:
- T003: 基础 API(依赖 T002)
**第四轮**:
- T006: 任务列表(依赖 T005, T003)
**后续轮次**:按依赖关系顺序执行...
### 3.2 关键路径
T001 → T002 → T003 → T006 → T007 → T008 → T009 → T010 → T011 → T012
预计总时长:**3-4 个工作日**(考虑并行执行)审核要点:
- [ ] 任务粒度是否合适?(建议 30-120 分钟/任务)
- [ ] 依赖关系是否正确?
- [ ] 是否遗漏了重要任务?
- [ ] 工作量估算是否合理?
- [ ] 执行顺序是否优化?
2. 调整任务分解
常见调整需求:
任务太大:
"T003 任务太大,建议拆分为:
- T003a: GET 接口实现
- T003b: POST 接口实现
- T003c: PUT/DELETE 接口实现"遗漏任务:
"请增加以下任务:
- 数据验证和错误处理
- API 文档生成
- 前端错误提示组件"依赖调整:
"T006 不应该依赖 T003,前端可以先用 mock 数据开发"3. 确认推进
任务分解满意后,点击「推进到阶段 5」,正式进入编码阶段。
阶段推进检查清单
完成阶段 0-4 后,确认以下产出:
✅ 阶段 0:业务方案
- [ ] 明确了项目目标和用户群体
- [ ] 定义了核心功能和边界
- [ ] 确定了成功标准
✅ 阶段 1:需求分析
- [ ] 功能清单完整详细
- [ ] 用户故事符合实际场景
- [ ] 验收标准可测试
✅ 阶段 2:产品原型
- [ ] 页面布局合理
- [ ] 交互流程顺畅
- [ ] 考虑了响应式设计
✅ 阶段 3:技术方案
- [ ] 技术栈选型合适
- [ ] 数据库设计满足需求
- [ ] API 接口定义完整
- [ ] 部署方案可行
✅ 阶段 4:任务分解
- [ ] 任务粒度合适(30-120 分钟)
- [ ] 依赖关系正确
- [ ] 工作量估算合理
- [ ] 执行顺序优化
常见问题与解决
Q: AI 生成的内容不符合预期怎么办?
A: 不要直接推进,使用以下方法:
- 点击「编辑文档」直接修改
- 在反馈框中提供具体的修改建议
- 点击「重新生成」并提供更详细的输入
Q: 某个阶段生成时间很长?
A: 正常现象,复杂的架构设计可能需要 1-2 分钟。如果超过 5 分钟,检查:
- 模型 API 是否正常
- 网络连接是否稳定
- Dispatcher 日志是否有错误
Q: 想跳过某个阶段直接进入编码?
A: 强烈不建议。每个阶段都有其价值:
- 跳过需求分析 → 编码方向不明确
- 跳过架构设计 → 代码结构混乱
- 跳过任务分解 → Agent 无法有效执行
Q: 如何判断阶段质量是否足够?
A: 使用"5W1H"检查法:
- What:要做什么功能?是否明确?
- Why:为什么需要这个功能?是否合理?
- Who:目标用户是谁?是否清晰?
- When:什么时候完成?是否有计划?
- Where:在哪里使用?是否考虑了场景?
- How:如何实现?是否有具体方案?
本章输出
完成本章后,你应该拥有:
- [x] 一份完整的业务方案文档
- [x] 一份详细的需求分析文档
- [x] 一份清晰的产品原型设计
- [x] 一份可行的技术方案文档
- [x] 一份可执行的任务分解清单
现在你已经为编码阶段做好了充分准备!下一步将看到 AI Agent 如何将这些方案转化为实际的代码。