Skip to content

L03-15 案例二:代码审查 Agent ​

全局中心内容:Code Review Agent 的生死线是「误报率」——宁可少报,不可乱报。 全局讲解主线:为什么难 → 定位精度问题 → 规则与模型分工 → 行号对齐 → 置信度 → CI 集成 → 度量。


P1 · 产出页 ​

中心内容:一个能给出准确行号、带置信度、可接入 CI 的审查 Agent。

  • 讲解技巧
    • 开场真相:大部分团队做过 Code Review Agent,大部分最后关掉了。
    • 追问原因——几乎都是同一个:误报太多,没人看了。
  • 时长:30s

P2 · 为什么难 ​

中心内容:代码语义复杂、上下文大、错误标准主观。

  • 讲解技巧
    • 强调最大的坑:模型会「幻觉出」代码里不存在的问题。
    • 结论:这不是模型能力问题,是输入组织方式的问题。
  • 时长:4min

P3 · 规则与模型分工 ​

中心内容:确定性规则交给静态分析,模型只做规则覆盖不到的部分。

  • 页面内容:分工表(格式/规范 → 规则;逻辑/设计/安全 → 模型)

  • 讲解技巧

    • 这是本节最重要的方法论:模型不适合做确定性检查,做了既贵又不准。
    • 提醒:先跑静态分析,把结果一起给模型,让它判断哪些真的重要。
  • 时长:6min


P4 · 行号对齐 ​

中心内容:模型给的行号经常对不上,必须程序校正。

  • 页面内容:DiffParser 与行号映射

  • 讲解技巧

    • 这是本案例的核心工程难点:只给 diff 不给上下文行号,模型必然猜错。
    • 给出解法:把 diff 解析成「新文件行号 → 内容」的映射,再交给模型。
  • 时长:6min


P5 · 准确率优先 ​

中心内容:宁可漏报,不可误报。

  • 页面内容:置信度分级与展示策略

  • 讲解技巧

    • 给出产品策略:高置信度直接评论,中置信度折叠,低置信度不展示。
    • 强调理由:一次误报会让开发者对整个工具失去信任,代价远高于漏报。
  • 时长:5min


P6 · 输出规范 ​

中心内容:每条意见要有 文件/行号/问题/建议/依据。

  • 讲解技巧
    • 用结构化输出(回顾 01-08),并要求引用具体代码行作为依据。
    • 提醒:没有依据的意见要直接丢弃。
  • 时长:5min

P7 · CI 集成 ​

中心内容:只审查变更部分,控制在 2 分钟内。

  • 讲解技巧
    • 强调只审 diff:全文件审查又慢又容易报出与本次变更无关的问题。
    • 提醒超时要有降级:超时就不评论,别阻塞流水线。
  • 时长:5min

P8 · 度量与迭代 ​

中心内容:统计采纳率,用它来调 Prompt 和阈值。

  • 页面内容:采纳率 / 误报率 / 修复率 三个指标

  • 讲解技巧

    • 强调采纳率是最好的优化信号:低于 30% 说明噪音太大,必须收紧。
  • 时长:4min


P9 · 避坑与小结 ​

中心内容:不要一上来全量开启,先在少数仓库试点。

  • 讲解技巧
    • 引出下一节:工单处理 Agent——03-16。
  • 时长:3min

讲师备忘 ​

项内容
课前必做准备一个真实 diff 与解析结果;准备误报样例
最容易超时处P4 行号对齐,代码较长
学员最常问「要不要审全文件?」答:不要,只审 diff
现场备用无 CI → 本地脚本演示审查输出