在软件开发领域,大模型驱动的智能代码生成技术已成为研究热点,引起了广泛关注和探索。
开源中国邀请到
百度工程效能部前端研发经理杨经纬
,从一款 AI 编程助手 —— 文心快码(Baidu Comate)前端工程师的角度,分享了关于智能研发工具本身的研发历程和理念。
“在续写基础上,人机协同已经进入到了下一个阶段”
我目前负责工程效能部的前端团队。团队主要负责前端方向,也就是部门里面所有产品的前端展示部分,本身也包括文心快码 Baidu Comate(以下简称 Comate)的端、以及前端的建设等等。
作为离用户最近的研发角色,我们确实能够更明显的感知到在 AI 时代,工作方向的一些变化。
比如之前会使用低代码的方式进行提效,在生成式 AI 出现之后,其实会更多的结合 AI,进行自然语言生成代码、或者图像转代码的探索。
随着大模型应用的迅猛发展,各行各业都在积极拥抱 AI。其中的智能代码助手方向属于跑在比较前面的梯队,落地非常迅速。
目前在百度内部,借助 Comate 的支持,在百度内部已有约 30% 的代码由 AI 生成,可以看到提效效果是非常明显的,而且未来提效作用还会持续增长。
Comate 在集团内的落地效果
从最初的 7%,到 20%,再到最近的 30%
,可以看到稳步落地的节奏,这个还是比较符合预期的。
落地的过程比较顺利,一个是主要能力续写没有影响到工程师的原有研发行为习惯,另外工程师们配合度还是比较高的,这个还是要感谢同学们的支持。
从用户的使用情况来看,
用户在当前阶段使用最多的还是代码续写场景
,续写本身延续了用户原有的编码行为,不改变用户行为习惯,所以用户接受起来是最快的。
我们在续写功能方面也投入了比较多的精力进行打磨,通过 SFT 精调、RAG 知识加强、工程现场感知、工具平台开放性等增强推荐准确率,通过对端、网关、服务端及大模型等多层的性能优化来提升推荐速度,使用户在使用的时候得到最快和最准确的推荐结果。
当前产品用户满意度达到 90%,采纳率达 46%。
从智能研发的阶段来看,续写是我们从去年就开始推广落地的能力,产品力与用户认知都相对比较成熟。
在续写基础上,在人机协同的新模式探索方向上,我们已经进入到了下一个阶段 —— 非续写模式的探索与落地。比如说 NL2Code 自然语言生成代码、注释生成代码、或者自主引导端到端全流程的 Agent 智能体,这种从无到有,从 0 到 1 的模式,和从已写的部分进行补全的模式相比是有本质区别的,能够更大程度上帮助工程师进行提效。
测试领域就是一个比较典型的例子,通过 Comate 能够根据业务代码,直接生成单测、自动化测试用例等,当前典型场景的集团试点业务覆盖率已经达到了 29%。
另外我们发现,更多企业也开始关心智能研发助手是否能与企业私域能力进行结合,目前通过 Comate 的开放平台,企业可以将自有平台和流程无缝衔接到编程现场,在集团内部多个业务协作中都达到了 70% 以上的提效效果。
我们认为对关键研发动作自由进行调度,也将是实现未来研发智能体的一个基本前提。
在多种非续写模式的推动落地作用下,当前集团的非续写占比已经达到了 35%。
在探索的过程中,我们持续思考的一个问题是,智能研发的发展路径是什么样的?
从当前生成式 AI 的能力与发展来看,AI 将显著推进软件研发智能化进程。软件研发智能化变革的一个核心点是责任的转移。
当前,Comate 的智能研发能力已经在一些研发核心环节和场景下达到了 AI 可接管的效果,我们已经由 No Assistant 的全人工状态迈进到 Partially Automated 的半自动化人机协同状态,处在人与机器的责任转移中间状态。
未来 AI 的学习与泛化、反思、规划等能力将进一步增强,接管更多研发中的核心环节与场景。
最终,人与机器的协同关系而也将迎来变革,由人机协同变为无人值守,AI 接管研发全流程。
在此之前,我们必须需要提前做好预判和准备。如何进一步探索人机协同新模式,让工具进化成为越来越聪明的成员,并且在探索形式上取得成功的落地,是我们持续要回答的一个问题。
除此之外,我们也为用户提供了非常丰富的高级能力,比如当你对于新接手的项目并不熟悉时,Comate 可以帮助你进行全面的解读,对每一个模块分析与解释,再配合上代码解释能力,解释详细代码,显著缩短了熟悉项目和代码的时间。
再比如对于编码新手,Comate 也十分友好
,我记得在 wave 大会上有一个用户,她不是研发工程师,但由于实际项目需要,想要搭建一个框架。我在现场给她演示了如何在 Comate 上传框架知识,并基于知识集进行提问。比如我们问某框架应该如何搭建,Comate 会给出从安装、初始化、配置、写代码、调试、构建、发布等每一个流程的步骤,详细给出每一行命令或代码,手把手教学。用户当场表示这个能力真不错,回去就试试。
我们对于用户做了不少调研,其中也包含用户画像的分析。我们的用户范围还是比较广泛的,包括学生等初级研发群体、涉及到代码编写的泛研发群体、以及各个行业的研发工程师等专业研发群体。
互联网领域的研发工程师用户相对较多,占到 60% 以上,也是和我们通常认知是一致的
。
产品刚出来的时候,有不少用户都感觉到惊艳,但是随着逐渐渗透和落地,用户对我们也提出了更高的要求。
首先开发者普遍对于产品的核心能力还是比较关注的,也是行业普遍在加速探索的,如何更好更快地推荐更准确的代码,我们也会在这个方向上持续加速建设,为大家提供更懂用户,体验更流畅,更加智能的产品。
更多好用的能力,欢迎大家来到演讲现场一起交流。
杨经纬将在 7 月 27 日,出席由开源中国主办的
【AI 编程革新研发效能】OSC 源创会・杭州站・105 期线下沙龙活动
,分享《百度智能代码助手文心快码 Comate 落地实践》,揭秘文心快码 Comate 智能代码助手的核心能力,并探讨其在百度内部的实际应用和落地经验。
报名地址:
https://www.oschina.net/event/2332361
问:
预计开发者能从这次演讲中获得哪些收益?
杨经纬:
- 了解如何利用 Comate 在企业中有效落地,进行研发全链路的提效。
- 了解百度智能研发新范式的探索路线与落地经验。
- 作为智能研发时代的开发者的视角,如何合理、高效地使用工具提升自己的编码效率。
温馨提示
: 听众可以自备电脑,试一试现场提到的感兴趣的能力。
在 IDE 中下载 Comate 插 件即可,在
kuaima.baidu.com 或 comate.baidu.com 官网上也可以找到下载方式。
关于 AI 编程助手开放性建设的思考
在我们已经进入了 AI 原生时代后,可以看到随之产生的一些新的生产元素,比如 prompt、大模型等等,前后端的边界越来越模糊,也带来了非常多新的机会,所以团队一直秉承着 “不给自己设限” 的原则,持续探索不同的方向,包括部门产品的用户体验建设、Comate 的开放性建设,目前也在探索从前端角度,比如上下文工程方向,如何更好地提升推荐效果等等。
以 Comate 开放性建设为例,Comate 希望将自己的能力对企业进行开放,支持进行知识扩展与能力扩展,使得企业可将能力直连编程现场,并基于文心大模型、现场信息打造自己的定制化能力,建设更适合企业的研发助手。
因为我们做这件事情在行业内是非常早的,需要从头定义我们如何开放能力,开放什么能力,企业与开发者能够从开放性中获得什么,如何能给开发者提供更高效的集成环境等多方面的问题,所以也比较有挑战。
团队同学一边持续优化更适合业务和开发者的开放平台,一边与大量业务频繁沟通,不断调整方向与细节,逐步探索出了百度智能小程序、Paddle、Jarvis、GDP 等典型标杆场景。
其中多个场景提效效果超过 70%,能力覆盖多个体系,集团内部已经累积发布 19 个插件,61 项能力。
Comate 的开放性让更多应用结合模型落地细分场景,打造了更适合业务的产品能力,也为人机协同新范式开拓了新的方向,实现了与业务的共建共赢,受到业务广泛好评。
以 Jarvis 为例,原本部署需要在多平台间跳转操作完成,集成到 Comate 后,只需要一键部署,而且部署时长也从 15 分钟降低到了 5 分钟以内。
除了实际提效的效果以外,在很多项目落地后,我们能够真实的看到研发同学发自内心的好评和自发的拉动新用户使用,这个对于项目的参与同学来说,是非常受到鼓舞的,我们也能更深刻地感受到做这件事情为开发者带来的意义。
在进行 Comate 开放性建设过程中,我们也看到,企业对于智能助手的诉求是逐渐被培养起来的,最初企业用户的关注焦点主要集中在续写场景,但在实际落地后,更多企业会逐渐开始关心,智能研发助手是否能与企业本身的研发流程进行结合,做更适合企业的研发助手。这也是我们进行 Comate 开放性建设的初衷。
在未来人机协作模式的模式中,大模型通过开放平台无缝衔接研发流程,对关键操作环节自由进行调度,将是未来研发助手智能体的一个基本前提。
我们也欢迎企业和开发者们加入我们,共同打造以编码环节为中心的研发生态,探索人机协同的新模式。
人机协同的新模式应该是什么样的?
Comate 在国内推出的比较早,并且在去年已经进行了集团内的全面落地,在百度内部已有约 30% 的代码由 AI 生成,集团落地效果非常显著。
在实际落地效果领先的基础上,Comate 已经迈入下一个阶段 ——
进一步探索人机协同新模式
,做更懂你的智能代码助手。
目前 Comate 可以连接企业私域进行量身定制:
首先,Comate 能够进行知识增强,Comate 可以基于企业的代码库等私域知识,利用 RAG 检索增强生成技术,生成带有业务特性的代码;
其次,Comate 可以进行业务能力连接,通过 Comate 开放平台,不仅能够定制产品能力,比如自定义 prompt 等,还可以将业务自有平台能力或第三方能力集成到 Comate 当中,结合 Comate 提供的底层文心大模型能力进行能力的智能化建设,把工程师的工作集中在编码现场,减少跳出,提升工程师的幸福感与效率;
另外,企业可以通过 Comate 与文心大模型进行连接,并对模型进行一定程度增强,低成本的将智能化能力覆盖到研发的各个环节中。
通过以上知识增强、能力增强、模型增强三层能力
,结合深度解读代码库、直接拆解需求生成新代码、无缝对接企业现有能力与需求、低成本自助定制等多重高级能力,打造企业专属智能代码助手。
另外,Comate 前一阵刚刚发布了中文名文心快码,从这个名字中可以看出 Comate 的特点:研发速度快、企业落地快、赋能创新快。
一、研发速度快
:在 Comate 的知识构建方面,由上百位技术专家进行标注,内置 1000+ 常见编程语言、技术框架、业务组件的官方文档, 1W+ 高星开源代码库, 10W+ 各类平台 API ,梳理出各类开发者日常开发中所需的知识类别和知识来源,以此我们构建了覆盖整个研发场景的知识体系。
除了传统的 Embedding,我们针对各类编程语言分析语法结构、提取函数调用链、总结代码元信息,为各个功能场景提供最适合的上下文生成;
为了充分的利用这些知识,我们构建了面向不同技术栈、不同研发场景的 Agent,通过深度理解用户意图,从多个 Agent 中筛选出最适合解决当前用户问题的 Agent,如 Java 专家 Agent。
每类专家 Agent 都有其独特的知识体系和调度方式,为开发者提供更加具象、更加专业的解决方案。