聊聊大模型如何为敏捷研发提效

这是鼎叔的第一百零二篇原创文章。行业大牛和刚毕业的小白,都可以进来聊聊。

欢迎关注本公众号《敏捷测试转型》,星标收藏,大量原创思考文章陆续推出。本人新书《无测试组织-测试团队的敏捷转型》已出版(机械工业出版社),30万字350页,“阅读原文”有链接。

随着大模型技术的风起云涌,各家大厂和研究机构纷纷开始了大模型在效能提升方面的尝试。复盘一下鼎叔基于前期团队实践的心得,也和不少同行交流过,思路还是很被认同的。

大模型在研发效能领域的实践,有喜有忧。

喜的是,自然语言表达能力的革新,值得把所有依赖教练推动的敏捷方案都重做一遍;

忧的是,如果不掌握敏捷研发的本质理论,不懂敏捷,各种大模型提效实践的成功概率会非常低。

大模型实践的误区‍

大模型在不同领域应用的速度是不同的,越是强调精准性和稳定性的领域,大模型应用的越慢。比如金融领域的大模型应用肯定会慢于娱乐领域。金融领域强调法规,强调专业严谨,而大模型的不可解释性和生成幻觉的情况,会让大模型实践趋于保守。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

同样的道理,大模型在公司研发效能领域的创新实践也很艰难。‍

从理论上说,研发流程中任何一个场景步骤,都可能让大模型自动生成“看起来不错”的场景。

去年鼎叔团队的一位专家就做过完整的DEMO,从需求生成到最后的产品生成,每个中间步骤都可以用chatGPT给出眼前一亮的结果:生成用户故事,生成验收标准,生成需求文档,生成产品结构,生成代码,生成测试用例思维导图,生成测试代码,生成线上质量反馈报告,等等。

图片

图片

图片

图片

但这个DEMO距离研发效能AI化的真正落地,还有巨大的鸿沟。

效能提升是让一线人员改变工作习惯,而一线员工早就养成了舒服的工作习惯,且面临交付业绩压力。如果大模型工具输出的结果不能达到“高接纳度”,这个工具就会停留在“尝鲜玩玩”的层面,不太可能改变研发效率的现状。贸然把一线团队当AI创新的实验品,尝试几次效果不佳后,大家可能就产生抵触情绪,不再愿意进行AI尝试了。‍

‍‍‍‍‍‍‍‍‍‍

大模型实践团队总是想一步到位,但又缺乏对敏捷研发全局的深刻理解,这可能是最大的短板。

我们以“自动生成测试用例”作为一个热门例子来解释下:

很多团队都在尝试把“需求规格说明书”(PRD)通过大模型转换成测试用例(思维导图),但这种实践从”改变测试团队工作习惯”的角度来说,很难成功。不乏有些高校教授的团队在这个领域深耕多年,现在有了大模型的助力,就能在企业获得突破么?

鼎叔认为是很难的。大模型做的是把PRD进行标准化处理,再结合行业测试设计常识的学习来生成用例集。

从敏捷的角度,这个做法的先天不足就是丢失了特定“人的知识”。人的知识是来自于研发的全生命周期的讨论和学习。

测试工程师的痛点是“不会写测试用例”么?是“没有时间写测试用例”么?

并不是。

大模型生成的用例,如果有一小部分用例能给测试工程师带来启发,已经是非常厉害的,想取代目前的测试用例集是不现实的。

更多状况是生产了大量的泛泛用例,测试人员要花很多精力挑选出他愿意采纳的,这样的工具很难成为依赖。

什么才是大模型提高测试用例设计效能的正确打开方式

从测试工程师视角来看用例生成

再回到测试工程师(人)的视角,设计出满意的测试用例之前,他经历了什么:

  1. 学习并掌握业务背景知识和测试工具知识

  2. 参与需求评审讨论,理解产品架构和需求逻辑实现

  3. 进行需求分析,生成初步测试用例

  4. 进行用例评审讨论和修改

  5. 测试执行过程中,调整测试用例,或者因为需求变更而修改用例

  6. 上线后根据用户的投诉,补充测试用例,调整测试计划

从这些步骤中,测试工程师不断获得关键的交流知识,作为完善测试用例生成的基础。但是在大模型解决方案中,这些中间过程的知识都丢失了。在现有的解决方案中,大模型不可能获取这些内容,一是获取成本问题,二是信息安全问题。

一:如果没有敏捷全局视角,大模型团队很难确定从众多的产研流程环节中挑选哪些场景来做信息采集和训练。而且什么才是正确的训练方向,这也很难定义。

二:产品研发产物在各个公司都是保密信息,不太可能喂养给外部大模型。只有构建公司内部的私有知识库,利用开源大模型的部署进行学习,并把成果和通用大模型产出结果进行叠加输出,才能真正做到基于业务和团队自己的知识来生成。

研发生命周期的四场景闭环法

到底该挑选哪些场景来让AI辅助发力呢?

通过团队成员的脑暴和实验,我们认为下面四个痛点场景非常关键,可以形成基本的研发质量闭环,不断促进本组织的知识库水平提升,助力效能就会越来越有信心,不断提升创新的先发门槛。

出于描述的方便,先给我们这个方案起个名字-AIGE(AI生成效能:AI Generated Efficiency)

痛点场景一:业务知识学习,AIGE助力知识问答,提高员工学习效率。

这是新成员landing一个敏捷团队的第一步,也是常常觉得痛苦的一步。尤其对于一些高复杂度业务,学习业务知识要耗费很多时间。如果团队的知识归档不足,专家接口人梳理不清晰,员工想得到业务知识的答案就会让人抓狂。

AIGE基于高质量的团队(公司)私有知识库学习,优先回答员工对于本公司业务和技术的问题,如果没有“私有”答案,再参考通用答案(如ChatGPT)。

这个场景的建设着眼点是:发动大家众包提供本组织的高质量文档,尽可能完整而且更新。AIGE运营成员要搜集遗漏答案的case,并针对性采集缺失文档进行学习。

类似大模型创业公司的第一步,尽快采集所有相关知识进行学习,涵盖不同格式,不同类型。

痛点场景二对产品经理的PRD需求文档进行AIGE互动,提高需求文档的品质。

图片

需求文档如果是个“垃圾”,再牛逼的大模型团队也没法生成好的测试用例,这是共识。

但什么才是高质量的需求文档?这就需要精益需求专家来定义了。聊聊需求评审与验收测试

有了质量标准,再让大模型进行“刻意练习”,形成比较靠谱的评价能力,就可以代替工程师,和产品经理进行初步的互动了。这也许会节约技术团队大量的前期精力。

鼎叔从团队认为重要的PRD质量维度清单中,结合组织当前的痛点,挑选了几个维度作为AIGE打分的基准。

图片

图片

痛点场景三:设计测试用例的约束框架,让AIGE高质量地生成更重要的用例,降低遗漏

一句大白话:多生成对团队更重要的用例,并结合过去的经验教训。

通用大模型可以源源不断生成测试用例,但是不一定精准满足工程师的期待,它可能采用了泛泛的通用设计方法。

AIGE在实践上计划引入两种因子,以提高用例生成的满意度。

一种是“用例选择约束因子”,引导AI减少某些低优先级用例的生成,优先生成某些高优先级用例。大模型生成海量略有不同的用例是很容易的,但是人工挑选用例的成本高(除非将来做到基本不需要维护的自动化用例生成和执行)。

有些约束因子是来源于线上的关键词,比如涉及“资金损失”,“闪退/卡住/白屏”的用例优先生成。

第二个是引入本业务的特定用例生成模型知识,比如,针对营销特性,生成“折扣边界值”和“优惠总额上限”的用例设计。

图片

痛点场景四:大模型对所有线上用户反馈进行分类,识别疑似缺陷和场景类型,为解决该问题的工程师推荐历史解决手段和解决者。

有趣的是,大模型在这个场景的初期实践效果是最好的。

基于历史所有反馈信息的学习,大模型比传统模型能更好地区分“纯抱怨骂娘”,“产品建议”,“运营建议”和“疑似缺陷”,甚至体现出了强大的自动多级分类能力:

一级是按业务产品域聚类,二级按产品模块或主要特性聚类,三级按具体故障场景来聚类。经过微调后分类准确性可以超过85%,这样可以给不同特性团队快速指派缺陷的验证和工单处理,同时展示详细的工单处理分析图表。

同样,基于数据库中历史故障处理信息的学习,AIGE推荐同类故障的解决方法和相关工程师的名字,进一步提高了处理速度。

大模型助力用户反馈处理闭环,整体提速可以超过50%。分类投入的人力也大幅下降90%。

图片

高效场景闭环

最后,痛点场景四的验证知识又会注入到其他场景的大模型训练中,形成一个小而美的AI助力质量提升闭环:

研发人员在业务学习时就能看到用户对产品问题的反馈意见,在需求PRD评估时就可以看到基于历史用户投诉的优化建议,在用例设计时会被提醒线上遗漏的故障场景。

整个过程循环改进,最终促进组织私有知识库及微调模型的强大,而且能加速变得更强。

图片

总结

不要想着在一个单一的研发测试场景中,借助大模型一口吃成胖子,这个不现实。还是要回归人在研发迭代周期中的感受和成长。

深刻理解敏捷和工程效能的领导者,才能让大模型提升研发效能做到事半功倍,后来居上。

好了,将来鼎叔再分享AIGE开发中的一些有趣的细节和感受。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/374568.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

红日靶场----(三)2.漏洞利用

上期的通过一句话木马实现对目标主机的持久后门 我使用的是蚁剑,蚁剑安装及使用参考: 下载地址: GitHub - AntSwordProject/AntSword-Loader: AntSword 加载器 安装即使用: 1. 快速入门 语雀 通过YXCMS的后台GETSHELL 利用…

设计模式探索:策略模式

1. 什么是策略模式(Strategy Pattern) 定义 策略模式(Strategy Pattern)的原始定义是:定义一系列算法,将每一个算法封装起来,并使它们可以相互替换。策略模式让算法可以独立于使用它的客户端而…

算法day03 桶排序 数据结构分类 时间复杂度 异或运算

学数据结构之前 必看_哔哩哔哩_bilibili 1.认识复杂度和简单排序算法_哔哩哔哩_bilibili 桶排序(Bucket sort)------时间复杂度为O(n)的排序方法(一)_多桶排序时间复杂度-CSDN博客 桶排序 测试场景:数组中有10000个随…

PyTorch SummaryWriter TensorBoard 中进行可视化

在 PyTorch 中,SummaryWriter 通常用于在训练过程中记录各种数据,以便在 TensorBoard 中进行可视化。 - 安装: pip install tensorboard -i https://mirrors.aliyun.com/pypi/simple/ from torch.utils.tensorboard import SummaryWriter…

MVC分页

public ActionResult Index(int ? page){IPagedList<EF.ACCOUNT> userPagedList;using (EF.eMISENT content new EF.eMISENT()){第几页int pageNumber page ?? 1;每页数据条数&#xff0c;这个可以放在配置文件中int pageSize 10;//var infoslist.C660List.OrderBy(…

2.电容(常见元器件及电路基础知识)

一.电容种类 1.固态电容 这种一般价格贵一些&#xff0c;ESR,ESL比较低,之前项目400W电源用的就是这个&#xff0c;温升能够很好的控制 2.铝电解电容 这种一般很便宜&#xff0c;ESR,ESL相对大一些&#xff0c;一般发热量比较大&#xff0c;烫手。 这种一般比上一个贵一点&am…

【人工智能】-- 反向传播

个人主页&#xff1a;欢迎来到 Papicatch的博客 课设专栏 &#xff1a;学生成绩管理系统 专业知识专栏&#xff1a; 专业知识 文章目录 &#x1f349;引言 &#x1f349;反向传播 &#x1f348;定义 &#x1f348;反向传播的作用 &#x1f34d;参数优化 &#x1f34d;学…

docker也能提权??内网学习第6天 rsync未授权访问覆盖 sudo(cve-2021-3156)漏洞提权 polkit漏洞利用

现在我们来说说liunx提权的操作&#xff1a;前面我们说了环境变量&#xff0c;定时任务来进行提权的操作 rsync未授权访问覆盖 我们先来说说什么是rsync rsync是数据备份工具&#xff0c;默认是开启的873端口 我们在进行远程连接的时候&#xff0c;如果它没有让我们输入账号…

Python高级(三)_正则表达式

Python高级-正则表达式 第三章 正则表达式 在开发中会有大量的字符串处理工作,其中经常会涉及到字符串格式的校验。 1、正则表达式概述 正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、…

论文学习_Getafix: learning to fix bugs automatically

1. 引言 研究背景:现代生产代码库极其复杂并且不断更新。静态分析器可以帮助开发人员发现代码中的潜在问题(在本文的其余部分中称为错误),这对于在这些大型代码库中保持高代码质量是必要的。虽然通过静态分析尽早发现错误是有帮助的,但修复这些错误的问题在实践中仍然主要…

51单片机STC89C52RC——16.1 五线四相步进电机

目录 目的/效果 一&#xff0c;STC单片机模块 二&#xff0c;步进电机 2.2 什么是步进电机&#xff1f; 2.2.1 步进电机驱动板 静态参数 动态参数 2.2.2 五线四相 单相激励步进 双相激励步进 混合激励驱动 2.3 细分驱动 2.4 通过数字信号控制旋转位置和转速。 2…

第一次参加数学建模竞赛新手小白备赛经验贴

2024年暑假已经来临&#xff0c;下半年的数学建模竞赛非常多&#xff0c;许多同学可能是第一次参赛&#xff0c;对于如何准备感到迷茫和无从下手。在这种情况下&#xff0c;我们将分享一些备赛的小技巧&#xff0c;帮助大家在这个暑假更好的入门&#xff0c;即便是零基础的小白…

resistronic焊接机RMF10 RE120安装SSK10说明操作

resistronic焊接机RMF10 RE120安装SSK10说明操作

新零售起盘案例「半藏酱酒」布局路径,半藏总院分院招商模式

在当前白酒市场中&#xff0c;一款名为半藏酒的酒品以其独特的新零售模式引起了广泛关注。这种模式不同于传统销售方式&#xff0c;通过多种创新玩法&#xff0c;实现了销售与品牌推广的双重目标&#xff0c;让我们一起来看看细节。 半藏酒的分级代理制度将代理商分为两个层级&…

如何录制屏幕视频?4款软件,轻松录屏

在数字化飞速发展的时代&#xff0c;如何录制屏幕视频已经成为我们工作、学习和娱乐中不可省略的一个重要问题。无论是制作教学教程还是录制游戏视频等&#xff0c;屏幕视频录制都为我们提供了极大的便利。今天&#xff0c;就让我们一起探索如何录制屏幕视频的精彩方式&#xf…

Go 1.19.4 函数-Day 08

1. 函数概念和调用原理 1.1 基本介绍 函数是基本的代码块&#xff0c;用于执行一个任务。 Go 语言最少有个 main() 函数。 你可以通过函数来划分不同功能&#xff0c;逻辑上每个函数执行的是指定的任务。 函数声明告诉了编译器函数的名称&#xff0c;返回类型&#xff0c;和参…

单片机中有FLASH为啥还需要EEROM?

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「单片机的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01; 一是EEPROM操作简单&…

Java版Flink使用指南——将消息写入到RabbitMQ的队列中

大纲 新建工程新增依赖 编码自动产生数据写入RabbitMQ 测试工程代码 在 《Java版Flink使用指南——从RabbitMQ中队列中接入消息流》一文中&#xff0c;我们介绍了如何使用Java在Flink中读取RabbitMQ中的数据&#xff0c;并将其写入日志中。本文将通过代码产生一些数据&#xf…

未解之谜----macOS版fiddler everywhere 如何将当前会话保存成一个txt文件查看

如图&#xff0c;这是win版的保存方式&#xff0c;mac上面根本没有这个按钮&#xff0c;找的很崩溃

nx软件许可优化解决方案

Nx软件介绍 来自SiemensPLM 的 NX使企业能够通过新一代数字化产品开发系统实现向产品全生命周期管理转型的目标。 NX 包含了企业中应用最广泛的集成应用套件&#xff0c;用于产品设计、工程和制造全范围的开发过程。 如今制造业所面临的挑战是&#xff0c;通过产品开发的技术创…