超越传统续写模式:AI编程距离智能研发终态还有多远?

2024年 7月 23日 38.4k 0

在软件开发领域,大模型驱动的智能代码生成技术已成为研究热点,引起了广泛关注和探索。开源中国邀请到百度工程效能部前端研发经理杨经纬,从一款AI编程助手——文心快码(Baidu Comate)前端工程师的角度,分享了关于智能研发工具本身的研发历程和理念。

超越传统续写模式:AI编程距离智能研发终态还有多远?-1

“在续写基础上,人机协同已经进入到了下一个阶段”

我目前负责工程效能部的前端团队。团队主要负责前端方向,也就是部门里面所有产品的前端展示部分,本身也包括文心快码 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

超越传统续写模式:AI编程距离智能研发终态还有多远?-2

 

问:预计开发者能从这次演讲中获得哪些收益?

杨经纬:

了解如何利用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 都有其独特的知识体系和调度方式,为开发者提供更加具象、更加专业的解决方案。

二、企业落地快:通过将企业的知识、工具和研发流程,与 Comate 提供的基座能力相结合,使得 Comate 能力与企业更好的匹配融合。首先,Comate 的代码安全能力全面领先,提供安全增强 +安全扫描的双重保障,安全可信。其次通过知识增强、能力增强、模型增强适配企业业务。同时,提供智能 debug、智能测试等能力支持企业研发流程。

三、赋能创新快:针对不同的开发场景,在技术栈、领域知识,合规与质量要求上提供更好的支持。 以 AI 为例,对于 AI 基础开发者,比如 Paddle 框架开发团队,通过内置框架算子开发指南、开源框架类似算法实现参考。加速算子开发和转化效率,加速算法优化落地过程。对AI模型开发者,如使用 Paddle 等框架开发模型的人,Comate 内置框架 API Reference(PaddleNLP、Pytorch等)、开源代码库(HuggingFace Transformers等)类似功能实现参考,为AI模型开发者打造最智能的开发环境,代码生成准确率80%+。对于AI应用开发者(如使用千帆和开发框架等构建AI原生应用的人),Comate 内置各类大模型服务 OpenAPI(千帆平台文心API等)、AI 应用开发框架(Langchain等)使用文档和 API Reference,为应用开发者提供最智能的开发环境,提升开发调试效率。

另外 Comate IDE 的丰富度也是非常领先的,目前支持 JetBrains、Visual Studio Code、Visual Studio、Xcode、Eclipse 等多种主流 IDE,可以服务于各类研发人群,比如我们联合百度飞桨推出了 AI Studio 端的 Comate 插件,并结合了常用 AI 框架 PaddleNLP、Pytorch 进行更准确的推荐,帮助 AI 模型开发者编码提效。目前 Comate 公有云注册企业超过1w+,覆盖金融、汽车、机械制造、软件服务、音视频、消费、工业互联网等多个领域,受到了广大开发者的欢迎。

关于技术选型时的标准和考量

第一个是产品效果,通过 prompt 和工程手段来包装大模型调用,验证出最优的效果,这里有2个关键,其一是效果评估,因为这个是持续性的,而且模型也在持续迭代,需要不断的做效果回归和验证。尤其是已有的 bad case 需要重点关注。其二是除了对模型进行精调训练外,要充分运用提示工程、RAG 等能力进行效果提升,选择最合适的技术手段。在选型时,也要基于业务实际情况进行选型,不自我满足,本着对业务负责的原则,每一次都在分析业务效果后决定技术。

第二个是体验,技术的选型要首先保障用户侧端到端的性能,保证用户感受到的产品体验是更快更流畅的。另外技术效果也要尽可能地做到满足用户预期,更懂用户在想什么,just in time 的给用户提供最恰到好处的能力服务。

第三个是成本,成本高低是产品能大范围落地的关键,如果单看效果很好,但是成本过高,往往这种最后会束之高阁,所以成本很关键,技术方案要找到最优性价比的方案。

还有一些常规选型方式,如竞品方案对比,技术实验、成员熟悉度、扩展性等多方面考虑等等。这里还要说明一点,所有的技术选型,都是要动态审视技术方案,也许一个方案现在做不到,但是随着模型和其他周边技术突破,就成为现实,所以做技术选型和方案选择,需要随时关注技术动态,要往前看,提前做好判断,预留发展空间。

AI 编程哪家强?

一次对比 4 大编程助手,选出最趁手的它!

7月27,杭州源创会看各大厂商同台竞技。

报名参与活动:https://www.oschina.net/event/2332361

超越传统续写模式:AI编程距离智能研发终态还有多远?-3

相关文章

塑造我成为 CTO 之路的“秘诀”
“人工智能教母”的公司估值达 10 亿美金
教授吐槽:985 高校成高级蓝翔!研究生基本废了,只为房子、票子……
Windows 蓝屏中断提醒开发者:Rust 比 C/C++ 更好
Claude 3.5 Sonnet 在伽利略幻觉指数中名列前茅
上海新增 11 款已完成登记生成式 AI 服务

发布评论