审查代理改动:看 diff、读说明、跑测试

所属教程:Claude Code 从入门到大师级完整教程 预计阅读:22 分钟

代理完成一轮改动后,审查是不可省略的最后一道闸门。本节把审查拆成"看范围、读改动、跑验证"三步,并给出可直接使用的只读命令、改动分级判断标准和安全红线。目标是让你既能高效采纳有用改动,又能及时拦下越界、误删和未验证的修改。

一、为什么不能只看代理的总结就接受

代理最后给出的说明是概括性结论,可能不会强调"顺带改动了哪些文件""删除了哪些分支""新增了哪些依赖"。仅凭文字总结接受改动,容易放过:跨文件连带修改、错误的边界处理、被顺手删除的代码、缺少测试的功能、以及调用了不安全或不必要命令等情况。审查的核心是对照真实改动(diff)与实际验证结果(测试/构建),而不是对照主观评价。

二、三步审查法

第 1 步:先看改动范围(改了什么、改了多少)

在会话内可用 /diff 查看当前工作区中代理产生的改动概览;如需逐行比对,代理会通过 Bash 执行终端版本控制命令(以下为通用 Git 只读命令,按你项目的实际情况使用,不会修改历史记录):

只读命令用途
git status列出被修改、新增、删除的文件清单,先判断范围是否在预期内
git diff查看工作区尚未暂存的逐行差异(增删行一目了然)
git diff --stat只看各文件增删行数统计,快速判断改动规模是否异常
git log --oneline了解近期提交脉络,避免代理改动与最近提交语义冲突

先确认文件数量和路径是否符合任务范围:一个"修空数组返回值"的小任务若改动了十几个文件,就应停下来追问原因,而不是继续接受。

第 2 步:读关键改动(改得对不对)

第 3 步:跑验证(是否真的可用)

静态阅读之外必须执行可重复的验证。命令以项目实际脚本为准,常见类别如下:

验证类别常见命令(按项目 package.json / 构建配置替换)通过标准
单元测试npm test / npm run test:unit全部用例绿,原有用例无回归
类型检查npm run typecheck / tsc --noEmit无新增类型错误
构建打包npm run build构建成功、无告警错误
lint 静态检查npm run lint无新增 lint 报错
手动走查启动本地服务复现目标行为目标场景行为符合验收标准
红线:未通过验证不接受

哪怕代理说明写得再完整,只要测试失败、构建报错或目标行为无法复现,都不应标记完成。可以把失败输出发回让它继续修复,形成"改动 → 失败 → 再修 → 再测"的闭环,直到验证全绿。

三、改动分级:接受、追问、拒绝

信号判断动作
范围与目标一致、边界处理清楚、测试全绿可接受确认后继续下一任务或准备提交
范围偏大但理由成立、个别细节存疑需追问要求解释关键改动、补测试或拆分改动
改动无关文件、删除疑似必要代码、出现凭据/硬编码、验证失败应拒绝/回退不采纳该轮改动,回到方案阶段重新对齐

四、批准模式与审查的配合

权限模式决定代理是否需要逐条请示,审查决定你对已产生结果的态度,两者互补:在 Manual(默认)模式下逐轮审批天然增加了中间检查点;进入 acceptEdits 减少文件编辑确认打扰时,更要在阶段末尾集中做一次完整的 /diff + 测试审查;涉及生产、密钥、对外发布的改动,即使验证通过也应由人工最终拍板。若需要精确控制某类命令,可用 /permissions 固化允许或拒绝规则。

五、需要回退时的通用做法

本节小结与下一节预告

本节你掌握了"范围 → 内容 → 验证"三步审查法、只读核对命令、改动分级标准与安全红线。下一节把本章串联成一份可照抄的首个项目实操清单:开工准备、执行节奏、时间线步骤、新手误区与验收自检表,帮你独立走完一个端到端小任务。

← 上一节:如何把任务讲清楚:背景、目标、约束、验收标准  下一节:首个项目实操清单与常见误区 →

本教程目录

返回教程列表 · AI最前沿首页 · AI百科