在前面两篇文章,标题有一个字错了,正确的词是“赋能”,但用赋能也是不对的,应该用“驱动”,即大模型(LLM)驱动需求分析、定义与评审、LLM驱动软件设计:
本文尝试把两者结合起来,因为分析和设计相辅相成、交融在一起,不容易分开,正如“结构化分析与结构化设计”、“面向对象分析与面向对象设计”难以分开一样。但可惜缺乏一个多智能体的实验平台,我需要建立一个复合角色,类似早期提倡的“系统分析师”岗位(今天国家软考还保留了其资格考试,而且是级别最高、含金量最高、难度最大的考试。说起软考,我还是通过“高级程序员”考试的国内最早的一批人),既懂业务,能够胜任需求分析和定义、业务架构设计等工作,又懂技术架构、产品或系统设计,完成功能定义、技术架构设计、数据字典/数据库等设计。官方的解释:“系统分析师是指具有从事计算机应用系统的分析和设计工作能力及业务水平,能指导系统设计师和高级程序员的工作的一族。在软件开发流程中主要从事需求分析、信息系统项目架构设计(包括概要设计和详细设计)、开发阶段的主要模块的规划、设计和测试等工作。”
之所以我能建一个新智能体“系统分析师”,是因为我们有了大模型GLM。如果没有,那我们需要部署这样的大模型(可能是开源的,也可能是某个商用的),借助LLM来做系统的需求分析和定义、借助LLM来做软件设计,靠模型驱动我们进行系统分析和设计。
这次我选了一个银行的、不算小的专业系统:智能催收管理系统,希望能消除你们常有的顾虑:不能应用到实际工作中,因为大模型缺少专业领域知识。我是给它建立了一个包含系统分析和架构设计的一些金融领域或通用的文档,企业更有能力建知识库。每一个智能体可以embedding 100个文档,而我只绑定了十个不够完整的文档,所以真实的效果要远远好于本文的案例。
“系统分析师”智能体建成之后,我们就可以通过自然语言的人机对话完成业务分析、功能定义、非功能特性描述、架构设计、数据库设计等。
Sora让大家心服口服、五体投地,就是几十个LLM生成的、生动的视频展示。我在本文也不多做说明,而是展示几个实例,让大家看实际案例,足可以让你相信“LLM驱动需求工程和软件设计”这条路一定是能走通的。我只是用了不到1个小时匆匆完成,在实际工作中,你自然愿意用整整一天时间完成这些工作,效率依旧很高,结果会让你满意。
下面案例,经得起你仔细阅读
1. 业务分析
2. 功能定义
3. 解决一个难题“催收评分模型”
4. 完成其中一个功能的详细设计
5. 非功能特性的描述
6. 完成系统设计方案(架构和数据库设计)