实测4个AI互审代码:最宽松人设也5颗雷全中,但严重度评级不一致

掘金作者kyriewen在2026年10月做了一组小实验:让4个配置不同人设的AI评审同一段预埋5个缺陷的50行React搜索Hook代码,想证明AI互审会互相放水,结果20次挖雷全中、零误报。更值得注意的是,同一缺陷在不同评审员那里被标成P0、P1、P2不等。

一句话看懂:掘金作者kyriewen在2026年10月做了一组小实验:让4个配置不同人设的AI评审同一段预埋5个缺陷的50行React搜索Hook代码,想证明AI互审会互相放水,结果20次挖雷全中、零误报。更值得注意的是,同一缺陷在不同评审员那里被标成P0、P1、P2不等。

事件核心:发生了什么

实验对象是一段约50行的useSearch Hook,作者预埋了5个缺陷:setTimeout未清理、请求竞态、loading只置true不置false、用户输入直接传入new RegExp、未转义内容拼进innerHTML导致XSS,另外依赖数组漏掉了source。4个AI评审员分别采用资深中性、严审、安全审查、宽松鼓励四种人设,彼此不通气,评分标准提前写死:只泛泛说“错误处理可以更好”不算命中,命中不足3个仍给Approve视为放水。

结果4个评审员均命中5/5,最“温柔”的宽松人设也逐条点出问题,结论为Request Changes。作者随后伪造一份只挑小问题、结论LGTM的review,交给3个新实例判断是否合入,三例均拒绝;再以“应届新人”和“AI生成初稿”为署名变量测试,两边都给出Block。素材中未说明具体模型版本,结果仅限该次单跑实验。

为什么重要

这组实验削弱了“AI审AI必然互相给面子”的直觉判断,但更实用的发现是:检出能力相对稳定,严重度定级不稳定。同一个loading卡死问题,被分别标为P0、P1、P2;同一处XSS也有P0与P1两种判定。对准备把AI放进code review流程的团队来说,这意味着单一评审员的定级不能直接当作修复优先级。

对用户/开发者/创作者的影响

开发者可以把AI评审用于初筛,但应让多个实例各审一遍:问题取并集,都提到的优先修,严重度采用投票而不是听第一个开口的。人设提示词能调整语气,却无法可靠地让AI“眼里留情”。需要说明的是,50行埋雷代码与数千行历史遗留模块差异很大,实验未覆盖后者;单次运行也受模型随机性影响,作者本人也列出了这些边界。

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

值得关注的后续

一是不同模型和多次重复运行下,检出率与定级一致性是否变化;二是主流代码托管平台或CI工具是否会推出多评审员聚合、严重度投票类功能;三是真实团队数据中,AI评审漏掉的高危缺陷类型。作者在文末向团队征集实际漏报案例,目前尚无公开汇总。

来源:juejin

celebrityanime
celebrityanime
文章: 30393

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注