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

先写变更约定,让AI提交更易审查

dev.to · AI#AI编程#代码审查#工程规范
Editor brief · 编辑速览

文章指出,智能体容易在小修复中夹带依赖、重构和配置调整,使评审者难以判断变更范围。作者建议在实现前建立简短的 PR 变更约定,让智能体执行和人工审查都有明确依据。

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

AI 深度解读

AI 写出的 PR,最难审的往往不是某一行代码,而是「为什么连这个文件也改了」。一次空值判断修复,顺手带进依赖升级、测试工具重写和配置调整,每处都能解释,整个 PR 却失去了边界。

作者提出的办法很轻:动手前写一页变更清单,约定目标、范围和验证方式,审查时逐项核对。它不能保证代码正确,但能让人看清自己到底在批准什么。对已经让 Agent 独立改代码的团队,这比再加一段漂亮的 AI 总结更有用。

为什么写完再补总结,管不住变更范围

作者对 AI 编程的观察是:生成代码变快,也让扩大范围变得便宜。人顺手重构一个模块,至少要付出打字、切换思路的成本;Agent 接到模糊任务后,可能把附近所有能改进的地方都当成任务的一部分。

问题不在于这些改动一定不好,而在于它们是否应该一起交付。

事后总结回答的是「已经做了什么」。模型很擅长为现成的 diff 编出流畅说明,却不能据此证明这些决定事先获得了认可。作者建议增加的 manifest,可以理解为一份实施前的变更约定:目标是什么,预计改哪里,靠什么证明完成,遇到哪些变化需要停下来确认。

审查的依据,应当包括实施前的约定,而不只是实施后的解释。

作者强调清单只保留 6 个字段。下面这份模板用于固定审查需要的信息,原样放进 PR 模板即可:

## Agent change manifest

### Task
One sentence describing the user-visible outcome.

### Expected scope
- Files or directories expected to change
- Explicit non-goals

### Approach
The smallest intended change and any important constraint.

### Evidence
- Checks to run
- Manual behavior to verify

### Risks and rollback
What could break, and how to undo the change.

### Not verified
What the agent could not test or confirm.

要重点看 Expected scope 和 Not verified:前者让范围可以核对,后者让未完成的验证不至于被「任务已完成」盖过去。它不是提示词记录,也不是 800 行工作日志,留下的是约定和证据。

一次表单修复,怎样划出够用的边界

作者给了一个接近真实场景的示例:个人资料里的 bio 是可选项,但留空时无法保存。原文称它为「real-ish example」,没有提供对应仓库或实际运行结果,因此应把它当作示范,不能当作修复效果的实测记录。

下面这份清单把一个模糊的「修复保存问题」,收敛到了具体输入处理和文件范围:

### Task
Allow users to save a profile when bio is empty.

### Expected scope
- `app/profile/ProfileForm.tsx`
- `app/profile/profile.test.tsx`
- No schema, dependency, or API changes.

### Approach
Treat an empty bio as undefined before the existing validation call.

### Evidence
- Run the profile test file.
- Manually save a profile with a blank bio in localhost.

### Risks and rollback
Risk: whitespace-only input behavior changes. Roll back the normalization line.

### Not verified
Did not test the mobile layout.

最该核对的是 No schema, dependency, or API changes. 这一行:如果 diff 里突然多了包、后端迁移或接口修改,审查者马上就有理由追问必要性。

这份示例也没有只写「测试通过」。它指定运行资料页测试,并在 localhost 手动保存空白 bio;同时指出纯空格输入可能受影响,移动端布局没有验证。范围、风险和证据由此连了起来。

实际执行分两阶段:先让 Agent 检查代码,只提出清单;任务负责人修正范围后,再让它实施。作者说小改动花一分钟就能完成这一步,但没有给出计时数据。

遇到新证据可以调整清单。比如发现必须修改另一个文件,就补上原因、更新验证项,再继续。重点是让扩大的范围成为一次可见的决定,避免等到审查 diff 时才发现「修个按钮」变成了页面重做。

审查分三遍,先看文件,再看行为和证据

第一遍先扫文件列表。每个变更文件,都应出现在预期范围里,或者有补充解释;预计要改却没有改的文件,也可能提示方案没做完整,但仍需结合实际判断。

夹带的全局格式化和无关重构,作者主张拆成独立 PR。即便重构合理,把它混进 bug 修复,也会增加寻找关键变更的成本。

作者还提到,大型研究发现失败的 Agent PR 往往涉及更多文件、更多检查失败和无关修改。不过原文没有给研究名称、样本量或链接,这里只能把它作为作者引用的论据,不能当作已经核实的统计结论。

第二遍沿用户实际操作路径审查。UI 改动就在本地浏览器里操作;API 改动要验证请求和错误响应;后台任务要检查重试与幂等,也就是重复执行会不会造成重复副作用。支付改动则应关注状态如何流转,不能只看新函数是否写得漂亮。

AI 可以协助这一遍审查,但需要拿到清单、diff、相关上下文和已执行检查。作者反对让它把所有猜测直接发成 PR 评论,建议先由人核实,再要求修改,减少围着虚构问题返工。

第三遍检查证据:声明的测试是否执行,构建失败是否如实报告,还有哪些浏览器状态、代码分支或外部依赖没验证。

「没有验证」是需要交接的信息,不该被包装成「应该没问题」。

作者据此提出小团队规则:每个 PR 一份清单,目标描述用户可见结果,每个文件变更都有范围依据,依赖、CI、迁移和权限变更必须获得审查者明确批准。最后这条尤其严格,因为它们可能影响当前业务代码之外的执行过程,需要懂相应领域的人参与审查。Agent 的最小权限也能配合这条规则,在执行环节限制未经批准的改动。

我的判断

我认同它把「控制范围」提前到了实施阶段。只对 Agent 说「保持 PR 小一点」,没有定义这次任务的小是什么;只靠事后总结,又容易接受一份听起来合理的解释。文件范围、非目标和验证方式,比这两种做法更容易核对。

但这仍是一套经验方法。原文没有提供团队规模、试行前后审查耗时、缺陷率或返工率,也没有与普通 PR 模板做对照。「它有效」是作者的判断,不能据此承诺审查效率会提高多少。

它还有一个前提:任务负责人有能力判断初始范围。陌生代码库里的问题可能跨层出现,预期文件列表不能变成禁止调查的边界。合理扩展需要记录理由;如果只奖励「一个文件都没多改」,也可能把必要修复压掉。

与现有工具相比,它最适合承担范围说明和验证交接。测试负责检查行为,CI 执行自动检查,代码所有者规则帮助找到合适的审查人。清单无法替代这些环节,也挡不住团队匆忙点下批准。

能拿来做什么

  • 下次让 Agent 独立修复表单或实现功能时,先让它只读检查并填写这 6 个字段。确认目标、预计文件和非目标后,再进入修改阶段;一行拼写修正可以省去这套流程。
  • 审前端 PR 时先扫文件列表,再打开 localhost 走清单里的操作路径。像空 bio 这样的修复,要同时核对输入处理、纯空格风险和对应测试,不能只接受「保存成功」的结论。
  • 给 Agent 的审查输入同时附上 manifest、diff、相关文件和检查结果,并要求明确填写 Not verified。AI 提出的疑点先由人核实,再转成修改要求。
  • 按作者建议试行两周,回看哪些 PR 更容易审、哪些仍然混乱,再调整模板。涉及依赖、CI、迁移或权限时单独明确审批要求,无关重构拆成后续 PR。
Original source

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

阅读原文
上一篇
用Git工作树隔离并行AI开发任务
下一篇
TorchTPU开源,PyTorch原生接入TPU

资讯速览

dev.to · AI · 2026-10-23 06:16

AI 评分 8.0 / 10

相关标签

#AI编程#代码审查#工程规范

继续阅读

  • Claude Code跳过权限确认的风险边界
  • 用Git工作树隔离并行AI开发任务
  • TorchTPU开源,PyTorch原生接入TPU
  • Agent评测如何兼顾真实与可复现
  • 语音Agent工具参数怎样设计才省交互