开发者们苦代码久矣。
不确定的开发周期,不断拖延的上线时间,以及不时出现的Bug,俨然成了当下最卷的岗位之一。
但在一个月前的百度AI开发者大会上,百度创始人李彦宏在介绍完基于文心大模型的智能代码助手Comate后表示:“自然语言将成为新的通用编程语言,只要会说话,就可以成为一名开发者;未来开发应用就像拍个短视频一样简单。”
由此引出了这样一个话题:“用嘴编程”的智能代码助手百度Comate,可以为开发者们提供什么样的能力,能否让他们从繁杂且琐碎的任务中解放出来?
作为大模型最早落地的一批场景,“代码助手”可以说是现阶段最成熟的应用。
其中基于文心大模型的智能代码助手百度Comate,已经在百度内部悄然上岗一年,并于2023年6月正式开放邀测,2023年10月24日全面对外开放,2024年3月正式升级到2.0版本。
不单单是百度在布局,Github Copilot、Codeium、CodeWhisperer等产品也陆续上线。甚至有产品上线半年时间,估值就超过20亿美元,再次刷新了独角兽的诞生速度。
一个有趣的现象是,不少“代码助手”在宣传中往往采用这样的话术:研发效率提升了XX%,帮助开发者节省了XX%的测试时间,代码生成速度比人工提升了XX%……无不将效率提升作为产品卖点。
百度CTO王海峰在不久前举办的2024中关村论坛年会上对外公布了一组不同的数据:“目前智能代码助手Comate整体采纳率达到了46%,新增代码中生成的比例已经达到了27%。”
两组数据的差别到底在哪?
先来回顾下“代码助手”的常见功能,普遍集中在代码补全、生成注释、文档阅读等方面,在“提效”上有着不可小觑的想象空间。以模糊检索为例,过去想要找到一个问题的答案,需要仔细阅读三四篇博客,花费几个小时的时间,如果将这项工作交给AI,可能只需要几分钟,呈现出了碾压性优势。
代码的采纳率却另一个议题,比拼的不仅是生成速度,还关系到开发者群体的核心痛点,生成的代码有没有缺陷,能不能采用,是否可以提升代码的整体质量。打个比方的话,“代码助手”要解决的不只是造轮子的问题,而是造出需求规格极为明确的轮子,并且不能出现漏气、鼓包、断裂等情况。
为何百度Comate可以做到46%的整体采纳率?原因或许可以归结为两点:
一是文心大模型的能力。正如李彦宏在《人人都是开发者》的主题演讲所谈到的:“近几个月来,文心大模型在代码生成、代码解释、代码优化等通用能力方面实现了进一步的显著提升,达到国际领先水平。”相对应的,开发者只需要“动动嘴”,百度Comate就能完成推荐代码、生成代码注释、查找代码缺陷、给出优化方案等工作。
二是百度Comate的产品力。正如外界所熟知的,数据质量直接影响着模型的能力,百度Comate结合了百度积累多年的编程现场大数据和外部优秀开源数据,可以生成更符合实际研发场景的优质代码,并且有着更好的适用性:支持100多种主流编程语言、所有主流IDE平台,覆盖编程前、后、移动端、软硬件等不同开发场景。
截止到目前,百度Comate已经服务了百度内部80%以上的工程师,并广泛应用于喜马拉雅、软通动力、上海三菱电梯等上万家企业。一场“用嘴编程”的革命,已经呈现出了星火燎原之势。
和其他代码助手类产品不同的是,百度Comate更像是量身定制的私人助理。
在开发者的日常工作中,写代码只占整个开发过程的40%,需求分析、架构分析、测试、运维等占据着60%的精力。倘若只停留在代码层面,对生产力的提升有着肉眼可见的天花板。百度Comate的答案并不复杂,简单来说就是从需求文档到版本管理在内的研发全流程进行提效。
直接的例子就是3月份的产品升级,百度Comate新增了两个重磅能力,服务边界进一步延伸到研发的更多环节。
一个是Comate+开放平台。
百度Comate生成的代码,在百度新增代码中的比例从2023年11月的20%提升到2024年4月的27%,一个不可或缺的操作在于,百度Comate结合了百度的技术选型和编码规范,可以推荐更符合规范的代码。Comate+开放平台的作用,就是将这样的能力赋给每一个用户。
借助Comate+开放平台的私域知识增强功能,可以轻松对接企业的私域知识。如果企业有特定的代码规范或编写方式,将这些知识上传到Comate+平台,并与相关功能进行绑定,即可充分利用企业的私域知识进一步提升其准确率。以飞桨PaddlePaddle为例,应用私域知识增强功能后,代码生成的准确率从60.5%提升到了81.5%。
除此之外,Comate+开放平台还能直接对接第三方服务或能力,包括GitHub、GitLab、Gitee等插件,可通过插件自动获取当前项目变更内容,自动分析当前仓库的issue列表,有效提升编程体验与效率。
另一个是AutoWork私人研发助理。
Comate+开放平台打通了企业的私域知识,AutoWork则扮演了“私人研发助理”的角色,深入理解本地代码库和组织内部的私域知识,并以智能问答、结合私域知识生成代码等方式为开发者服务。开发者只需要明确开发的“目标”和“意图”,AutoWork便能自动检索必要的背景知识、独立分析产品需求,匹配最佳解决方案并生成代码。
比如开发者需要掌握新代码库时,无需翻阅大量文档去理解复杂逻辑,可以直接和代码库“聊天”,用问答的方式要求AutoWork梳理代码架构,然后就会看到清晰完整的解释,实现“哪里不懂问哪里”。
再比如开发者可以挂载指定的开发文档、需求文档、API 文档等,通过文心大模型的能力对私域研发知识进行快速理解、分析和应用,让“花费大量时间去翻阅文档”成为一种过去时,开启“一键式”高效编程的新体验。
做一个总结的话,百度Comate正在塑造一种全新的人机协同范式,在保障数据安全的前提下,实现对企业私域知识连接和个性化需求的深层次满足,就像量身定制的私人助理一样,可以无缝集成到研发流程的各个环节,全方位提升开发者的体验和效率。
对于开发者而言,在“用嘴编程”的时代,想要不被淘汰,就要学会使用“新工具”。
很长一段时间里,“程序员”都是高薪岗位的代名词,以至于许多人归因于代码,掌握了代码就相当于有了改变世界的能力,进而获得相应的回报。
按照第一性原理解释的话,“代码”的作用只是解决问题的工具,开发者最有价值的技能并非是编写代码,而是分析问题并找到合适的方案解决问题。
沿循这样的逻辑,诸如人工智能取代程序员的说法,本身就是一个伪命题。因为生产力的提升是无止境的,石器时代的斧头,无法适应青铜器生产的需要;农业时代的耕牛,拉不动纺织厂里的机器......
在人工智能无处不在的世界里,“编写代码”将不再是开发者的首选工具,取而代之的是百度Comate代表的、帮开发者解决问题的“新工具”。
可能不少人还在存疑,但一些第三方报告,已经给出了确切的答案。
Stack Overflow的调查显示,目前44%的软件工程师已经在开发流程中使用AI工具,26%的工程师已经将AI工具列入计划;权威咨询机构Gartner预计,过半组织正在使用或已经部署AI驱动的编码助手,预计到2028年将有75%的开发者离不开编程助手。
相对乐观的是,百度Comate正不断降低门槛,开发者和“新工具”的距离,已经被压缩为三个步骤。
第一步,打开百度Comate官网,点击“免费使用”或“下载安装”;
第二步,根据官网上的提示安装Comate插件,目前已支持Visual Studio Code、JetBrains IDEs、Xcode等三种方式;
第三步,安装完成后登录百度账号,开启智能代码之旅。
因为快速上手的特性,以及百度Comate的产品体验,收获了国内外开发者的普遍好评。
有开发者在社区中分享了自己的使用心得:
从Comate整体表现来说,我是要给五星好评的,我最喜欢的就是自动提示后续代码的生成。
为什么这么说,在我们写代码的时候往往要考虑后续的代码编写,Comate能给我们提示,直接采用之后只需要稍微改动就可以,真正的达到了提质增效的效果。
也有开发者和国外产品进行了横向对比:
Comate带给我有不错的体验感,相对于Continue + ollama + codellama:7b的生成速度是快很多的,并且代码质量很好,给出的参考建议也是很合适。
最主要的是Comate不需要第二次提示就可写出代码!!!而且首月只需要1元,专业包年4开头对比Copilot99美金年费也是很优惠!并且可以使用个人免费版。
对比其他使用的AI助手:
从代码质量角度:Copilot = Comate >= Continue + ollama + codellama:7b
从生成速度角度:Comate > Copilot > Continue + ollama + codellama:7b
此外,在VSCode、Jetbrains等各大插件市场智能助手评分榜中,百度Comate分别以4.5和4.4位列第一,通义灵码位居第二、第三, CodeGeeX、iFlyCode、aiXcoder、GitHub Copilot等跟随其后。
再来理解李彦宏的观点,“用自然语言编程”、“人人都是开发者”等观点非妄断。在百度Comate的帮助下,“开发”的含义不再是孤独地敲打键盘,而是想出一个解决方案,并用简单的日常语言表述它,然后在百度Comate的辅助下把它创造出来。
由此可以预见,“开发者”的概念将再次刷新,和“程序员”一词渐行渐远,演变为技术与商业、创意和实现之间的“摆渡者”。一个优秀开发者的衡量标准,不是编写了多少行代码,而是如何使用“新工具”把想法变成现实,如何使用“新工具”解决现实世界的复杂问题。
在人人都可以“用嘴编程”的时代,开发者不会被淘汰,但那些不会使用“新工具”的守旧派,将不可避免地被淹没在时代的烟尘中。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。