Skip to content

AI 编码流程(覆盖软件开发全生命周期的多智能体规划)

软件开发全生命周期

img.png

整体流程:

  1. 业务去洞察市场需求,产出 mrd(Market Requirements Document
  2. 产品将 mrd 结合现有产品能力产出 prd(Product Requirement Document
  3. 交互设计师根据 prd 产出交互设计稿(视觉稿)
  4. 技术根据 prd 和设计稿编写技术方案
  5. 技术根据技术方案进行编码,产出 code
  6. 技术对 code 进行 CodeReview,产出修改意见,之后对 code 进行修改
  7. 测试基于 prd 和技术方案编写测试用例和回归用例,对新增加的产品能力进行测试,提出bug,产出测试报告
  8. 技术修复 bug
  9. 最终将完善的代码发布上线

对于开发来讲,核心关注的是 4~9 步,而这些步骤理论上均可以转化为多智能体来进行自动化流转。

软件开发的 8 个核心智能体

img_1.png

全局规则和知识库

全局规则:放置项目全局的规则,比如代码架构(例如,DDD架构)/代码分层/编码规则(例如,统一异常处理等)。

知识库:放置代码知识,例如各个业务模块的功能。

全局规则会在每一次编码请求中都传递到上下文中;知识库会在每一次编码请求前进行相关内容的检索,例如本次需要改动的是模块A,那么检索出与本次模块相关的知识文档即可。

知识库需要有完善的更新机制,可以是每天定时更新,也可以是每次发布完一个需求后进行更新。

SpecificationAgent

根据 prd+全局规则+知识库 产出技术方案(或者规范)。

PrdSpecificationConsistencyCheckAgent

检测 prd 和技术方案的一致性,如果不一致,则继续使用 SpecificationAgent 补充生成技术方案。确保生成的技术方案完整正确的覆盖了 prd 的内容。

CodeAgent

基于 技术方案+全局规则+知识库 生成编码。

SpecificationCodeConsistencyCheckAgent

检测 code 和技术方案的一致性,如果不一致,则继续使用 CodeAgent 补充生成 code。确保生成的 code 完整正确的覆盖了技术方案的内容。

CodeReviewAgent

基于 全局规则+知识库 对生成的 code 进行 review,产出修改意见,如果有修改意见,则继续使用 CodeAgent 修改代码。直到没有修改意见为止。

原则上 SpecificationCodeConsistencyCheckAgent 所做的事情也是 CodeReview 阶段的事情,但是其更核心的是看需求的实现完整度和正确性,故单独拆出来一个智能体,使其更加聚焦。

AutoTestAgent

基于测试用例对产品功能进行测试。

AutoPublishAgent

基于技术方案制作发布计划,并调用 CICD 系统进行自动发布操作。

MonitorAgent

观察发布过程中的问题,自动修复或者阻断发布流程。

技术选型

基于 iFlow CLI 可以相对简单的进行技术上的实现。

多智能体

使用 iFlow 的 subAgent 能力实现。

流程串联

使用 iFlow 的 workflow 和 commands 能力实现流程串联。

简化使用

使用 iFlow 的 commands 能力实现简化使用。

后续规划

后续会设计一个简单的应用,来逐步实现以上 8 个智能体和完整的软件研发工作流。