新时代的程序员,已经在用大模型写代码了

简介: AIGC 的背后,正是现在越来越火的大语言模型技术。接下来,就让我们一起来了解一下悟鸣和大模型技术的故事。

reqwg.png


“咔哒”,“咔哒”。


悟鸣在键盘上输入一个关键词,后面马上自动浮现出他接下来要输入的代码。


他快速地扫了一眼,感觉没什么问题,按下“Tab”键,代码从灰色变成正常,代表这些代码被采纳,成为他所编写代码的一部分。


这是他近段时间写代码的常见场景。


自动浮现出的代码来自于 AI 的预测,而这种神奇的能力,就来自于近来越来越火的生成式 AI(AIGC),只不过他所用的 CodeFuse 智能工具,属于程序员专用,是 AIGC 在研发领域的应用。


AIGC 的背后,正是现在越来越火的大语言模型技术。接下来,就让我们一起来了解一下他和大模型技术的故事。



与大模型结缘


AIGC 早在去年就有一阵爆火破圈,一名从未接触过绘画的男子,凭借某 AI 绘画工具,斩获一个绘画展大奖。从那时候起,就有很多人开始关注起 AIGC。


不过,悟鸣与大模型结缘,还要到今年年初。


2023 年刚过完年,有个朋友就和他说:“有个 AI 工具不仅能回答任何问题,还能写代码,贼厉害,快去看看!”


这里所说的 AI 工具,其实就是当时刚发布不久的 ChatGPT 3.5,这款 AIGC 工具和之前的 AI 工具相比,包括和它自己早期版本相比,在智能程度上都有天壤之别。


悟鸣开始还不以为然,因为他以前也琢磨过别的 AI 工具,但大部分都堪称“人工智障”,根本得不到他想要的结果。


当时他看到技术交流群里有人讨论遇到的一个难题,提出问题的同学百思不得其解,群里的其他同学不是不了解这一块内容就是也不知道啥原因,一时半会没有结果,悟鸣也不了解这一块技术,但是抱着试试看的态度,他把问题提交给 ChatGPT ,AI 很快给出了建议,他将结果转发到群里,该同学按照建议很快解决了问题。


“我当时的心情就是震撼。”悟鸣这样描述他的感受。


从那时候开始,悟鸣开始主动了解 AIGC 的一切,包括它背后的大语言模型技术。


悟鸣所从事的工作是 Java 开发,毕业工作两年后,他于 2021 年加入蚂蚁成为一名 Java 高级工程师,日常的主要工作就是写代码。


截屏2023-11-20 17.12.55.png


在业余时间,他也很喜欢分享,不仅是 CSDN 的博客专家,他所编写的电子书,还获得阿里云开发者社区 2022 年的下载量 TOP10.


在开始研究大模型之后,他写了很多相关的文章,还被蚂蚁技术学习成长中心邀请,面向全体技术同学进行直播,分享他对大模型的看法及使用技巧。


1700463625085-0a44833b-2904-4cd3-bfcb-ec6fd7de5ec7.png


越是了解大模型,他越是认为:“大模型的势头是不可阻挡的,我们只有学会拥抱它,才能适应接下来的时代。”


不过,在工作中,在今年的很长一段时间内,他都没有用 AI 去写代码。这是因为,公司对于外部的工具服务有严格规定,使用外部的这些工具,有安全和合规的风险。


不过幸好,蚂蚁的百灵大模型在紧锣密鼓的研发当中,基于它的智能研发助手 CodeFuse 在 6 月份终于在蚂蚁内部测试开放了。


当大模型遇上研发


悟鸣对 CodeFuse 期待已久,刚宣布就第一时间申请,因此他是第一批尝鲜的用户。尝鲜的感受如何呢?


“老实说,没有达到我的预期。”他如此回答。他接下来又解释说,他知道当时开放出来的 CodeFuse 只有 7B 版本,也就是 70 亿参数,相较于外界动辄数百上千亿参数的大模型,其能力有所不及也是正常的。

而且,当时 CodeFuse 只推出了网页版本,用户在网页上提问和获取答案,这和程序员写代码的习惯不符。


不过,他对 CodeFuse 还是充满期望的:“大模型的发展速度太快了,有人说,大模型一日,业界一年,你不能用固定的眼光来看它,我相信 CodeFuse 过段时间就能够正常用了。”


不得不说,他的这番预测十分正确。仅过了 4 个月,再次内测的 CodeFuse 不但在模型参数上提升了好几倍,还开发了 IDE 插件,让开发者在使用顺手的开发工具时,能随时使用 CodeFuse 的能力。


10 月 24 日,在经历过内部检验后,CodeFuse IDE 插件开始对外邀请测试。其开放的能力包括代码补全、解释代码、代码注释、优化代码、生成单测等。


1700463556019-5d1403de-a6b4-44a3-91a0-926c9f7ea7f8.png


在这些能力中,悟鸣最喜欢的就是代码补全。


“你知道吗?当助手预测的代码和你想的一模一样的时候,那感觉真是太棒了!”说起这点时,他不禁眉飞色舞:“就像和 AI 心灵相通似的,你和电脑合二为一,忘记了其它的一切。”


这段描述如果用专业的话说,其实叫做“心流”,就是指人在做事时进入了一种浑然忘我的状态,在这种状态下,做事的效率大大提升。


心流,是很多专业人士所渴望的一种状态,有些人不惜花费巨额代价改善工作环境,就是为了提升进入心流状态的几率。而照悟鸣的话讲,基于大模型的研发助手,也有机会让人们进入心流状态。


不过,让悟鸣遗憾的是,CodeFuse 的其它功能暂时还没有给过他这样的体验。比如生成单元测试代码,生成的代码需要花很多时间去修改调整,有些时候还不如自己写的效率高。这里面的一个重要原因是,蚂蚁的代码库过于复杂庞大,需要很多特殊配置,而目前的 AI 助手在面对这样的情形时,尚且力有不及。


当然,悟鸣也相信,CodeFuse 的能力还会持续提升,所遇到的问题都会改善或解决。


悟鸣甚至还畅想,有一天 CodeFuse 不仅仅可以用来写代码,还可以用来做整个研发周期的事情。比如,在研发还未开始时,需要讨论需求,根据需求进行系统设计,然后才是写代码,在写完代码后还要审查,联合调试,部署、运维等等。很多时候,往往是这些步骤消耗的时间最多,出的问题也最多。如果 CodeFuse 能介入到这些环节,毫无疑问能够进一步提升大家的效率。


其实,CodeFuse 也的确是按照这些方向在走的,这从它的命名为“研发助手”而非“代码助手”就能够看出一二。


在访谈的后面,我还向他请教了使用 CodeFuse 的一些技巧。



使用 AI 研发助手的三个技巧


第一个技巧是,你要放低对 AI 的期望。”悟鸣对我说。为什么这么说呢?


他解释道,现在的大模型,如果拿人来打比方,就相当于 8、9 岁的孩子,虽然已经有了一些智力,但仍然处在早期阶段。


如今,AIGC 和大模型在外界的炒作如同火上浇油,正在极度火热的时候,经过这些宣传,很多人对大模型的期待被调到很高。当获得的答案一旦有不符合心意的地方,其缺陷就会被无限放大,态度从极度追捧转向极度贬低,并且不愿意再度尝试。


“只有多尝试才会获得像我之前那样的震撼时刻,一旦经历过,你就离不开它了。”


悟鸣拿 CodeFuse 举例,当刚开始使用代码补全的时候,总是 get 不到助手会在什么时机生成预测代码,怎么写注释可以更好地生成想要的代码。直到多次尝试后才用得顺手,获得某种默契,AI 助手真正和他融为一体。


第二个技巧是,让 AI 助手融入自己的工作流。就像之前的 CodeFuse 网页版,大家只会以各种奇葩问题去测试,以获得错误回答为趣,但其实这样既对自己无益,对大模型的提升也没有帮助。


“CodeFuse IDE 插件的代码补全之所以好用,是因为它的预测代码是自动的,然后你只需要按下 Tab 键就可以采用,这样,你自然就会用它来工作,写正常的代码。”悟鸣解释说。


因此,遇到一个新的 AIGC 工具时,不妨思考它有没有机会帮助自己做事的某个环节,只有这样,你才会将它用起来。


第三个技巧,悟鸣认为是勇于尝试。大模型领域的发展太快了,即使是同一个 AI 工具如 CodeFuse,过几个月它的能力也将截然不同。如果不用发展的眼光看待这些工具,你所收到的局限会非常大。


悟鸣举了个例子。他和一些用 CodeFuse 的同事交流过,很多人只用过 CodeFuse 的代码补全功能,连它有右键菜单和侧边栏都不知道。如果用上这些功能,说不定会对自己的某个场景有所帮助。


另一点是,勇于尝试自己的专业领域之外的 AI 工具。比如设计师可以用 CodeFuse 来进行一些简单的开发,或者在现有的 AI 能力之上、将不同的 AI 工具组合起来去实现新的事情,一旦做出的东西有价值,在当前的风口下,有可能实现意想不到的成功。



未来已来


最近,悟鸣有一个烦恼。


具体是,他在犹豫,要不要将大模型相关的知识教给自己 8 岁的外甥。


网络上有一派观点认为,过早的接触大模型会毁掉年轻人,因为大模型将思考的过程省略了,直接给你答案。长此以往,一旦失去大模型,这些人将一无是处,无法以自己的能力做任何事情。


但悟鸣认为,事情有两面性。比如,他曾经利用 AIGC 工具学习新的知识时发现,在这些 AI 工具的助力下,他学习的效率要高得多。学会这些知识之后,它们并不会消失,那为何不使用更有效的办法呢?


“是否用大模型,其区别在于你有没有思考。”悟鸣在使用 CodeFuse 的时候,并不是无脑的接纳代码补全的内容,而是确认正确之后才会使用,在这个过程中,他的大脑是高速运转的。


在悟鸣的想象里,大模型及 AI 最终的样子,可能是《流浪地球2》里的 MOSS 那样,并且这个趋势是不可逆转的。


1700463709328-793889d4-e2ac-4458-a935-778fb9c11e65.png


“使用大模型的人效率提高,会在竞争中战胜那些没有使用大模型的人,连组织也不会例外,因此大模型技术一定会普及。”悟鸣有一个切身的体会,他所创建的那个开发者学习交流群里,自从各种大模型发布后,大家都安静了许多,因为遇到问题,直接去问 AI 助手好了,比在群里交流更高效便捷。


抱着这样的信念,他成为大模型身体力行的支持者,并且在他的带动下,他工位左右的同事们已经都用上了 CodeFuse。


未来已来,希望我们每一个人,都不会错过这场盛宴。


文章中提到的 CodeFuse,正在面向开发者火热邀测中,欢迎在官网提交申请:

https://codefuse.alipay.com/

目录
相关文章
|
人工智能 测试技术 开发者
软件测试/人工智能|Python函数与调用:解放编程力量的关键
软件测试/人工智能|Python函数与调用:解放编程力量的关键
|
2月前
|
设计模式 测试技术
从代码中学习:我的技术成长之路
【9月更文挑战第30天】在编程的世界里,每一行代码都像是一次小小的探险。本文将带你走进我的编码之旅,一起探索如何通过实际的代码示例来提升技术能力。我们将从简单的Hello World开始,逐步深入到复杂的项目结构,并分享在这个过程中遇到的挑战和收获的经验教训。这不仅是一个关于技术的学习之旅,更是一个关于如何面对困难、持续进步的心路历程。
|
3月前
|
设计模式 算法 数据库连接
代码中汲取智慧,编程之旅与技术
在软件开发中,设计模式提供了解决常见问题的标准化方案,有助于提升代码质量和系统灵活性。本文详细介绍了PHP中的三种设计模式:单例模式、工厂模式和策略模式。单例模式确保类仅有一个实例并提供全局访问点,适用于管理共享资源;工厂模式封装了对象创建过程,降低系统耦合度;策略模式定义了一系列可互换的算法,便于算法切换。通过具体示例展示了每种模式的实现方法及其应用场景,帮助PHP开发者更好地理解和应用这些模式。
30 7
|
7月前
|
机器学习/深度学习 设计模式 SQL
编程之路上的飞跃:那些让我技能显著提升的关键概念与技术
编程之路上的飞跃:那些让我技能显著提升的关键概念与技术
74 10
|
4月前
|
JavaScript 前端开发 安全
TypeScript:编程界的革命宣言,如何用它重塑你的代码王国?
【8月更文挑战第22天】TypeScript是由微软开发的JavaScript超集,自2012年发布以来,通过引入类型安全与面向对象编程特性,极大地提升了开发效率与代码可靠性。它允许开发者在编译阶段捕获错误,支持接口与类定义,具备高级类型如联合与交叉类型,并且拥有枚举、装饰器等功能。此外,TypeScript的模块系统便于大型项目的组织与管理,结合异步编程支持,使得复杂应用开发更加简洁明了。
29 1
|
4月前
|
人工智能 算法 数据安全/隐私保护
探索技术的本质:从代码到创新的旅程
【8月更文挑战第19天】在技术的海洋中,我们常常沉浸于代码的编写与算法的优化,却忽略了技术背后的深层含义。本文将通过个人的技术感悟,探讨技术不仅仅是工具和语言的结合体,更是连接思想与现实的桥梁。我们将一同回顾技术如何塑造我们的思考方式,以及它如何影响我们的生活和工作。
|
6月前
|
人工智能 程序员 开发工具
《AIGC+软件开发新范式》--06.“AI 程序员入职系列”第二弹:如何利用通义灵码光速改写项目编程语言?
在AI 热度持续上升的当下,阿里云推出AI智能编码助手—通义灵码。通义灵码是一款基于阿里云通义代码大模型打造的智能编码助手,基于海量优秀开源代数据集和编程教科书训练,为开发者带来高效、流畅的编码体验。
170 0
|
7月前
|
设计模式 人工智能 算法
在程序员的道路上,什么关键的概念或技术让你感到自身技能有了显著飞跃
【5月更文挑战第1天】在程序员的道路上,什么关键的概念或技术让你感到自身技能有了显著飞跃
|
6月前
|
人工智能 开发框架 算法
AI程序员革命:探析Devin的登场与编程未来
AI程序员革命:探析Devin的登场与编程未来
187 0
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
ChatGPT发展到了什么程度?代码生成,程序员将被取代?
ChatGPT发展到了什么程度?代码生成,程序员将被取代?
71 0