资讯详情

AI 代码审查怎么做知识蒸馏?从 Vapi 的 PR 提速案例谈起

📅 2026/10/15 16:05:12 | 华诺云谱 👁 阅读
AI 代码审查怎么做知识蒸馏?从 Vapi 的 PR 提速案例谈起
AI 给一个 PR 留下十条评论开发者逐条看完发现八条不用改。机器人很忙代码审查却没有变快。如果把这些评论原样拿去训练小模型问题还会被放大大模型偶尔猜错小模型可能把猜错的方式学得很熟。代码审查知识蒸馏的起点是把经过验证的审查结果整理成样本。大模型负责提出候选问题测试与人工复核确认问题是否成立小模型学习其中可重复的判断。能否降低成本要再用未参与训练的 PR 验证。2026 年 10 月 12 日Vapi 发布了自研代码审查机器人的工程复盘。公司称PR 从创建到合并的平均时间由超过 130 小时降至 65 小时。这篇复盘没有报告知识蒸馏实验但它提供了一个值得借鉴的前置条件让机器人证明自己的发现。1. 先看清热点里的数据别把提速当成蒸馏效果Vapi 的机器人可以检查调用方、运行测试或写小型复现再决定是否报告问题。分析任务和发评论任务分开执行前者移除 Git 凭证输出 JSON后者验证文件并发布评论不执行机器人生成的代码也不能批准或推送。这套设计同时解决了两个问题评论要有证据读取不可信代码的模型不能直接拿到发布凭证。复盘还报告在 2026 年 9 月 2 日至 10 月 2 日期间机器人审查了 1,694 个 PR在 276 个 PR 上提出 363 个 blocker 发现。其中超过一半与构建、测试、CI 或部署有关。这里的“提出”不能改写成“确认修复了”作者明确说活动报告尚未跟踪开发者采纳或驳回了哪些发现。130 多小时到 65 小时是这家团队报告的前后变化。PR 规模、人员安排、排队时间等因素也会影响结果文章没有给出能隔离这些因素的对照实验。因此不能用它承诺自己的审查时间也会减半更不能说“小模型蒸馏后提速一倍”。对蒸馏有用的启发更具体先把候选评论变成可核验的缺陷记录再考虑训练。2. 小模型究竟要学什么先缩到一类缺陷“训练一个懂整个仓库的审查专家”很容易把项目做大。Vapi 的 blocker 有一半以上集中在构建、测试与 CI说明这类问题既常见又容易用工具取得证据适合作为第一轮任务。第一轮更适合挑选一种输入边界清楚、证据容易获取的任务例如判断新增测试是否真的被测试框架收集或识别一类固定的鉴权遗漏。本文用“测试没有被收集”做演示以下样本和结果均为设计示例未进行模型训练。假设 PR 新增了tests/payment_cases.py。仓库配置只收集test_*.py文件。CI 最终显示绿色但这个新文件根本没有运行。仅给模型文件里的断言它可能觉得测试写得不错。给它测试收集配置、变更路径和实际收集结果才有机会发现真正的问题。这说明蒸馏输入必须包含推断所需的证据。如果教师能读取整个仓库并执行命令而学生线上只收到一段 diff那么两者面对的任务已经不同。训练集里的正确答案无法补上线上缺失的配置。可以把工作拆成两段固定程序负责收集路径、配置和测试清单模型负责综合信息并生成简短说明。对于能用确定规则直接判断的部分优先使用规则。没有必要为了蒸馏把简单的文件匹配也交给模型。3. 一条可用样本要留下怎样的证据下面是内部记录结构示意不是某个训练框架可以直接导入的格式{sample_id:demo-review-001,repo_snapshot:demo-commit-a,task:test_collection_review,input:{changed_file:tests/payment_cases.py,collection_rule:test_*.py,collected:false},teacher_candidate:{label:test_not_collected,summary:新增测试文件不符合收集规则未被执行。},verification:{method:test_collection_check,result:confirmed,human_review:accepted},target:{label:test_not_collected,summary:将文件重命名为符合 test_*.py 的名称并重新检查收集清单。}}collected: false是工具已经得到的结果。若线上也提供这个字段学生主要学习解释与建议不能宣称它独立发现了未收集测试。若目标是让学生在执行前预测风险就应设计另一套输入和评测不把执行后的答案放进输入。训练前再把记录转换成框架需要的输入与目标格式。教师评论、验证状态、人工结论属于溯源信息学生输入只保留上线时实际能够取得的字段。通常值得保留的还有教师模型与版本、提示词版本、证据对应的仓库快照、缺陷是本次新增还是原有、适用的数据授权范围。模型更新或仓库规则变化后这些信息能帮助定位数据为何失效。涉及企业源码时先确认代码可发送到所用服务模型输出可用于目标训练用途。API 可以调用不等于输出自动获得训练授权。4. 教师说得像真的也可能是误报Vapi 做过一个有意思的实验在同一个 PR 上测试 101 个开头指令得到 803 条原始发现归并成 57 个不同问题。一个不知道各问题出现频次的 AI 评判器将其中 32 个判为真实、24 个判为错误1 个无法验证。复盘还提到任何单次运行找到的真实问题都不超过 32 个中的 10 个只采样一次会漏掉大量问题。这不是跨仓库的准确率也不是人工最终裁决。作者明确提醒每个提示词只跑一次实验只有一个 PR判断者还是 AI。但它暴露了数据清洗里的常见陷阱同一个错误被反复说出并不使它变成真问题。多次采样的结果可能高度相关不能把“多数教师都同意”当成证据闭环。建议为候选记录保留四种状态状态含义第一轮训练如何处理confirmed复现、测试或代码证据支持且完成复核作为正样本候选rejected有明确反证或不符合任务定义作为已标注负样本候选inconclusive证据不够暂时不能判断暂不进入确定标签集合out_of_scope可能成立但不属于本次任务单独保存不混入目标标签“开发者没有回复”不等于 rejected“CI 绿色”也不等于没有缺陷。负样本应当来自确认满足目标规则的改动以及有反证的误报。否则学生容易学成一个到处挑毛病的机器人。复现任务本身也要有权限边界。未知 PR 的测试脚本应在隔离环境中运行移除敏感凭证限制网络和写入范围。证据采集不能成为代码获得更高权限的机会。5. 从样本到蒸馏实验最容易漏的是数据拆分用经过验证的教师答案做监督微调属于输出层面的蒸馏DeepSeek-R1 的蒸馏模型就采用这类路线。路线成立不代表代码审查任务会自动受益。训练技术可从所选开源模型支持的 SFT 或 LoRA 方案开始但先把评测设计好。PR 里的文件、同一缺陷的不同评论、重跑记录经常互相重复。如果随机按评论划分训练集见过的问题可能以另一种措辞进入测试集分数会显得很好。至少做到同一个 PR 及其重跑记录在同一分区同一缺陷的近似样本聚合后再拆分需要测试时间泛化时用较早的数据训练、较新的数据测试。若目标是服务多个仓库再额外做仓库之间的留出评估。比较四个候选方案规则程序、未经微调的学生、蒸馏后的学生、教师方案。给各模型可比的输入和工具权限冻结测试集和判断规则。若教师独享额外工具单独标明这是系统差异不能只归因于模型大小。学生上线前先“影子运行”生成结果并记录由人检查暂不自动向 PR 发评论。这个阶段最适合发现它是否学会了准确说“不需要报告”。6. 怎么判断值得部署同时看漏报、误报和总成本以下是演示数据留出集有 100 个独立 PR经复核存在 20 个目标缺陷。学生报告 25 个去重后的缺陷其中 15 个正确、10 个错误还漏掉 5 个目标缺陷。精确率为15 / 25 60%表示发出的发现有多少成立。召回率为15 / 20 75%表示目标缺陷找回了多少。计数单位是缺陷同一 PR 可以包含多个缺陷。实际评测还要约定位置匹配、重复发现归并方式否则不同方案的数字无法比较。60% 的精确率意味着开发者仍要核查不少误报。对于影响付款、权限或部署的缺陷漏掉一个严重问题可能比多报几条轻微问题更昂贵不能只按总准确率选模型。还应记录每个 PR 的人工核查时间、端到端 P95 延迟、工具执行成本以及升级给教师的比例。上线成本可以拆为学生推理、证据工具、教师兜底、人工复核项目成本另加样本生产、训练和后续维护。减少模型调用费用却让开发者多花十分钟看评论未必划算。可以从简单规则开始升级缺少关键上下文、出现未覆盖的缺陷类型、涉及高影响代码时交给教师或人工。学生自己给的“置信度 0.95”不能直接当成 95% 正确率阈值需要用验证集校准。7. 第一轮实验交付这四样就够了选定一个缺陷类型后先完成固定输入规范、带证据的正负样本、无泄漏的留出集以及规则学生教师对照报告。样本规模根据缺陷频率和学习曲线调整不存在通用的“收集一千条就够了”。若规则已经能稳定解决问题就保留规则。若蒸馏后的学生减少了核查成本又没有突破严重漏报的接受范围再逐步扩大任务。Vapi 的案例值得学的是让评论接受检验。沿着这一步继续走代码审查记录才可能成为知识蒸馏的数据资产跳过验证只会把一份嘈杂的评论历史训练成另一个嘈杂的审查员。作者注本文作者来自 147AI 团队。文中流程与具体接入平台无关无论通过哪家服务调用教师模型都需要单独核对模型可用性和输出训练授权。参考资料VapiAI 代码审查机器人工程复盘Amanda Martin2026 年 10 月 12 日。DeepSeek-R1 官方仓库与许可说明。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑