《A2--陈军--代码AI+Agent在变更影响分析领域的探索与实践.pdf》由会员分享,可在线阅读,更多相关《A2--陈军--代码AI+Agent在变更影响分析领域的探索与实践.pdf(36页珍藏版)》请在三个皮匠报告上搜索。
1、陈军美团技术专家陈军美团 技术专家2016年加入美团,目前主要负责测试质量工具建设。在数据构造、代码解析、知识图谱构造等方向进行了系统性建设和积累。目录CONTENTSAI时代下代码变更的风险重构与质量突围0102 代码知识图谱的构建智能体的构建03演进方向04PART 01AI时代下代码变更的风险重构与质量突围线上问题分布概述60.52%15.79%7.89%5.2%5.2%2.63%2.63%新迭代不兼容老逻辑30.43%业务边界问题21.73%新老系统切换问题13.04系统健壮性问题13.04%代码逻辑问题4.34%数据一致性问题4.34%缓存问题8.69%4.34%95.66%100%
2、100%83.34%16.66%需求问题性能问题服务上下游协同问题上线流程问题技术设计配置问题代码逻辑问题场景未覆盖场景未覆盖场景未覆盖数据源与2024线上事故汇总分析AI时代下测试范围评估的演化图谱01高度依赖人工经验经验依赖与知识断层人工判断效率低下专家资源瓶颈02复杂依赖难以全面识别服务内变更方法上下游影响跨服务变更接口上下游应用配置等隐式依赖识别困难03测试覆盖盲区测试覆盖率不足测试用例设计不完善多环境配置差异04过程资产难以沉淀影响分析结论未形成数字资产缺乏影响分析库和可复用性知识传承困难01AI生成代码的不可预知性目前AI生成代码普遍业务逻辑偏差缺乏传统人工编码的注释和设计文档代码
3、可能包含大量隐式依赖02AI修改代码的回归测试危机可能对非目标模块进行修改,导致测试范围超出预期引入新的逻辑分支,但现有测试用例集缺乏对应场景覆盖多次AI迭代可能产生残留未检测的副作用代码03研发评估准确度降低AI代码风格多变、实现灵活、数量庞大,研发团队难以通过经验和规范快速理解和把控代码变动传统评估方式依赖于对代码历史、开发者意图和设计文档的理解,测试团队在缺少可靠参考信息的情况下,影响测试范围评估的全面性和有效性传统测试范围评估的挑战:新的复杂性和潜在风险:AI工具加持下可以更高效完成开发任务测试范围评估的破局之道AI增强的代码知识图谱构建函数级:识别API兼容性变化模块级:检测架构模式
4、偏移系统级:追踪数据流完整性测试资产的智能化演进识别变更核心逻辑枚举可能执行路径推导异常传播链路评估测试覆盖盲区组织能力重构培养AI数字员工,专门负责影响分析实时解答的风险评估疑问生成可执行的测试建议利用通用大语言模型对流程机制做出适应性改造PART 02代码知识图谱的构建通用大语言模型的局限性泛化能力强但领域知识有限通用模型无法完成对包含业务属性代码的准确评估预训练、微调成本过高知识更新速度慢rag增强检索效果一般海量数据召回效果差做知识细分、chunk切分、向量去噪成本较高知识更新速度较慢代码携带调用关系属性,不适合原始文本的检索graph rag增强检索成本高三元组提取消耗token大,
5、更新成本高代码不适用通用的提取脚本海量数据查询,特别是复杂、长链路的代码调用查询效率低代码知识图谱代码关系数据代码属性数据源码关系数据查询效率知识更新源码长调用链路Commit+分支维度实时更新检索需要一套代码关系数据解决方案:代码知识图谱目标与挑战代码知识图谱的方案架构核心目标一:构建相对准确的代码知识图谱核心目标二:具备稳定、高效的查询能力应用挑战特征打标代码解析与关系挖掘实施挑战技术挑战业务数据加工图数据库建模与优化应用层数据挖掘与构建从源码中提取实体、关系及属性,构建多维度代码知识网络挖掘业务特征,对原始方法进行打标,让其拥有对应业务属性解决海量代码实体关系的高效存储、更新通过知识图谱
6、挖掘变更方法、变更链路通过特征工程挖掘配置、接口、消息等业务属性方法通过经验总结、知识库挖掘缺陷、风险代码知识抽取特征工程图谱存储架构优化静态代码数据挖掘源码+diffast语法树处理json结构class:field:name,codeInfo:xxx,lineInfo:xxx,changeType:add,.:.,method:getName,codeInfo:xxx,lineInfo:xxx,changeType:change,.:.文本数据结构化数据属性数据静态代码关系挖掘源码asm语法树处理json结构vistor:source:class Person,target:field n