当前位置:首页 > AI工具

用 AI 做代码审查:把每一条 review 意见列清楚改到位

xinhack3周前 (10-23)AI工具44

用 AI 做代码审查:把每一条 review 意见列清楚改到位 AI工具

它该干啥,不该干啥

先说清楚边界。AI 做 code review,适合查三类问题:明显的 bug(空指针、越界、资源没关)、风格和重复(重复代码、命名不一致)、基础安全检查(硬编码密钥、危险函数)。它不适合替你判断架构要不要这么改、这个需求该不该这么实现——那种得人来。

我把它定位成"第一道过滤网"。人在看 PR 之前,先让 AI 扫一遍,把低级问题消掉,reviewer 的精力就能放在真正要动脑子的地方。说白了,它干的是重复劳动,人干的是判断。边界划清了,它才不会被你拿去干它干不了的事。

把上下文喂足

只贴改动片段,AI 经常看不懂为什么要这么改。我会把三样东西一起给它:改动的 diff、相关函数的完整代码、还有这条 PR 想解决的问题是什么。缺了任何一样,它的意见都会飘。

比如我就说:"这是修复登录失败后没记日志的 PR,diff 如下,LoginService 完整代码附后,请重点看异常处理分支有没有漏。"这样它的意见才贴着真实场景,不会泛泛而谈"建议加注释"。上下文越具体,它越不容易瞎建议。

让它按清单输出

我常用的 prompt 是:"按'严重程度 / 问题位置 / 具体现象 / 修改建议'四栏给我,分必修和建议两类。"结构化输出比一大段散文好用太多,你直接对着清单改,改完勾掉就行,不用在一段长文里找重点。

还可以让它模拟不同角色:先当严谨的测试工程师挑边界,再当安全工程师挑注入,再当新手看可读性。一轮多视角,比单次提问覆盖得全。我一般在 PR 较大的时候才这么做,小改动没必要这么折腾。

它给的意见,要过一遍脑子

AI 有一个老毛病:为了"显得有用",会建议你加一些其实不需要的防御、或者改一个没问题的写法。我见过它坚持说某个变量"可能为空",但上下文里那个变量上一行刚被断言非空。

所以 AI 列的每一条,我都会判断:这条在我这段代码里真成立吗?不成立就跳过,别为了凑改动而改。reviewer 最烦的就是那种"AI 说要改所以改了"的无意义 commit。筛选这一步,才是人价值的体现。

我一般会先扫它标"必修"的,这些通常是真问题、处理成本低;再扫"建议"的,挑和当前代码确实相关的吸收。一轮下来,十分钟能消化完它半小时扫出来的东西,效率差就在这里。要不要改,最后拍板的还是你。

落到实际工作流

我们现在的做法是:PR 一开,CI 里先跑静态检查和 AI review,结果自动评论在 PR 下面。作者先消化一轮,再 @ 人 review。人只看 AI 标"建议"以上、且自己拿不准的点。

说白了,AI 帮你把"看得见的雷"排了,把"说不清的模糊"留给懂得权衡的人。这套分工跑下来,review 来回轮次少了一半,作者也少挨无谓的骂,reviewer 也省了盯着低级错误的眼力。

别指望它替你背锅

最后提醒一句:AI review 的结论,责任还在你。它说"没问题"不等于真没问题,它说"有 bug"你也得自己确认。把它当同事提的建议,不是当裁判的判决。线上出了事,背锅的是写代码和合代码的你,不是模型。

所以我的习惯是,AI 标"必修"的我会逐条处理或逐条反驳,标"建议"的挑有价值的吸收。它再能看,也只是你 review 流程里的一环,不是替代。把它用顺了,你才有空去想那些它永远替你不了的设计取舍。

相关文章

用 AI 写邮件:回复、跟进、催办的职场邮件工作流

用 AI 写邮件:回复、跟进、催办的职场邮件工作流

邮件是职场里最难将就的文字:太短显得敷衍,太长没人看。这篇文章给出一套用 AI 写邮件的工作流,从背景交代、语气约束到三类常见邮件的提示词模板,草稿出来后再花两分钟人工把关,效率和质量都能兼顾,也标明…

把提示词当资产管:建一个可复用的提示词库

把提示词当资产管:建一个可复用的提示词库

好提示词是试出来的,用完就丢最可惜。这篇讲怎么把提示词当资产管理:按场景归档、写成可复用的模板、标注版本和适用边界,让每一次调试的成果都能累积,越用越顺手,调用 AI 而不是每次从零开始问,把试错成本…

用 AI 做口播音频:从文稿到声音的轻量制作流程

用 AI 做口播音频:从文稿到声音的轻量制作流程

想做一档个人播客,但录音设备和剪辑劝退了很多人。本文梳理一条用 AI 从文稿到声音的轻量流程:写稿、转语音、加背景音乐、导出分发,一部手机也能开播,同时说清哪些环节还得人把关,别把终审也交给机器,把主…

用 AI 把表格变成图表:不会 Excel 也能出可视化报告

用 AI 把表格变成图表:不会 Excel 也能出可视化报告

手头有一堆数字,想做成能汇报的图表,却卡在不会调 Excel。这篇讲怎么用 AI 把一张普通表格变成清晰的可视化图表,从整理数据、选图表类型、写清楚诉求到检查误导,一步步都能复制,新手也能轻松搞定汇报…

用 AI 做视频字幕与转写:把录屏会议变成可搜索文字

用 AI 做视频字幕与转写:把录屏会议变成可搜索文字

视频和会议录音最大的问题是“听完就忘、想找找不到”。本文介绍用 AI 做字幕和转写的可复制流程:上传一段录屏、访谈或会议录音,拿到带时间轴的文字稿,再让 AI 提炼要点、做成可搜索的笔记。无论你用的是…

用 AI 写测试用例:把需求拆成能跑的自动化测试

用 AI 写测试用例:把需求拆成能跑的自动化测试

测试最难的不是写代码,是把"这个功能是啥意思"翻译成"什么情况算通过"。AI 特别适合干这个翻译。这篇讲怎么把需求文档丢给 AI,让它产出一套能直接跑的用例,再带你过一遍怎么挑、怎么补并发和集成这些它…

用 AI 批量处理图片:改尺寸、压缩、去背景的轻量流程

用 AI 批量处理图片:改尺寸、压缩、去背景的轻量流程

做内容、做电商、做汇报,经常要跟一堆图片打交道:尺寸不对、体积太大、背景太杂。这些重复活没必要一张张手动搞。这篇讲我用 AI 工具搭的一条批量处理流水线,改尺寸、压缩、去背景一次过,以及原图留底、格式…

用 AI 写产品需求文档:把想法写成研发能接的活

用 AI 写产品需求文档:把想法写成研发能接的活

有个好点子,落到研发那儿变成你到底要啥,这种事太常见。PRD 就是把这个 gap 填上。这篇讲怎么把模糊想法丢给 AI,让它产出研发看得懂的需求文档,以及怎么补边界条件和验收标准这两块它最爱的偷懒处,…