告别冷启动
每次点开一个新的 PR,最痛苦的不是改 Bug,而是得花十分钟对着 Diff 慢慢捋:这货到底想干嘛?有没有写出什么低级逻辑漏洞?有没有把秘钥直接硬编码进去?这种“冷启动”的时间成本在团队协作里简直是噩梦。
槽点: 又是新供应商,得走一遍公司安全审核;评论风格被产品定义死了,而且得额外掏钱,跟我买的 IDE AI 订阅重复建设。
槽点: 维护成本高。得自己写 Webhook、处理 GitHub API 限流、折腾 Prompt 调优,太浪费开发时间。
槽点: 对工具链的依赖较强。
具体的自动化触发逻辑大概是这样:
下一篇
把 LLM Judge 当成最终判定结论是很多团队在做 Eval 时 →
我想要的不是用 AI 替代人工审核(那太理想化了),而是想要一个“聪明实习生”在人类评审之前先给一份简报:总结变更点、标记潜在风险、嗅出性能问题。
在尝试了市面上的 SaaS 评审机器人、自己写 Agent,以及利用已有的 Cursor Pro+ 订阅后,我最后选了 GitHub Action 挂载云端 Agent 的方案。理由很简单:钱已经交了,而且我希望整个 pipeline 留在自己的仓库里,而不是把代码权限交给又一个第三方厂商。
其实现在的 AI 评审逻辑基本都一样,都是:监听 PR 变更 → 调用模型分析 → 回帖反馈。
目前主流的几种实操路径对比:
- 直接买 SaaS 产品(如 CodeRabbit):
槽点: 又是新供应商,得走一遍公司安全审核;评论风格被产品定义死了,而且得额外掏钱,跟我买的 IDE AI 订阅重复建设。
- 纯 DIY 撸一套:
槽点: 维护成本高。得自己写 Webhook、处理 GitHub API 限流、折腾 Prompt 调优,太浪费开发时间。
- 用 Coding Agent 的云端能力(我的选择):
槽点: 对工具链的依赖较强。
一个真实的 AI 评审分工模型应该是这样的:
1. 确定性 CI: Lint 检查、单元测试、Snyk 扫描(这些必须是死板的,对就过,不对就挂)。
2. AI 初审: 生成叙述性简报 + 给出判断建议(像个实习生在汇报)。
3. 人类评审: 做最终的 Merge 决定。
对于 AI 层,我给它设定的分析维度是:
- 逻辑风险: 是否有边界 case 没考虑到?
- 安全气味: 鉴权是否缺失?是否有注入风险?
- 性能坑点: 是否出现了 N+1 查询?是否有低效循环?
具体的自动化触发逻辑大概是这样:
name: AI PR Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run AI Analysis
run: |
# 调用云端 Agent 接口,传入 PR Diff
# 将分析结果回写至 PR Comment
./scripts/ai-review.sh ${{ github.event.pull_request.number }}说到底,AI 评审不是为了消灭人工,而是为了让我们在 review 时不再是从零开始,而是对着一份“风险清单”进行确认。