基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
  • 知识卡片碎片时间过考点
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
    • AI 热点每日 AI 资讯与动向
AI 工作台
简历
旧版
AIHT
内容
精选全部 AI 动态热点榜AI 日报收藏
分类
模型行业编程产品技术观点开源
更多
Agent 接入
返回首页开发者导航
AIHT
精选 / 资讯详情
8.0
热点
AI SCORE
编程提效2026-11-09 09:15

AI 代码激增,审查瓶颈在判断次数

dev.to · AI#代码审查#Agent#工程效能
Editor brief · 编辑速览

文章指出,Agent 带来的大量小改动会增加正确性判断次数,单纯加快阅读难以消化审查压力。引用的工程基准显示,Agent PR 在第 75 百分位的首次审查等待时间为 17.6 小时,未辅助改动为 3.4 小时。

文章思维导图
Knowledge map
拖拽缩放
AI deep read

AI 深度解读

AI 写代码越来越快,审查队列却可能越来越长。原文的核心判断是:团队真正缺的不是读代码的速度,而是判断每次改动是否完成任务的能力。面对大量 Agent 提交,把需求带进审查,比单纯增加 AI 审查工具更关键。

作者围绕 CodeRabbit、Kodus 和 GitHub Copilot code review,比较了需求从哪里进入、遗漏由谁确认、什么时候重新检查。对程序员有用的,是一套挑选和配置审查工具的方法;但文中没有团队落地后的效率对照数据,不能把它当成已经验证的提效公式。

审查为什么会被小改动拖住

作者引用 LinearB 的 2026 年软件工程基准,样本超过 810 万个 pull request。Agent PR 的代码行数中位数为 89 行,第 75 百分位为 293 行;无辅助开发在第 75 百分位为 157 行。审查开始前的等待时间,第 75 百分位分别是 17.6 小时和 3.4 小时。

这里要分开看。89 行说明不少 Agent PR 体量不大,但同一百分位下,293 行高于 157 行,不能拿这组数字证明「Agent PR 普遍更小」。它们也没有直接证明等待更久一定由 Agent 引起。作者提出的「改动更多、更碎」是全文的问题设定,所引数据只支撑了其中一部分。

这个设定仍然切中日常工作:十个小 PR,需要十次理解意图、判断边界、确认是否可以合并。总行数相近,判断次数却可能差很多。

作者因此主张,把「这段代码看起来对不对」改成「它完成了任务里的哪些要求」。前者容易让审查者每次重新理解上下文;后者有固定参照,可以列出已交付和未交付的项目。

需求必须进入审查上下文,否则模型再强,也只能围绕 diff 做判断。

不过,固定的是需求清单,不是验证成本。确认一个需求是否满足,仍可能需要读完整条调用链、检查测试,甚至运行系统。原文最后也承认,这套机制不会消除人工读代码的必要性。

工具能不能理解任务,先看它从哪里取需求

原文比较的三条路径,差别首先出在输入。

CodeRabbit 从 PR 描述里的关联关系读取 issue。GitHub 使用 fixes #123、closes #123 这样的语法;Jira 和 Linear 使用完整任务 URL。在 Azure DevOps,它还会读取原生 Development 界面关联的工作项,最多使用 200 个有效工作项。已删除或无权限读取的项目会被跳过,其余继续处理。

它给出的判断是 addressed、not addressed 或 unclear。但 issue 的评论和讨论线程不在分析范围内。需求正文说支持一种行为,后来在评论里决定取消,审查工具可能仍然按旧要求判断。因此,「已经关联 issue」和「拿到了完整需求」是两回事。

Kodus 的 Business Logic Validation 会依次从 PR 标题、分支名、描述中找任务 ID,再向连接的 Linear、Jira、Notion 或 Git Issues 读取任务。只有 tracker 返回完全匹配的 ID,引用才成立,避免把 UTF-8、gpt-5 这样的字符串误认成工单。

每个 PR 最多检查三个任务,还会跟进父任务和子任务;没有连接 tracker 时,可以把任务文本粘进命令。检查结果细到每条需求,状态包括 MET、PARTIAL、MISSING、CHECK MANUALLY、NOT IN TASK,并附上判断依据所在的文件和行号。

GitHub Copilot code review 则需要更谨慎地描述。按作者查阅的公开文档,它会参考仓库自定义指令和 review effort level,但配置文档及概念页没有说明承载本次任务要求的输入。

这只能得出「根据文档,需求检查能力未知」,不能推断产品内部一定没有相关能力。仓库规范告诉工具代码应该怎么写,本次需求告诉工具这次应该交付什么,两者解决的问题不同。

发现遗漏之后,谁能让它通过

生成缺项清单只是第一步。真正影响流程的是:谁有权认定这个缺项可以接受,这个决定能保留多久。

CodeRabbit 的关联 issue 评估会报告状态,但原文所查文档没有说明逐条需求的关闭机制。审查者有异议时,可以通过评论和标签处理。它的 Slop Detection 也不会阻止合并:识别出低质量 PR 后,会在 walkthrough 评论里警告,部分平台还会加标签,由维护者判断如何处置。

Kodus 则提供明确的 ACCEPTED 状态,而且接受缺项的人不能是 PR 作者。权限要求随平台变化:GitHub 需要 write access,GitLab 需要 Developer 或以上权限,Bitbucket、Azure Repos 和 Forgejo 需要组织成员身份。

只要任务文本不变,接受决定会保留到后续复检;任务被编辑后,相关需求必须重新接受。这个规则把「这次允许少做一点」变成有责任人的记录,也避免需求变了却继续沿用旧结论。

但 ACCEPTED 不等于强制合并门禁。原文明确说,Kody 的评论是信号,不是 status check,本身不会阻止合并。CodeRabbit 也没有在这里提供自动拦截的保证。

复检频率同样需要主动配置。CodeRabbit 会在后续审查中重新检查已加标签的 PR,完整分析没有发现问题后才清除发现。Kodus 默认在首次审查时检查,之后通过评论或强制审查触发;也可以配置成需求仍有缺项时,每次 push 都检查。

每次 push 都复检,就会让每次 push 都产生一次新的验证。

作者还提到工具定价中的每开发者补充额度和文件数量上限,但没有给出具体价格或额度。能拿走的判断是:自动检查也有成本,不能只看单次结果是否方便,还要看提交频率会把它重复多少次。

我的判断

我认同把任务要求带进审查。对前端和全栈开发来说,代码符合仓库规范,不代表筛选条件、错误提示、接口边界都按需求完成了。让审查结果逐项对应验收要求,至少能让讨论有明确落点。

但作者关于扩展性的结论偏强。需求数量固定,只能限制检查项目的数量,不能保证每项检查都便宜。跨文件行为、权限边界和隐含约束,未必能靠一行 MET 可靠确认。

这套做法还有一个组织前提:任务正文要完整、可验证,并且持续维护。临时决定都留在聊天记录里,或者一个 PR 混入多个未记录的改动,工具拿到的参照本身就不完整。Kodus 最多三个任务、CodeRabbit 不读 issue 讨论,也都是实际边界。

与只读 diff 的审查相比,需求校验补上了交付意图;与测试、人工审查相比,它提供的是另一层证据。原文没有报告误报率、漏报率,也没有给出启用前后的等待时间或人力变化,所以「更能应对规模增长」目前仍是有道理的工程主张和经验判断,不能直接当作效果承诺。

能拿来做什么

  • 先抽查现有 PR 是否关联了可解析的任务,再决定是否启用需求校验。标题、分支和描述都没有任务引用,连接 tracker 也很难发挥作用。
  • 给前端或 Node 任务写出能逐条验收的行为,并把讨论后的最终决定回填任务正文。尤其使用 CodeRabbit 时,不要指望 issue 评论里的变更自动进入检查。
  • 试用工具时,核对一条需求从输入到输出的完整链路:工具读到了什么、依据哪段代码判断、哪些结果要求人工确认。不能只凭审查评论的数量判断效果。
  • 在 Agent 频繁 push 的仓库里,先确定复检节奏和缺项接受人,再扩大使用范围;同时核实仓库已有的合并规则,避免把提示性评论误当成会阻止合并的检查。
Original source

本文由 AI 通读原文后重新编写,观点部分为站内判断,细节以原文为准,来源 dev.to · AI,原文版权归原作者所有。

阅读原文
上一篇
手写流式 AI 聊天的实现与维护经验
下一篇
给文档事实加指纹,让过期触发构建失败

资讯速览

dev.to · AI · 2026-11-09 09:15

AI 评分 8.0 / 10

相关标签

#代码审查#Agent#工程效能

继续阅读

  • Claude Code 如何发现和筛选技能
  • 手写流式 AI 聊天的实现与维护经验
  • 给文档事实加指纹,让过期触发构建失败
  • 借助 Claude 实测 SQLite 扩展的 C 与 Rust
  • OpenMausBot:在聊天界面调度本地编码代理