1. 方法
1.1 怎样将AI生成代码应用于日常研发工作?
我的方法是:
- 选择需求,将要解决的问题分析一把,分个类,判断哪个类型的问题是适合AI解决的问题,并且解决后,相同类型的问题可以用同样的方法解决。
- 优先框架,将该类问题的流程分析清楚,将不变的部分沉淀在框架;变化的部分分离出来(同类型的新增需求,仅实现变化的部分)。
- 开发AI应用生成代码:变化的部分使用AI生成代码
- 横推:有没有类似的问题, 可用已有的AI应用解决
1.2 误区
- 不做需求分类分析,盲目解决,结果解决了特殊性问题,问题不具备通用性。
- 锤子思维,试图用AI生成一切代码,搞定一个需求的所有细节。这样就意味着AI需要了解一切私域知识,开发一个AI应用的成本可能比不用AI还高。
- 试图开发一个通用AI应用,解决所有问题。实际上不存在通用AI应用(除非是开发一个专用大模型)。
2. AI生成代码方案
AI生成代码,选择MetaGPT生成代码。为何选这款工具,因为我喜欢从量体裁衣的角度看问题,这款工具就是为了研发生产提效开发的。
框架图
方案关键要素:
- 2个Agent,一个代码Agent(Agent Coder),负责读取方案生成代码,一个评审者(Agent Review),负责评审代码生成质量。
- design scheme,方案文档应按固定的模版编写,便于AI应用解析读取关键业务信息
- RAG(private kownledge),通过知识库提取出私域知识,这里的私域知识就是框架调用到的接口、关联模块接口定义、输入输出的数据结构定义。
3. 实践
经过实践,如果方案文档描述明确、私域知识全面,AI应用生成代码采纳率一般可达到80%-90%+。如果选取的需求是同类批量需求,需求数量越多,效率越高,提效比可达到20倍以上。
这个方案只是一个示例,可以根据研发流程,可扩展不同的Agent角色,扩展到生成单元测试、脚本用例。