找回密码
 立即注册
查看: 547|回复: 0

AI 编程狂飙,但关键还得看这四点

[复制链接]

1

主题

1

回帖

18

积分

新手上路

积分
18
发表于 2023-5-27 12:21:43 | 显示全部楼层 |阅读模式
AI 时代,许多开发者都已经上手了各式 AI 编程东西,至于评价则千差万别。但整体而言,AI 编程的代码正越来越多呈此刻当下的各种技术栈中,其口碑也在逐渐攀升。随着 GPT4 的呈现,AI 编程正在迈入新的台阶,而软件工程 3.0 时代也正在进行中。
为了更好地了解当下 AI 编程能力的成长,我们邀请到同济大学特聘传授,“软件工程 3.0” 定义者朱少民,请谈谈他 AI 编程的过去与未来。



朱少民
同济大学特聘传授,“软件工程 3.0” 定义者
CCF 软件质量工程 SIG 主席,拥有个人公众号《软件质量报道》。近三十年来一直从事软件测试、质量打点等工作,先后获得多项省、部级科技进步奖,已出书了二十多部著作和 4 本译作,并经常在国表里学术会议或技术大会上发表演讲,曾任思科(中国)软件有限公司 QA 高级总监、IEEE ICST 2019 工业论坛主席、多个 IEEE 学术会议的法式委员、《软件学报》审稿人等。
5 月 28 日,朱少民将担任 GOTC 2023 “AI 编程” 分论坛讲师,并发表《软件工程 3.0 之下 软件开发新范式》主题演讲,敬请等候!
参会报名,请访谒: https://www.bagevent.com/event/8387611
OSCHINA:AI 编程这个概念是什么时候开始兴起的?此刻处于什么样的成长阶段?
上世纪 70 年代摆布就有了计算机辅助编程,但和今天的 AI 编程还是有区此外。辅助编程是想通过一些法则或者是专家系统来完成编程,基于法则引擎来做推理,相当于模拟人的思维,知名东西软件 MATLAB 可以看做是辅助编程的成果。但是效果不够好,所以后面也就停了一段时间。
这波人工智能的热潮可以看作是 AI 第三次浪潮的延续,而第一次和第二次的浪潮,实际上没有达到我们预期的效果。
今天我们讲 AI 编程,更多的是比来几年,基于深度学习、机器学习,基于深度神经网络和强化学习这些新技术来完成代码的编写。
那么此刻所处的阶段,不能说是成熟阶段,但可以认为是接近成熟的阶段。比如 Copilot X,华为的盘古模型也能生成函数级的代码了。这些技术已经可以在工程实践中应用了。
OSCHINA:此刻市面上有很多传布鼓吹能写代码的 AI 东西,开发者要怎么区分与选择?
一方面要看你使用的编程语言。目前如果用的是 C 语言,AI 方面的能力就弱一些。如果是 Java 或者 Paython、Go 语言,那开源的代码数据斗劲多,效果就会斗劲好。如果用到特殊的语言,也许会更困难。
另一方面就是要看功能,比如可不成以做代码补全、代码评审。还有代码生成的可靠性和准确性,决策是否可靠等等。比如生成代码的问题斗劲多,重构的工作量非常大,那么就没有意义。开发者常说的一句话:代码写得烂,要我改还不如我本身重写。最后,还要看东西好不好用,例如是否通过插件实现的(可以保留过去编程的习惯)等等。
OSCHINA:AI 编程如果要进一步成长,需要在哪些方面有所打破?
一个是规模挑战,即生成代码的量。
比如华为的盘古模型出产代码是函数级的,已经算是斗劲厉害的了。以前我们讲代码补全,相当于写一行代码给你补两行,或者写两行补一行,那么这在一个函数里可能只是完成了二分之一或者三分之一,你可以理解为代码块或者说代码行补全。从这种到函数级生成代码已经算是一大进步了,函数级至少完成了一个类的方式。
那么在此之上,再提升量级,比如完成一个完整类或模块、Package 等。
二是准确性、可靠性。早期代码生成的准确率概略是 40%、50%,底子不能用。工业界一般在达到 80%、90% 之后才会用。如果达到 95%,甚至是 98%,那就更好了。
三是代码理解能力是不是更强,像逻辑关系、上下文联系等等,相当于 AI 还可以联想到过去的代码。这方面,在今天也是对 AI 编程的一个主要限制。比如上下文理解,因为我们写代码或者整个代码的演化时间还是很长的,我经常和学生讲,你开发产物的第一个版本也许一两个月就结束了,但如果你的产物开发得斗劲好、有生命力,整个演化过程也许是几年甚至十几年。
那么我们今天的机器学习或者说大模型还没有这方面的能力,无法记住几天前的上下文,无法回忆几年前本身生成的代码,并依此不竭生成新的代码、或做代码的重构与优化。
这相当于讲,目前的 AI 是通用的大数据学习,它不能学习产物线代码,然后来生成符合这个产物线业务逻辑的代码。GPT-4 能不能做这样事情,至少是要打一个问号的。
四是人机交互智能。这也要提到软件工程 3.0,GPT-4 发布标识表记标帜着软件工程 3.0 时代的到来,此中人机交互智能将是软件工程 3.0 的一个常态。我们把需求文档塞进去,所有代码就都出来了,或者说是完全自动化生成代码,这样抱负的情况,至少比来几年应该都不会发生。这还需要人和大模型、机器之间不竭交互。
我们也但愿有一个更好的交互机制,或者我们会提醒大模型,一个月之前的需求是不是可以从头思考,从头生成,或者把一个月之前的答案再做改削与调整。
同时这点放到今天的语境里来看相对更复杂的一点是,有时开发者不止一个人。以前简单的模式是每个开发人员会有一个助手,但此刻可能是一个开发者拥有好几个机器人,甚至是机器人与机器人之间的协调。比来也有论文提到,去做一个类似打点人机交互过程,或者说是任务调剂的平台。
<hr/>全球开源技术峰会(Global Open-source Technology Conference,简称 GOTC)是由开放原子开源基金会、 Linux 基金会亚太区、上海浦东软件园和开源中国联合倡议的,面向全球开发者的一场昌大开源技术盛宴。
GOTC 2023 将于 5 月 27 日至 28 日在上海张江科学会堂召开。大会将以行业展览、主题发言、出格论坛、分论坛的形式展现,与会者将一起探讨元宇宙、3D 与游戏、eBPF、Web3.0、区块链等热门技术主题,以及开源社区、AIGC、汽车软件、AI 编程、开源教育培训、云原生等热门话题,探讨开源未来,助力开源成长。
进入官网了解更多信息,请访谒:https://gotc.oschina.net

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|T9AI - 深度人工智能平台 ( 沪ICP备2023010006号 )

GMT+8, 2024-11-21 22:07 , Processed in 0.057276 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表