2025QECon全球软件质量效能大会:文心快码的智能化进阶之路_第1页
2025QECon全球软件质量效能大会:文心快码的智能化进阶之路_第2页
2025QECon全球软件质量效能大会:文心快码的智能化进阶之路_第3页
2025QECon全球软件质量效能大会:文心快码的智能化进阶之路_第4页
2025QECon全球软件质量效能大会:文心快码的智能化进阶之路_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

杨经纬|百度前端研发经理百度工程效能部前端研发经理

,负责文心快码Comate、

Devops工具平台、Comate

Stack

AI原生研发工具链等业务前端研发团队

,在软件研发智能化、

Devops、研发提效、前端研发技术、技术团队管理等领域有着丰富的经验

,并在相关领域著有发明专利8个,

国家高质量专项《基于大模型技术的工业领域智能化开发工具项目》技术骨干杨经纬百度研发经理目录CONTENTS02

智能代码助手的发展趋势04

落地效果与未来展望03

关键问题与解决方案01

背景PART

01背景:

智能代码助手的现状 AI编码行业进入爆发性增长

机遇与挑战并存•AI编码是大模型应用落地最深的领域

,行业进入爆发性增长:今年公开融资事件~18次

,估值一年10倍增长;•AI编码成为大模型公司的必赢之战,

巨头和投资机构争抢投入

:Cursor估值百亿美金

,OpenAI

30亿美金收购WindSurf;•群雄逐鹿

,多强形成

,但尚未形成寡头局面:各个公司都在构建自己的技术壁垒

,抢占潜力市场。4家AI编程公司均由00后/95后创建,也是新晋独角兽中仅有的四位95后。25家生成式AI独角兽中,

占比最高的领域为编程助手PART

02智能代码助手的发展趋势

智能代码助手的发展趋势01

02

03最初

,续写形式定义了新的人机交互模式

,拟人化的流式输出让大家眼前一亮

,在续写基础上,

Cursor率先推出了预测改写能力

,点击Tab键

,可以进行位置预测与改写智能代码助手使代码小白能够消除技术壁垒,“

完全投入到‘

氛围

,拥抱技术的指数级发展

,并忘记代码的存在

”。开发者可以不再专注于代码本身,

而是关注想要实现的功能和效果。研发行为在逐渐向对话式编

程靠拢

用户只需要输入需求,

紧接着智能体形态问世。它能够独立思考

、拆解并执行完整任务

,是当前阶段最先进的形态。从小白到Vibe

Coding从智能问答到智能体从补全到预测改写产品形态变化用

化PART

03关键问题与解决方案我们希望尽可能覆盖更多用户

因此支持了行业内最丰富的端种类。在多端场景中

,最初有大量需要重复实现的能力。在产品建设过程中

,我们支持的端类型越来越丰富

,研发与对齐成本直线上升

,针对此问题

,端上推出了多端复用的技术方案。3.2多端支持

智能代码助手面临的关键问题3.1代码推荐准确性提升纵观代码助手发展的所有阶段与能力

,准确性一直是

用户关注的第一要素

,也是智能研发面临的关键挑战

,其中包括模型训练、上下文理解、多模型调用、工具

链调用、智能体等核心能力。3.3

Devops研发全流程提效我们一直在尝试将Devops全流程集成到编程现场

,给用户带来更流畅的体验

,而生成式大模型给我们带来了智能化覆盖Devops全流程的新的机会。代码准确性是用户首要关注点用户关注的能力从编辑区的续写

、预测改写,扩展到了侧边栏的智能问答

、智能体

。整体来看

,准确性还是用户关注的第一要素

,也是智能研发面临的关键挑战

。其中包括模型训练、上下文理解、多模型调用、工具链调用、智能体等核心能力。

3.1代码准确率提升模型研发现场提示词、

工具上下文理解编程现场会存在大量私域知识

,对这些知识掌握的越准确

,编写的代码质量越高。知识检索准确性是领域探索的重点内容。模型训练、数据工程模型能力决定了产品的上限能力。确保数据准确、完整和多样化是实现有效模型的关键步骤。系统提示词、工具链系统提示词是复杂应用的重要环节

,定义了模型的行为、习惯、细节使用工具链系统化完成完整任务数据工程

模型微调(文心团队)监督学习强化学习训练实验推理实验数据清洗数据标注

模型训练数据生产数据生产-数据源&数据格式•

典型场景:续写有时会无法正常截断、输出过长、无法正确识别后文。可通过构建正例样本、负例样本进行DPO训练来纠正模型行为。•SFT的数据格式:通常由一对输入(src)和目标输出(tgt)组成。•

典型场景:代码续写、代码问答、代码解释、单测生成、代码优化等•DPO的数据格式:输入对(input

pair)

+偏好标签(preference

label)•

在SFT过程中

,模型通过使用标注好的数据集学习特定任务的模式和规律

,从而提高性能。•DPO专注于优化模型输出以更好地符合用户或任务的偏好。DPO数据格式SFT数据格式全面而高质量的数据是模型效果提升的关键社区论坛官方文档企业代码开源代码数据源02代码解析•

使用ANTLR/Tree

-sitter生成AST•

识别代码机构与语法元素01选择代码库•

确定项目与任务的相关性•

评估代码质量和社区活跃度04数据抽取•

发提取复合模式的source-target对•

确保数据完整性和上下文相关性03模式识别•

定义源码-目标模式•

在AST中匹配模式 数据生产-基于代码解析的数据构造对于SFT数据构造

,最为直接有效的方式是通过开源代码库进行代码挖掘来构造。GitHub等开源社区拥有海量的项目和代码

,涵盖了几乎所有主流编程语言和应用领域。这些代码库提供了丰富的真实世界代码示例

,能够为构造SFT数据提供广泛而多样的素材。代码本身具有高度的结构化特征

,特别是在使用现代编程语言和框架时。代码中的函数定义、类结构、变量声明以及注释等都为我们提供了自然的source-target对

,这些结构化的信息易于解析和提取。04LLM生成Target•

输入设计好的提示和source数据到LLM中

,生成初步的target数据•

多次迭代,

以获得多样化的输出01选择LLM•

尽可能选择高质量LLM,准备LLM调用接口定义生成任务•

根据目标任务和source的性质

,设计提示词•

包括任务描述

、输出格式要求

、示例等构造Source数据•

基于开源代码和代码解析收集高质量的source数据•

对source数据进行清洗和预处理0203 数据生产-基于大模型的数据构造在从开源代码库中难以直接获取高质量数据的情况下

,利用大型语言模型(LLM)来生成SFT数据是一种创新且有效的方法。开源数据中往往编码风格不统一

,且时常缺失必要的注释、单测、API文档等

,通过数据挖掘构造数据具有一定难度。基于LM能够填补现有数据集中可能存在的空白

,生成缺失的注释、文档或使用示例

,确保模型在训练时有足够的参考信息。显著减少时间和资源投入。 数据生产-基于人类反馈的数据构造与SFT数据不同

,对于同一类任务,

DPO数据需要同时构造用户正反馈、负反馈数据

,从而进一步改进代码生成模型的性能。冗余去重低质过滤数据处理可靠性和稳定性。密码密钥替换代码格式化字符数过滤文件长度过滤圈复杂度过滤语法错误过滤安全内容过滤哈希去重基于AST去重模式匹配基于代码指纹去重收集到各类型数据之后

,需要对数据进行处理

,去除低质量数据、重复数据、有害信息、个人隐私等内容。从而提高数据质量

,减少噪声干扰

,避免偏差引入

,提升模型的

数据清洗-冗余去重个人信息替换无效注释去除基于LLM

基于人工

数据标注任务定义与准备

:明确标注任务的目标、要求。对数据集进行预处理。模型选择与配置:选择适合任务需求的模型

,配置模型的参数。提示词设计:包含足够的上下文和清晰的指示。分步操作:可以将模型标注作为人工标注的前置环节标准对齐:标注人员对标注任务有充分理解并达成一致模型标注:基于设计好的提示词

,调用大模型对数据集进行标注任务定义与准备:制定一系列标注规则并进行人工标注人员要求:对标注人员的能力有高要求隐匿的低质对话:用户与大模型交互中

,效果不佳的对话数据如同冰山水下部分,难以被有效挖掘与快速定位。优化路径迷茫:针对已发现的效果不佳用例

,缺乏系统性的策略优化或模型微调方案

,优化思路不清晰。生产流搭建繁琐:将数据采集、

BadCase发现、数据生产、数据标注、模型训练等环节高效串联

,形成自动化的数据生产流

,对用户而言极具挑战。

数据工程落地实践——Comate

Stack模型训练、数据工程模型能力决定了产品的上限能力。确保数据准确、完整和多样化是实现有

效模型的关键步骤。上下文理解编程现场会存在大量私域知识

,对这些知

识掌握的越准确

,编写的代码质量越高。知识检索准确性是领域探索的重点内容。系统提示词、工具链系统提示词是复杂应用的重要环节

,定义了模型的行为、习惯、细节使用工具链系统化完成完整任务模型研发现场提示词、

工具

上下文理解本地Console信息RAG

Graph

RAG

专属模型具象成知识给到编程助手文本类:

向量检索、

关键词检索历史对话产品需求文档测试用例文档服务部署文档编程现场本地代码库代码类:

向量检索、

关键词检索、

元信息检索存在于开发者脑海之中

上下文理解依靠对上下文的理解

,保持和开发者同频

,帮助开发者解决繁琐、重复的问题。对『编程现场』的理解是所有编码助手的下一步方向

上下文理解-RAGRAG特指模型在回答问题或生成文本时

,首先从庞大的文档库中检索相关信息。然后

,利用这些检索到的信息来生成回答或文本

,以此提升预测的准确性。优势:通过附加一个知

识库

,为模型提供额外

的信息输入

,从而提高

其回答的精确度。适用场景:

RAG方法特别适用于那些需要大量

知识的任务。问题:•

基于片段相似性匹配,难以捕捉跨段落或文

档的全局上下文关联,检索逻辑性弱•

大规模信息情况下

,检索准确率与召回率明显下降

上下文理解-Graph

RAG相比普通向量检索

,GraphRAG在多实体关联信息问答场景有更好表现。编码领域

,GraphRAG在处理更复杂、上下文相关的查询能力同样弥补了向量检索的不足。

目前的代码库知识检索增强优化方案普遍混合应用多种检索

,如关键字检索、

向量检索、代码库知识图谱。适用场景:当问题需要连点成线而非单点匹配时的场景以及需精确推理、可解释性强的场景。如:“如果我升级当前的项目中身份验证服务

,哪些模块会受到影响?”函数解释可生成更加深层次和丰富的时序图问题:知识图谱的构建依赖大量结构化数据

,需要以高成本换高精度。动态更新易引发数据不一致。仍存在大规模信息情况下

,检索准确率与召回率明显下降问题。优势:对实体间关联性理解更强。可解释性更强

,可追溯推理过程。

上下文理解-专属模型训练了专有的基础代码

LLM

,通过扩展底层计算层来扩展不同数量的上下文。专属大模型是当前行业内已知的效果最佳方案。优势:短时间内通过模型的大量算力,直接处理原始代码文本

,消除Embedding带来的误报

,召回可达传统Embedding系统的3倍(Riptide)问题:效果提升依赖于技术突破以算力换精度

,需谨慎评估ROI适用场景:对推理精度要求高且收益明显的场景

,如代码检索等。模型研发现场提示词、

工具上下文理解编程现场会存在大量私域知识

,对这些知识掌握的越准确

,编写的代码质量越高。知识检索准确性是领域探索的重点内容。模型训练、数据工程模型能力决定了产品的上限能力。确保数据准确、完整和多样化是实现有效模型的关键步骤。系统提示词、工具链系统提示词是复杂应用的重要环节

,定义了模型的行为、习惯、细节使用工具链系统化完成完整任务

系统提示词、工具链系统提示词

检索召回

用户上下文

项目环境LLM工具调用完成任务•

分步解决问题•

将IDE作为工具•

就地编辑文件IDE工具实现读取文件编辑文件检索代码执行命令……用户需求

系统提示词+工具调用典型案例:

新一代研发智能体Zulu•不同模型的Prompt是不一样的

,需要针对性调优•XML和Markdown是主流的两类格式

,用于结构化提示词都有比较好的效果•静态内容在前

,动态内容在后。符合Transformer结构

,且对缓存友好•DeepSeek官方不建议使用单独的system消息

,与user消息合并•System

Prompt的语言不重要

,英文与中文效果相当动态信息行动约束•

格式规范•

行动空间人格设定•

角色定义•

性格偏好系统提示词目标设定•

行为流程•

细节纠正•

文件、图片、代码•

系统信息信息收集、

代码编辑、

系统交互等遵循一定原则•

优先收集信息codebase_search

grep_searchlist_dir

鼓励一次计划多个任务•

读信息任务可以更加积极read

code

block

read

file

run

command•……write

file

edit

file

delete

filerelate_files

find_by_name

...发起请求

任务流程推理调用工具检查结果完成任务

工具链-使用工具自动化完成任务验证失败

,进行反思

3.2多端支持痛点问题:

支持VSCode

、Jetbrains

、VS

、XCode

Eclipse等多个端

,研发与对齐成本直线上升效果

:通过以上能力的复用

,能够实现多端能力的85%复用

,极大的降低了多端研发成本

,并使多端研发进展

、能力一致性得到了较好的保障。与Kenel绑定到一起的用

Web

技术实

现的

UI

层,

主要包含侧边栏的界面复用等。包含端上的大部分业务逻辑

,基于LSP

协议完成跨端通信。能力增强研发环节集成至编程现场

,保持”心流”模式+

业务•

Comate内置能力•编程现场信息•研发流程集成•

定制化需求知识增强基于私域知识的效果增强问答助手、业务特性代码生成等CodeAPI

文档

知识中心

•私密性

•实时性•

定制性模型增强大模型能力业务调优prompt大模型数据

3.3研发全流程智能化建设-开放平台•集团内沉淀的大量业务共建能力

,可快速转化为MCP形式,将通用助手与实际业务整合

,取得更好的落地效果•伴随着Agent发展

,将来会产生更多的专项Agent

,如Unit

Test、

Debug、

Refactor

,将被纳入到内置工具之中

,协作达成更高质量的代码生成•

MCP是智能时代的依赖注入(Dependency

Injection),

由外部向助手提供额外能力

研发全流程智能化建设:

开放平台+MCP+智能体MCP代码扫描测试部署智能体

代码生成API生成代码代码生成测试用例代码安全扫描...需求卡片生成GDP飞桨代码生成代码生成API生成单测框架转换发起自动化测试.........Figma2CodeJarvis微云部署接口生成测试用例Jarvis部署CNAP部署需求查询需求卡片绑定FCNAP百度智能小程序代码漏洞扫描搜索业务代码生成...代码规范扫描需求管理

智能问答

范式变革:Agent融入研发全流程工作流

,为开发者配备研发数字团队研发基础设施-全面升级为研发数字员工:iCode

iCafe

i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论