AI 产品开发和传统软件开发有很大不同。在传统敏捷开发中,需求是相对明确的,开发周期可控。但在 AI 项目中,你面对的是一个"概率性"的系统——同样的输入,可能得到不同的输出。
这种不确定性给敏捷开发带来了挑战。
挑战一:需求不确定性
AI 功能的能力边界往往在开发过程中才能明确。客户可能期望"像人一样对话",但实际能做到的可能是"在特定场景下提供有用回复"。
应对策略:
- 第一 sprint 用于技术验证(PoC),明确能力边界
- 用具体示例代替抽象描述,管理客户预期
- 建立"能力 - 场景"矩阵,明确支持范围
挑战二:验收标准模糊
传统功能的验收标准是二元的(pass/fail),但 AI 功能的输出是概率性的。90% 准确率算通过吗?用户满意度达到多少算成功?
应对策略:
- 定义量化指标(准确率、召回率、响应时间)
- 建立测试集,定期回归测试
- 引入人工评估环节,收集定性反馈
挑战三:迭代周期长
模型微调、数据标注、效果评估都需要时间,传统的 2 周 sprint 可能不够。
应对策略:
- 采用"双轨制":应用开发 2 周 sprint,模型迭代 4-6 周 sprint
- 并行开发:应用层和模型层独立迭代,通过 API 对接
- MVP 优先:先用 prompt engineering 实现核心功能,再考虑微调
我们的实践框架
经过多个项目的摸索,我们形成了以下开发流程:
- Discovery(1-2 周):需求对齐、技术可行性验证、数据评估
- PoC(2-3 周):最小可行原型,验证核心 AI 能力
- MVP(4-6 周):完整功能开发,包含基础 AI 集成
- Iterate(持续):基于用户反馈优化模型和体验
关键建议
- 从简单开始:先用 prompt + API,不要一上来就微调
- 数据驱动:尽早收集真实用户数据,指导优化方向
- 人机协作:AI 不是万能的,设计好人机协作流程
- 持续监控:上线后持续监控效果,建立告警机制
总结
AI 产品开发需要调整传统敏捷方法,拥抱不确定性,用数据驱动决策。核心是:快速验证、小步迭代、持续优化。