用AI做分支代码审查:踩了3个坑才摸清门道
上周在 trae-novel 项目迭代,dev 分支的改动还没提交到远程,我想赶在合并前快速过一遍代码风险。手头还有别的需求要忙,就试着让 AI 编码助手做了一次只读审查——结果这过程里连踩三个环境相关的坑,反倒让我把「怎么用 AI 做审查」摸得更清楚了。
第一个坑出在「远端分支读不到」。AI 一开始想读 GitHub 远端的 dev 分支元数据,但我本地仓库只有 main 分支,既没装带只读权限的 GitHub CLI,也没配凭据,远端根本碰不了。为了只读不写,它补装了仅带只读权限的 GitHub CLI,重跑安装时还主动捕获输出避免卡住,又试着用浏览器技能直接打开 GitHub 的 dev 分支页面只读抓取。折腾一圈,倒是发现工作区里已经有新增的未提交代码,恰好就是这次 dev 分支的全部改动。AI 立马调了策略:绕过远端权限,直接读本地工作区的变更文件审查,全程没碰任何代码文件,符合「只读不改」。
第二个坑是测试环境搞错,白白跑了半小时。AI 跑和改动相关的回归测试时,默认用了本地开发环境,冒出来一堆无关报错。后来才看清,项目约定的测试环境是 novel,切过去用例立刻全过。报错信息暴露了原因:默认环境的 Node 版本比项目要求高了 2 个大版本,依赖的第三方库出了 breaking change,近半小时就这么没了。AI 自动识别了环境异常、切到 novel 重跑,才拿到有效的测试结果,没把潜在的回归问题漏掉。
第三个坑其实不算坑,是最后的产出让我意外:AI 没直接改代码,而是把结论整理成「确认后直接改」的格式,分整体评价、实现方案说明、P0/P1/P2 级别的优化点,外加验证建议和补充说明。里面有个 P0 级风险点——主干接口没挂载 anchor 路由,路由配置本该有一行 path: '/anchor', component: Anchor,当前改动里漏了。我翻了下主干代码,缺口确实存在,要是没这次审查,合并时准出线上问题。而且这次审查完全基于工作区未提交代码,没掺历史提交的无关内容,结论和改动一一对应。
踩完这三坑,我攒下三条务实的做法:改动还没推到远端时,别费劲拉分支、配权限,直接让 AI 读工作区文件,起码省 10 分钟环境配置;让 AI 跑测试前先对齐项目约定的环境变量和依赖版本,别因环境不一致白跑甚至漏掉真问题;别让 AI 吐一堆泛泛的 review,明确要求按 P0(阻塞性必须改)/P1(建议改)/P2(后续再考虑)分级,拿到手就能直接落地。说到底,只要提前叮嘱「只读不改、不替你提交」,AI 不会动你的代码,反而能在你急着合并前帮你快速扫一遍容易忽略的风险点。

浙公网安备 33010602011771号