智能化开发闭环策略(规划 + 执行)
本文档基于 Cursor + Agent + LLM 环境,描述业务功能开发的两阶段闭环流程。
一、策略概述
flowchart TB
subgraph 规划阶段
P1[1. 给出需求]
P2[2. 明确问题]
P3[3. 明确策略]
P4[4. 记录日志]
P5[5. 澄清(自动+人工)]
P6[6. 产出详设文档]
end
subgraph 执行阶段
E1[1. 列出 To-Do]
E2[2. Agent 执行开发]
E3[3. 编译与功能测试]
E4[4. 标注完成]
E5[5. 需求偏差回退]
E6[6. 循环迭代]
end
P6 --> E1
E3 -- 成功 --> E4
E3 -- 失败/偏差 --> P2
二、规划阶段详细步骤
- 给出需求
- 根据需求明确问题
- 根据问题明确策略
- 记录日志
- 澄清(自动+人工)
- 产出详设文档
三、执行阶段详细步骤
- 列出 To-Do 清单
- Agent 执行开发
- 编译与功能测试
- 标注完成
- 发现偏差则回退规划
- 循环迭代
四、实例文档清单
文档名称 | 文件名示例 | 内容说明 |
---|---|---|
需求说明 | REQUIREMENTS.md | 初始需求 |
澄清与思考日志 | CLARIFICATION_LOG.md | 前置条件与疑问 |
详细设计文档 | DESIGN_SPEC.md | 策略与接口 |
子任务清单 | TODO_LIST.md | To-Do |
五、示例文件结构
project-root/
├── REQUIREMENTS.md
├── CLARIFICATION_LOG.md
├── DESIGN_SPEC.md
├── TODO_LIST.md
└── .cursorrules
六、上下文补充策略
- 提供已知信息
- 关联项目上下文
- 反复确认无疑问
- 禁止假设
- 不确定时查阅代码
七、模拟示例对话
Developer: 我有一个需求:在 ProductList 页面新增“按价格区间筛选”功能。入口文件暂定位于 src/components/ProductList.tsx
。请协助检查是否有遗漏的前置条件;如果入口文件不正确,也请帮我定位正确的代码位置并补充前置条件。
Agent: 需要确认:
- 价格区间的输入格式?
- 是否使用现有筛选组件?
- 后端 API 接口路径及参数?
Developer: 输入格式为 minPrice/maxPrice,使用现有 FilterPanel 组件,接口 GET /api/products?minPrice=&maxPrice=
Developer: 请再次确认,是否还有未澄清的前置条件或疑问?
Agent: 需要补充:
- 筛选后是否保留分页状态?
- 是否支持单边空值(只填 min 或只填 max)?
Developer: 是的,保留分页;允许单边空值,默认无限。
Developer: 给我设计方案。
Agent: 详设文档 Draft:
- 场景位置:
src/components/ProductList.tsx
- 需求:新增价格区间筛选
- 策略:
- 复用
FilterPanel
,添加两个NumberInput
(minPrice
,maxPrice
) - 校验
minPrice >= 0
,maxPrice >= minPrice
- 支持单边空值
- 保留
page
分页参数
- 复用
- 接口:
/api/products?minPrice={minPrice}&maxPrice={maxPrice}&page={page}
- 测试:边界值、单边查询、分页保留
Developer: 列一个 To-Do 清单。
Agent:
- 在
ProductList.tsx
导入组件 - 添加状态与绑定逻辑
- 修改查询函数
- 更新分页逻辑
- 添加单元测试
Developer: 开始执行。
...(Agent 依次编码、编译、测试)...
八、交互规则
- 禁止私自改动代码:在我明确回复“开始编码”之前,Agent 不得修改任何文件。
- 统一中文返回:除必要的代码片段外,Agent 的所有回复均应使用中文。
九、备注
AI编码可能存在格式错误,请尽量使用ide(如idea)进行格式检查,而避免依赖Cursor完成格式校验。
版本:v1.5 (日期:2025-05-12)