上海品茶

彭鑫-迈向更高层次智能化的生成式软件开发.pdf

编号:161527 PDF 21页 12.05MB 下载积分:VIP专享
下载报告请您先登录!

彭鑫-迈向更高层次智能化的生成式软件开发.pdf

1、迈向更高层次智能化的生成式软件开发彭鑫复旦大学彭鑫复旦大学计算机科学技术学院教授、副院长中国计算机学会(CCF)软件工程专委会副主任Journal of Software:Evolution and Process联合主编(Co-Editor),ACM TOSEM等期刊编委。主要研究方向包括软件智能化开发、云原生与智能化运维、泛在计算软件系统、智能网联汽车基础软件等。研究工作多次获得IEEE Transactionson Software Engineering年度最佳论文奖等奖项。GOPS 全球运维大会 2024 深圳站大模型冲击波前哈佛大学计算机科学教授、谷歌工程主管Matt Welsh预

2、测:生成式AI将在3年内终结编程,到那时候软件开发团队中只有两类人会保留,即产品经理和代码评审人员码农们的焦虑说了这么多年程序员要被AI取代,狼终于来了研究者们的焦虑一大波SOTA纷纷被ChatGPT轻松超越很多研究课题似乎没必要做了GOPS 全球运维大会 2024 深圳站冷静思考类比:20年前所研究的软件复用和软件产品线通过代码复制粘贴和API调用广泛实现局部复用并不难,难的是通过需求和设计规划实现系统性的定制化产品开发(例如软件产品线所宣称的那样)与之相似,利用ChatGPT在软件开发过程中广泛实现局部的智能化辅助支持(例如代码片段生成和技术问答)并不困难,难点在于如何利用它们实现端到端、

3、系统性的生成式开发FrederickP.Brooks.NoSilverBulletEssenceandAccidentsofSoftwareEngineering.Computer,Vol.20(4),April1987.重温经典软件开发的根本性(Essence)困难和偶然性(Accident)困难:根本性的困难在于对于构成抽象软件实体的复杂概念结构的构思(主要是需求和设计),而产生这种抽象软件实体的编程语言表示只是偶然性的困难。GOPS 全球运维大会 2024 深圳站关于大模型软件开发能力的几点思考思考1:规模和复杂性会从人机两方面形成限制 随着规模的增大,人脑可能已经无法掌控整个代码生成过

4、程 大模型本身对于复杂系统开发过程的全局掌握能力可能有限,经常顾此失彼 人工代码审核的需要使得人的理解和判断力可能成为瓶颈思考2:大模型缺少抽象思维能力同时精确性不足 大模型善于基于平面化的上下文以及提示信息产生相关内容,但对于大范围的抽象设计决策可能缺少相应的掌握和应用能力 大模型概率性的本质与软件功能逻辑的精确性之间存在冲突思考3:软件开发存在大量难以捕捉的“暗知识”软件开发中的很多需求和设计知识并不存在明确的文字记载,它们可能存在于脑海中、白板上或讨论中 此外,这类知识高度的抽象性甚至模糊性也使得大模型难以学习和应用这些知识思考4:大模型对复杂系统的长期维护支持不足 企业软件系统一般都有

5、着很长的生存周期,其中的软件维护和演化过程中蕴含着很多软件工程问题和挑战 大模型对于复杂软件系统需求、设计及实现的全局理解及相应的维护支持能力可能不足一点思考详 见 C o deWisd om公 众 号(23 年4月)GOPS 全球运维大会 2024 深圳站迈向更高层次智能化开发之路几点认识和建议详 见 C o deWisd om公众 号(2 3年 12 月)几点认识 软件设计是一道迈不过去的槛 当前大模型在软件设计能力上还比较弱 维护型任务是对大模型的一大考验一些建议 在数字化、知识化积累的基础上迈向更高层次的智能化开发 建立面向软件维护的代码数字孪生及开发知识共享平台 探索适合软件设计知识

6、学习的大模型增强方法GOPS 全球运维大会 2024 深圳站基于ChatGPT的生成式应用开发(专家实践)张刚.ChatGPT结对编程实录:提升生产力,还是被代替?https:/ 创建游戏框架 使用GUI替换控制台 在GUI上显示一个L形方块 移动方块并且进行碰撞检测 旋转方块 落下方块并且创建一个新的方块 检测游戏结束 增加整行消除功能 加入所有类型的方块 增加计分能力实践经验整个过程几乎没有人工参与编写代码,生成的代码绝大多数都是正确的看起来懂设计,不仅是简单堆砌代码实现功能,在恰当提示下代码质量一流从整个过程可以看到很好的由外而内,从宏观到微观的设计思想能较好地记住编程上下文,但是也会犯

7、错具备自动化编写测试的能力,质量不比人类写的差由于俄罗斯方块是一个在通用领域很常见的问题,本文的测试不具备在专有业务领域的代表性,在专有业务领域是否可以达到相同的水准需要更为仔细地评估GOPS 全球运维大会 2024 深圳站基于ChatGPT的生成式应用开发(新手实践)详 见 C o deWisd om公 众 号(24 年3月)第1次试验:逐类实现依赖ChatGPT进行分解,然后逐类实现,得到一个完全静止的面板,无法实现游戏功能第2次试验:逐特性实现按照自己的理解进行特性分解,实现了一个简易的俄罗斯方块游戏,功能简单且错误多第3次:按专家思路按照张刚的思路,取得了较好的效果学生总结:ChatG

8、PT生成代码的能力是有目共睹的,但如何更好地使用ChatGPT,也紧密取决于使用者本身对于开发项目的理解和开发设计规划。在对项目有合理规划,并且对项目整体进行细粒度feature的拆解,甚至按照合理的顺序去逐步实现的情况下,ChatGPT能够发挥出更强的能力。张刚反馈:演化才是本质。这个实验表明,逐层递进的演进式设计方案更容易得到结果,在俄罗斯方块这个规模的应用尤其明显。合理的演化路径,会提升达成目标的效率。新手(未开发过俄罗斯方块游戏的研究生)按照不同的思路尝试了三次GOPS 全球运维大会 2024 深圳站大模型加速软件开发人员的分化普通程序员超级个体将大模型助手用于软件开发各个环节,按需获

9、得代码推荐和开发知识,获得20%-30%左右的开发效率提升掌握了很强的分析和设计能力的专家型开发者能够在大模型的帮助下成为以一当十的超级程序员和全栈工程师自动生成代码的比例已经能达到了80%-90%,如果努力去做100%的代码自动生成并不是不可能,只是这是个性价比的问题。遇到什么问题不懂或者代码不会写的时候随时求助大模型,所得到的代码偶尔直接能用或者稍加修改之后就可以使用大模型使得过去的职业技能中90%的价值变为0,但也会让剩下的10%的价值被放大1000倍(Kent Beck)GOPS 全球运维大会 2024 深圳站更高层次智能化的生成式开发目标:通过更好的工具环境(如IDE)降低超级个体的

10、门槛,使得更多的开发人员能达到或接近超级个体的水平现状:已有大量研究和实践探索通过模型微调、检索增强、提示工程、多Agent机制等手段探索接近真实项目开发要求的代码生成能力评测以及项目和代码库级别的代码生成技术等两大挑战软件设计的鸿沟软件维护的冰山GOPS 全球运维大会 2024 深圳站软件设计的鸿沟逐步精化:软件开发是一个逐步精化的过程,从初识需求开始不断通过what/how转换逐步细化解决方案,直至得到最终的代码实现结构化思维:以分解加抽象的基本思想为指导、以模块化设计为手段应对软件的复杂性并以及长期演化所需要的可扩展性/可维护性那么大模型卓越的代码生成能力是否能让我们从需求出发、跳过设计

11、直达软件开发的最终产物代码呢?也许不行只有良好的模块化设计才能确保开发人员能够理解所产生的代码并做好审核确认只有良好的模块化设计才能确保演化过程中软件修改尽量局部化并控制其影响范围软件设计还需要确保系统满足性能、可靠性等多方面的非功能性质量要求GOPS 全球运维大会 2024 深圳站大模型的软件设计能力大模型到目前为止很大程度上还是一种黑盒的存在,我们无法准确知晓其各方面的实际能力,但是从多个方面的侧面揣摩看答案应该是“比较弱”软件需求和设计中存在的大量难以捕捉的“暗知识”难以被学习平面化的代码学习方式使大模型难以学习到抽象的软件设计知识从当前实践探索看,大模型扮演的更多仍是原子任务编码的角色

12、探索适合软件设计知识学习的大模型增强方法:一种可能的解决途径是在折叠和层次化的软件开发数据上进行大模型训练或增强GOPS 全球运维大会 2024 深圳站软件维护的冰山产品特性客户满意度市场占有率运行稳定性故障定界定位回归测试性能瓶颈诊断架构看护代码修改决策软件维护阶段的成本占到整个软件开发成本的60%-70%甚至更多既有代码的维护面临问题定位难、影响面难以确定等方面的困难即使是新代码也要考虑如何嵌入复杂的软件架构及代码上下文之中并考虑其影响挑战:如何在快速迭代、持续演化的软件开发过程中实现效率提升和可信保障GOPS 全球运维大会 2024 深圳站从数字化、知识化到高度的智能化开发代码数据所提供

13、的信息是平面化的(缺少软件抽象),仅反映最终结果(缺少决策过程),不足以支撑大模型获得更高层次上的软件智能化开发能力软件开发的数字化积累 数字化:软件开发制品及其开发过程的结构化和数字化描述 例如,代码数字地图(过程间调用与控制流图等)、过程追溯(如缺陷/特性-代码提交-测试)、软件成分与供应链依赖等软件开发的知识化积累 知识化:需求、设计、实现、测试和部署等方面知识积累和描述 例如,领域通用组件库及其功能和特性描述、代码相关的设计决策及其原理解释、缺陷修复和特性开发等任务相关的原理讨论一种可行思路是在软件开发的数字化和知识化积累的基础上,利用大模型强大的记忆、理解和关联能力加强智能化开发能力

14、,实现效率提升和可信保障大模型强大的知识利用能力可能会强化研发数字化和各类文档知识的价值GOPS 全球运维大会 2024 深圳站基于大模型的软件系统数字孪生来源:https:/ 真实世界复杂系统的数字化和可视化模型 作用:运行监控与可视化分析、异常检测与问题定位、模拟仿真与优化决策 例子:机场数字孪生、工厂数字孪生软件系统数字孪生 复杂软件系统设计实现与部署运行方式的数字化抽象表示 作用:特征定位、变更影响分析、风险预测、故障定位、问题诊断、架构看护等MBSE:一切皆建模,代码自动生成敏捷开发:代码胜过文档,迭代中完善可能的折中:在现有开发模式和流程基础上加强数字化和知识化积累,利用大模型的记

15、忆、理解和关联能力实现知识增强的代码数字孪生GOPS 全球运维大会 2024 深圳站总结与思考 现状总结 普通开发者通过使用大模型获得局部效率提升,专家级开发者在大模型的加持下成为超级个体 迈向更高层次智能化开发水平的两大挑战:软件设计的鸿沟、软件维护的冰山 发展方向 有希望的方向:在特定领域开发中实现大模型与特定领域语言(DSL)的结合 项目级软件生成式开发:软件开发知识的共享和利用、上下文知识的按需抽取和抽象、设计感知(开发框架与设计决策等)的软件代码生成 软件维护的智能化支持:利用大模型的记忆、理解和关联能力实现知识增强的代码数字孪生,让大模型的知识吸收与释放能力成为软件开发知识积累的新动能感谢大家观看THANKS

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(彭鑫-迈向更高层次智能化的生成式软件开发.pdf)为本站 (张5G) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
客服
商务合作
小程序
服务号
会员动态
会员动态 会员动态:

 138**56... 升级为至尊VIP wei**n_... 升级为至尊VIP 

wei**n_... 升级为高级VIP  wei**n_... 升级为至尊VIP 

wei**n_... 升级为高级VIP   wei**n_... 升级为标准VIP 

 冯**  升级为至尊VIP wei**n_...  升级为至尊VIP 

 wei**n_... 升级为标准VIP   wei**n_... 升级为标准VIP

wei**n_... 升级为高级VIP  old**nt... 升级为至尊VIP 

 wei**n_...  升级为至尊VIP 150**62... 升级为标准VIP  

 俊**... 升级为标准VIP  微**... 升级为至尊VIP

131**94... 升级为高级VIP wei**n_...   升级为高级VIP

 微**... 升级为至尊VIP   151**34... 升级为高级VIP

 wei**n_... 升级为标准VIP   186**03...  升级为至尊VIP

 wei**n_... 升级为至尊VIP 138**97... 升级为高级VIP 

报**... 升级为至尊VIP 177**40... 升级为至尊VIP  

189**24... 升级为高级VIP   Jo**g  升级为至尊VIP

董杰 升级为高级VIP  159**76... 升级为至尊VIP 

 wei**n_... 升级为标准VIP  186**81... 升级为高级VIP 

198**12... 升级为高级VIP  周阳 升级为至尊VIP

微**...  升级为标准VIP  wei**n_... 升级为高级VIP

wei**n_...  升级为标准VIP    137**77... 升级为高级VIP

Ste** S...  升级为至尊VIP ro**i  升级为高级VIP

186**53... 升级为至尊VIP 403**08...  升级为标准VIP

wei**n_...  升级为标准VIP  wei**n_...  升级为高级VIP

wei**n_...  升级为高级VIP wei**n_...  升级为至尊VIP

 189**86... 升级为高级VIP  wei**n_...  升级为标准VIP

微**... 升级为标准VIP  wei**n_... 升级为至尊VIP

骑**... 升级为高级VIP   wei**n_... 升级为标准VIP

 wei**n_...  升级为标准VIP 138**22...  升级为标准VIP

 wei**n_...  升级为标准VIP 186**23... 升级为至尊VIP 

gus**o8...  升级为至尊VIP 159**77...  升级为至尊VIP

Kra**Ma...  升级为高级VIP  wei**n_...  升级为高级VIP

 SMA**CH  升级为至尊VIP  130**92... 升级为至尊VIP 

 wei**n_...  升级为高级VIP wei**n_... 升级为高级VIP

181**79...   升级为高级VIP wei**n_... 升级为标准VIP 

wei**n_... 升级为至尊VIP   Je**er 升级为高级VIP

 182**85... 升级为至尊VIP 小** 升级为高级VIP 

wei**n_... 升级为标准VIP   186**69... 升级为高级VIP 

陆  升级为至尊VIP wei**n_...  升级为标准VIP

微**...  升级为标准VIP 186**99...   升级为高级VIP

wei**n_... 升级为高级VIP Nic**eZ 升级为至尊VIP  

wei**n_...  升级为高级VIP 130**34...  升级为标准VIP

 189**86... 升级为至尊VIP wei**n_... 升级为标准VIP 

 陶**... 升级为标准VIP    159**63... 升级为至尊VIP

 wei**n_... 升级为标准VIP  wei**n_... 升级为至尊VIP

wei**n_...  升级为高级VIP 江**... 升级为高级VIP 

186**32...  升级为高级VIP wei**n_...  升级为至尊VIP

微**... 升级为至尊VIP  182**17... 升级为标准VIP

wei**n_...  升级为标准VIP  138**41... 升级为至尊VIP

  138**39... 升级为至尊VIP wei**n_... 升级为至尊VIP  

wei**n_...  升级为标准VIP 136**29...  升级为标准VIP

186**28...   升级为标准VIP 186**28... 升级为标准VIP