《王巍巍-利用AIRAGKG挖掘代码知识宝藏.pdf》由会员分享,可在线阅读,更多相关《王巍巍-利用AIRAGKG挖掘代码知识宝藏.pdf(35页珍藏版)》请在三个皮匠报告上搜索。
1、利用AI+RAG+KG挖掘代码知识宝藏王巍巍|长亮科技王巍巍长亮科技AI研究院资深AI科学家/腾讯云名人堂专家参编信通院团体标准银行核心系统现代化建设水平度量模型并被聘任为应用现代化推进中心专家,参编信通院AI团体标准AI网关能力要求AI数据分类分级工具等。曾被信通院邀请作为“MCP协议标准化研究工作线上沙龙”主题演讲嘉宾。在原生赛道,曾获得华为鲲鹏“优秀金种子开发者”,带队参加华为鲲鹏应用创新大赛金融原生开发创新赛道全国总决赛并获得银奖,对应案例也被选中进入工信部信息技术应用创新解决方案案例库。多次在各类技术大会上担任主题演讲嘉宾,在IT新媒体影响力评选中荣获“最佳影响力奖”。拥有多项发明专
2、利,著有专著单元化架构实践指南及AI时代思考,有多篇AI论文发表在国内期刊。目 录CONTENTSI.为什么基于源代码资产构建知识工程II.代码知识宝藏挖掘的难点和关键决策点III.案例分享:代码解读KG+RAG知识库IV.总结和展望为什么基于源代码资产构建知识工程PART 01为什么要基于源代码资产构建知识工程知识工程解决什么问题?-解决让计算机理解知识并且熟练运用知识(甚至用于复杂推理)的问题。知识获取知识表示知识管理知识推理知识应用企业的常见痛点:架构治理没有足够重视 关键技术文档缺失 关键技术文档与源代码不一致 关键文档非文字表述 企业组织结构复杂,各自为政 精通核心技术细节的人离职传
3、统基于“文本+人的经验”构建知识工程的不足:知识工程的知识的精细化程度不足 知识有可能存在多个版本,不知道哪个版本正确 技术文档和代码脱节,技术文档不能反映真实情况 只有“显性”知识,缺乏“隐性”知识基于“源代码资产”构建知识工程的优势:源代码包含的知识 100%准确(反例:技术文档)源代码包含的知识最全面最完整(反例:人脑的知识)源代码包含的知识价值密度最高(反例:日志信息)知识工程过程:源代码知识是宝藏挖掘“代码宝藏”之旅矿山挖宝的三大步骤和原则:定坐标-解决宝藏在哪里的问题。定方案-解决怎么挖的问题。施工队-挖宝的具体实施过程。矿山挖宝代码挖宝定坐标明确基于哪一个代码工程来构建定方案 明
4、确使用场景 明确使用对象 明确使用频次 明确更新频率 关键难点识别 关键决策点识别施工队具体构建过程挖掘“代码宝藏“的本质是代码解读挖掘代码宝藏的本质是代码解读,先微分再积分。源代码工程各个模块的各个类的方法体清单精简后的方法体清单去除无价值的setter()/getter()等方法精细化解读每个方法体抽象语法树AST业务视角解读(偏业务的人类语言,需要LLM)技术视角解读(偏技术的人类语言,需要LLM)调用关系(基于正则和语言规律分析,效率高)可选-可视化呈现(LLM)方法体的业务流程图方法体的技术实现流程图围绕要分析的场景(交易入口)微分过程交易由哪些服务组成服务由哪些方法组成找到主入口方
5、法代码KG+RAG知识库(存放解读后的内容)结构化的解读碎片组织语言,形成解读结果(LLM)可选-可视化呈现(LLM)交易泳道图交易流程动画图积分过程等一下,你说的是Cursor或者通义灵码类似这样的AI辅助代码工具吗?它们也有代码解读能力Cursor适用于“指哪打哪”的解读,要么给定具体代码片段,要么给定要解读的代码位置以Cursor为例我们的代码解读不是“指哪打哪”的解读,而是“自动瞄准”。因为要基于具体的场景(比如用户询问交易码、用户询问具体某个业务细节)来自动找对应的代码并解读。Cursor解读一组与业务场景相关的源代码,需要用户自行把这些源代码(或者位置)给到Cursor上下文进行分
6、析。只要有主入口方法,则引擎会自动的识别调用关系,组件/方法的血缘关系,然后按照逻辑顺序自行找到对应的解读片段,并且串联起整个解读后的逻辑。甚至这些血缘关系不一定是通过方法调用识别的,而是通过编排文件的编排逻辑定义的。Cursor解读更多是从技术层面的解读,很难从业务角度进行解读。而往往代码解读的受益者是业务人员。不仅有技术解读,还支持业务解读。Cursor的解读成果一般是以人类可读文本形式输出。支持多元化输出,如业务流程图、业务泳道图、动画。VSVSVSVS结论:Cursor在非指向性解读、复杂结构解读、业务解读、多元化输出解读结果方面并不符合要求。代码知识宝藏挖掘的难点和关键决策点PART