“咔哒”,“咔哒”。
悟鸣在键盘上输入一个关键词,后面马上自动浮现出他接下来要输入的代码。
他快速地扫了一眼,感觉没什么问题,按下“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 高级工程师,日常的主要工作就是写代码。
在业余时间,他也很喜欢分享,不仅是 CSDN 的博客专家,他所编写的电子书,还获得阿里云开发者社区 2022 年的下载量 TOP10.
在开始研究大模型之后,他写了很多相关的文章,还被蚂蚁技术学习成长中心邀请,面向全体技术同学进行直播,分享他对大模型的看法及使用技巧。
越是了解大模型,他越是认为:“大模型的势头是不可阻挡的,我们只有学会拥抱它,才能适应接下来的时代。”
不过,在工作中,在今年的很长一段时间内,他都没有用 AI 去写代码。这是因为,公司对于外部的工具服务有严格规定,使用外部的这些工具,有安全和合规的风险。
不过幸好,蚂蚁的百灵大模型在紧锣密鼓的研发当中,基于它的智能研发助手 CodeFuse 在 6 月份终于在蚂蚁内部测试开放了。
当大模型遇上研发
悟鸣对 CodeFuse 期待已久,刚宣布就第一时间申请,因此他是第一批尝鲜的用户。尝鲜的感受如何呢?
“老实说,没有达到我的预期。”他如此回答。他接下来又解释说,他知道当时开放出来的 CodeFuse 只有 7B 版本,也就是 70 亿参数,相较于外界动辄数百上千亿参数的大模型,其能力有所不及也是正常的。
而且,当时 CodeFuse 只推出了网页版本,用户在网页上提问和获取答案,这和程序员写代码的习惯不符。
不过,他对 CodeFuse 还是充满期望的:“大模型的发展速度太快了,有人说,大模型一日,业界一年,你不能用固定的眼光来看它,我相信 CodeFuse 过段时间就能够正常用了。”
不得不说,他的这番预测十分正确。仅过了 4 个月,再次内测的 CodeFuse 不但在模型参数上提升了好几倍,还开发了 IDE 插件,让开发者在使用顺手的开发工具时,能随时使用 CodeFuse 的能力。
10 月 24 日,在经历过内部检验后,CodeFuse IDE 插件开始对外邀请测试。其开放的能力包括代码补全、解释代码、代码注释、优化代码、生成单测等。
在这些能力中,悟鸣最喜欢的就是代码补全。
“你知道吗?当助手预测的代码和你想的一模一样的时候,那感觉真是太棒了!”说起这点时,他不禁眉飞色舞:“就像和 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 那样,并且这个趋势是不可逆转的。
“使用大模型的人效率提高,会在竞争中战胜那些没有使用大模型的人,连组织也不会例外,因此大模型技术一定会普及。”悟鸣有一个切身的体会,他所创建的那个开发者学习交流群里,自从各种大模型发布后,大家都安静了许多,因为遇到问题,直接去问 AI 助手好了,比在群里交流更高效便捷。
抱着这样的信念,他成为大模型身体力行的支持者,并且在他的带动下,他工位左右的同事们已经都用上了 CodeFuse。
未来已来,希望我们每一个人,都不会错过这场盛宴。
文章中提到的 CodeFuse,正在面向开发者火热邀测中,欢迎在官网提交申请: