最近几个月,我开始越来越多地使用 AI 参与日常开发,起初我以为变化最大的会是 Coding
但真正用了一段时间后,我发现最大的变化其实发生在研发流程——一个我们过去习以为常、现在却开始处处「别扭」的地方
一、旧流程为什么开始别扭
一个让我一直觉得别扭的问题
我们团队的研发流程和大多数技术团队差不多:
1 | 需求评审 -> 技术方案设计 -> 技术方案评审 -> 开发 -> 测试 -> 上线 |
过去,这套流程跑得很顺,但在引入 AI 之后,我们很自然地开始让 AI 根据需求直接生成 Spec(实现规范)进行开发。这时不出意外的话,很快就遇到了一个尴尬的情况~
就是 AI 生成的 Spec 非常的详细,详细到了包含 DTO、数据库字段、SQL、Mapper、API、Migration、Unit Test,甚至每个字段的命名和类型
这时候,当我们拿着这份 Spec 去评审时,就会有些奇怪…,因为评审会上,大家真正关心的问题是:
- 整体业务流程是否合理?
- 服务之间如何交互?
- 数据应该归属于哪个系统?
- 为什么用 MQ 而不是 RPC?
- 为什么新增一张表,而不是修改已有表?
几乎没有人会讨论 refund_reason 字段是 VARCHAR(100) 还是 VARCHAR(255)
于是,我们可能会做一件更别扭的事:先让 AI 生成一份极详细的 Spec,再让 AI 把这份 Spec 「翻译」成传统技术方案模版的文档,以供评审
后来我意识到:问题不在于 Spec 写得不好,而在于我们还在用 AI 出现之前的研发流程,去套一个 AI 出现之后的协作方式