作者:王强,张雅文
生成式 AI 技术正在为开发工作提供更加智能、高效的辅助。根据 InfoQ 最新调查显示,在采用生成式 AI 技术辅助编程的过程中,大多数开发者会使用多种 AI 编程助手结合的方式提高编程效率。在开发者高频使用的众多编程助手中,Amazon CodeWhisperer 是为数不多对于开发者完全免费开放使用的。那么,这款编程助手的表现究竟如何?
InfoQ 特别邀请了 20 余家公司的研发 1 号位、技术管理者畅谈他们使用 Amazon CodeWhisperer 工具改变开发工作方式的体验、收获和期待改进的部分。
这些见解将为我们揭示 AI 编程辅助工具在现代开发中的实际应用和前景。InfoQ 将访谈内容汇总成文,希望籍此带动更多从业者了解、使用编程辅助技术,推动生成式 AI 技术的普及与发展。
AI 编程助手的代码生成和补全功能最受开发者关注
虽然基于 AI 技术的编程辅助工具才刚刚诞生不久,但这类工具的迭代速度非常迅速,提供的功能可谓日新月异。那么,对于开发者而言,他们更重视、更多使用编程辅助工具的哪些能力来提升开发效率呢?
软件开发过程中经常会出现漏洞。当前的静态扫描方法的漏检率很高,希望 Amazon CodeWhisperer 的代码扫描功能可以大幅降低漏检率,从而显著降低企业在这方面的成本。
——扛造科技 CEO 陈冰
我的体会是比较深入的。我在四个月的深度使用中最满意 Amazon CodeWhisperer 根据上下文推测后续代码的准确度,而且工具提供的备选推测还可以帮助打开工程师的思路。
——蜂量科技 CEO 张子天
我经常使用代码补全功能,Amazon CodeWhisperer 在没有很多代码嵌套集成的环境中补全代码的功能是很好用的。
——某推荐算法公司 高级架构师 崔正文
Amazon CodeWhisperer 提供的根据评论和注释生成代码的效果非常不错,速度令人满意。
——智教互联公司 工程师 大聪
希望 Amazon CodeWhisperer 可以根据不同的场景去做性能优化。比如:注释生成代码环节,是可以接受等待的,甚至是去喝一杯咖啡。但是代码补全环节,需要的是即时的速度体验。是否可以针对不同的场景使用不同的模型?
——极客邦科技 副总裁 杨攀
总体而言,高级开发者最常用、最关注的功能是代码补全和代码生成。理想的编程辅助工具应该能够根据已有代码快速生成准确的补全结果,或根据提示词独立生成一段完整的、可以正常工作的程序代码。能够在这两项功能上提供较为完善体验的产品,更容易获得开发者的青睐。
易用性是决定 AI 编程工具成败的关键
易用性是决定软件成败的关键之一,面向程序员的专业编程辅助工具更需要良好的易用性。那么本次受访的嘉宾对 Amazon CodeWhisperer 提出了哪些易用性方面的建议呢?
一些受访嘉宾很重视工具快捷键的易用性:
Amazon CodeWhisperer 的一些功能实现快捷键可以提供更多选项,或者自定义能力,从而适应开发者的习惯用法。
——某大型互联网公司 资深技术专家 右军
开发者更希望辅助工具直接生成代码框架,而不是简单的代码片段:
希望 Amazon CodeWhisperer 在根据注释或提示生成代码时,可以一次生成一整个框架,方便程序员在其中一点点修改,而不是一次生成一小部分。
——旷视科技 团队 leader 蒋承知
我还希望生成的代码框架可以在插件的辅助下快速填充内容,使工程师可以便捷地生成每个功能模块。建议工具预置一些场景的框架代码,供开发人员按需选择。
——旷视科技 团队 leader 蒋霆
在测试中,注释语言的理解力有较大进步空间,尤其具有抽象属性的对象更难用自然语言形容,而用数学语言形容复杂抽象事物形成注释,不如自行编程。但 Amazon CodeWhisperer 的代码纠错、安全审查是亮点,这 2 个功能点可在不打扰现有 DevOps 流程的同时融入补充。
—— 知道创宇 总经理 王利伟
同样,经验丰富的程序员也会重视新工具的学习曲线:
希望 Amazon CodeWhisperer 提供一些视频引导,或者快速上手实践和案例,帮助程序员解决复杂一些的需求和任务。为 AI 编写提示词是比较专业的操作,如果能有新手引导会大大降低使用门槛。
——互联极简网络科技成都有限公司 CTO 马力遥
希望 Amazon CodeWhisperer 能为开发运维人员日常使用到的一些脚本命令提供提示,甚至可以用自然语言交互直接调用。
——微鲤科技 技术总监 樊伟伟
目前,编程辅助工具尚处于发展初期,产品易用性存在很多的改进空间,但是 Amazon CodeWhisperer 拥有强大的注释语言理解力和代码纠错、安全审查功能,这些功能点可以在不打扰现有 DevOps 流程的同时融入补充,同时,Amazon CodeWhisperer 的提示词编写操作比较专业,可以帮助开发人员快速编写出应用基础模块和功能的代码,拓展编程思路,节约开发时间。据悉,CodeWhisperer 未来将有可能响应开发者的反馈,加入更多高级能力,成为开发人员工作中不可或缺的智能助手,乃至于改变整个团队的开发流程和体验。
30 分钟上手云技能《Amazon CodeWhisperer 入门》
免费学习资料:https://explore.skillbuilder.aws/learn/course/external/view/elearning/16405/amazon-codewhisperer-getting-started?trk=d15c46ed-1e4e-4e8b-82c0-63ba2feb26b9&sc_channel=el
安全性和隐私保护决定 AI 编程助手是否能走进企业
基于云端 AI 能力的代码辅助工具在实际应用中无可避免会遇到隐私和安全挑战与信任难题。开发者担心使用工具的过程中代码上传到云端泄露,企业更担心上传的数据中包含敏感信息、企业机密、用户隐私等内容,这些信息传统上是尽量完全保留在本地的。一旦敏感信息被泄漏或利用,给开发者和企业造成的损失可能难以估量。
安全性和隐私保护是企业关注的焦点话题:
希望 Amazon CodeWhisperer 能支持私有化部署,彻底打消企业的安全顾虑。
——扛造科技 CEO 陈冰
戴尔公司禁止员工使用 AI 辅助编程插件,但员工连接到外网服务是可以允许的。公司将来可能会在边缘团队逐渐尝试云端编程助手。
——戴尔公司 团队 leader 周翔、林利
编程辅助工具用于训练模型的代码数据应该有版权保障,用户不能因为使用了这类工具而引入合规风险。希望工具开发厂商明确知识产权,打消用户的后顾之忧。
——成都与睿创新科技公司 高级架构师 张涛
我们主要服务金融客户,担心万一交付给客户的系统代码泄露了会造成非常大的影响。所以目前我们内部会有要求,只是允许我们自身的内部系统开发使用代码助手,涉及金融客户系统研发的项目不允许使用。
——东方金信 解决方案西区总监 梁强
也有一些技术管理者对云端工具的安全问题持开放态度:
我注意到 Amazon CodeWhisperer 的协议注明上传的数据不会被用于训练目的,所以可以接受这样的设置。
——G7 易流 研发总监 汪中
我们公司本身就是远程团队,相对比较开放,因此更容易接受 Amazon CodeWhisperer 这样的云端新品。
——Ideartrip 工程师 王润林
无论如何,需要在使用过程中向云端传输代码的编程辅助工具还是会存在信息泄漏的隐患。相比之下,亚马逊云服务一直将用户数据隐私保护和安全合规性放在云服务的至关重要地位,投入了大量资源确保云端敏感数据不会泄漏。Amazon CodeWhisperer 在这样的保障下,可以打消很多企业与开发人员的后顾之忧,让他们能够放心地利用前沿人工智能技术创造更多价值,提升企业竞争力。
更智能、更容易学习:来自资深工程师的改进建议
在这次访谈中,工程师们对 Amazon CodeWhisperer 以及其他编程辅助工具的未来前景表现出了极大的期望。
开发人员对 AI 辅助开发技术表现出极高的热情:
我们公司在体育科技领域深耕已久,团队积累了大量代码资产,所以,我希望编程辅助工具将来可以提供精简已有代码库、提炼精华内容供未来使用的智能能力。
——成都威威赛网络科技有限公司 CEO 李鹏飞
希望 Amazon CodeWhisperer 将来能够全面检查代码语法错误,并发现简单的隐藏逻辑漏洞。如果能提炼函数的功能点就更不错了。
——四川众力嘉华信息技术公司 工程师 冯麒麟
AI 编程辅助工具在教育行业的潜力:
小朋友将来可以利用 Amazon CodeWhisperer 快速编写代码,并使用自动生成的注释加强理解、快速学习。自动生成的注释可以大大减轻家长和老师教学儿童代码知识的负担,让儿童可以发展自学能力。
——骐源智能 联合创始人 李涛
AI 辅助编程正等待属于它的“奇点”时刻
通过与二十位具有丰富开发经验并在公司和团队中担任管理职务的嘉宾的访谈,我们可以看出,当前的软件行业对于 AI 辅助编程技术的态度仍然处于初步探索的阶段。然而,即便如此,一线开发人员仍然怀有极大的期望,期待像 Amazon CodeWhisperer 这样的服务在不久的将来能够满足他们的日常需求,显著提升开发流程中各个环节的生产效率。特别是对于那些有丰富经验的从业者来说,他们更加重视和期待编程辅助工具在企业生产力、团队协作能力以及开发人员职业生涯成长等方面产生的广泛影响。另一方面,虽然仍有很多用户对云端服务的安全性表示担忧,但也有不少企业开始认可这种解决方案,选择信任云厂商所提供的安全与隐私保障。
随着生成式 AI 技术的飞速发展,在可预见的未来,基于大模型的辅助编程服务甚至有望帮助程序员完成大部分低级重复编程任务。这样的时刻来临之际,AI 辅助编程也将迎来全面爆发,彻底改变软件行业格局。下一代程序员甚至在青少年时期就可能掌握高水平的编程技能,为软件行业注入更多热情和活力。我们也期待亚马逊云持续改进 Amazon CodeWhisperer 服务,将它打造成为 AI 辅助编程领域的标杆级产品,帮助千百万开发人员更好地完成工作、挥洒创意、加快行业创新步伐。