只是让AI改一条lint规则而已。
可打开代码一看,一整套没人要求过的精密过滤系统已经悄悄加了进去。原本覆盖范围很广的检测逻辑,被AI自作主张地收窄了。
测试通过了,代码审查也通过了。可这真的是我们想要的产品吗?
大家都以为,抓住bug就万事大吉了
AI代码审查工具市场早已一片火热。CodeRabbit、Greptile、Qodo,甚至Cursor BugBot——大家做的事其实都差不多:扫一遍PR的diff,找出bug、安全漏洞、代码风格问题。
这些工具之间的性能竞争其实相当激烈。在一项针对50个开源PR的基准测试中,Greptile抓住了82%的真实bug,比CodeRabbit多找出50%的bug。不过误报(false positive)也更多——11起 vs 2起。
| 工具 | 侧重点 | 价格 |
|---|---|---|
| Greptile | 索引整个代码库,抓跨文件的bug | $30/用户/月(超过50次后计费) |
| CodeRabbit | diff摘要,配置快 | $24~48/用户/月 |
| Qodo | 校验Jira工单合规性 | 免费~$30/用户/月 |
这些都是好工具。但它们共同关注的都是"这段代码技术上对不对"。只要没bug、遵守了风格指南、测试通过,就算合格。
可是,没有bug的代码反而可能更危险
Prelint团队的问题意识正是从这里出发的。Prelint创立的契机本身就是一次代码变更事件——AI agent完全无视了团队的事件驱动架构,绕过它直接实现了功能。代码是能跑的,但那不是团队想要的方式。
这种现象被称为product drift。技术审查通过了,CI也通过了,但实际上跳过了事务性发件箱(transactional outbox)模式、引入了未经批准的依赖、改动了权限规则,或者凭空捏造出根本不存在的业务需求。
Stack Overflow博客把这种现象叫做"黑箱AI drift"。"提示词进去,结果出来,但中间做出的决策却看不见"。前面提到的那个lint规则案例,正是出自这篇博客。
数据也证实了这一点。GitClear分析了2023~2026年的代码库后发现,代码块重复率增长了81%(40.3 → 73.0),复制粘贴代码的占比从9.4%升到了15.7%。与此同时,通过移动代码进行整理的重构比例却从21%骤降到3.8%。也就是说,AI写代码是快了,但相应的代码整理却没有跟上。
注意
AI agent一个下午就能生成50个文件。单看每个文件都没问题,但合在一起看,却可能违反了一半的架构决策。按文件逐个审查是抓不出这种问题的。
于是,"决策账本"应运而生
Prelint的定位很明确:"不是代码审查员,而是decision ledger"。它把仓库里的ADR(架构决策记录)、文档、过往决策全部汇总成一本"决策账本",再把每一个PR都拿来跟它逐条比对。
运作方式分三步:(1)把产品规格以Markdown/YAML的形式存进仓库 (2)AI agent照常生成PR (3)Prelint在几秒内标出违反规格的地方并提出修改建议。
Prelint自己针对331个开源仓库、共56,706个PR做的研究,得出了一个有意思的结果。把同一个PR分别在"有文档"和"无文档"两种条件下各审查一遍,有文档时的标记率是36.6%,无文档时只有13.3%。用Prelint团队的话说:"文档不是让你多找到几个bug,而是让你找到不一样的bug。"
| 传统AI代码审查 | decision ledger方式 | |
|---|---|---|
| 判断标准 | bug·风格·安全性 | ADR·产品规格·历史决策 |
| 通过条件 | 技术上没问题就OK | 要符合产品意图才OK |
| 审查单位 | 逐个diff | 对照仓库全部决策历史 |
| 并行效果 | - | 额外抓住其他审查员遗漏问题中约40% |
这不是要取代其他工具,更像是额外加了一层。如果说Greptile、CodeRabbit看的是"这段代码安不安全",那Prelint看的就是"这段代码是不是我们决定要做的那个产品"。
马上就能用起来的方法
- 先把核心决策文档化
不用把所有东西都写成ADR。只需把最近3个月里争论过的架构·权限·数据流决策,挑5~10个整理成Markdown就够了。 - 接入仓库
装上GitHub/GitLab应用,就会自动接入现有的PR工作流。 - 与现有审查工具并行运行
CodeRabbit、Greptile照常保留,再加上Prelint。因为二者关注点不同,不会重叠。 - 查看第一批被标记的案例
看看Prelint最先标记出来的PR,借此判断团队的决策账本到底有多准。 - 把决策账本当成活文档来维护
每个季度回顾一次过时的决策,清掉不再适用的规则。账本一旦陈旧,只会带来更多误报。
从"代码审查"到"意图审查"
韩国开发博客Flowkater这样总结AI时代代码审查的方向:"审查的应该是规格而不是diff,验收标准要提前定义好"。Prelint的decision ledger,可以说正是把这个想法做成产品的一个案例。
想深入了解的话
Prelint官网 可以查看运作方式、价格,以及实际PR审查的演示。 prelint.com
Prelint AI Code Pulse研究报告 分析331个仓库、56,706个PR的原始数据和方法论。 prelint.com
Black box AI drift(Stack Overflow Blog) 探讨AI悄悄做出没人要求过的设计决策这一问题的原文。 stackoverflow.blog
Best AI Code Review Tools 2026(Greptile) 通过基准测试比较CodeRabbit、Greptile、Qodo等8款工具的文章。 greptile.com
AI Architecture Drift(TechDebt Guru) 整理了AI agent侵蚀架构的5种模式,以及GitClear的相关统计数据。 techdebt.guru
ADR 2.0 —— 写给人类与agent的共用契约 一篇韩国博客文章,探讨ADR在agent时代如何演进。 juhyungson.com



