转写说明

本文基于已校验的公开原文进行结构化转写与事实梳理,非原文转载。 转写保留可核验的技术事实,并将工程建议与来源观点明确分开。

核心结论

好的代码审查 Prompt 不是让 AI 说出更多意见,而是让它更准确地指出真正会导致线上问题的缺陷。审查 Prompt 的核心作用是将宽泛的“帮我看看这段代码”转化为结构化的审查任务书,使 AI 能够像一个有审查清单的工程搭档而不是只会挑语法风格的评论器。

有效审查需要满足四个条件:提供完整的项目上下文和验收标准;使用固定顺序和明确标准进行检查;要求每个问题包含触发条件、代码证据和严重程度分级;将发现的风险转化为可执行的测试场景,而不是直接接受 AI 的修改建议。

代码审查 Prompt 不能代替开发者承担最终责任,AI 的结论需要与测试验证和人工判断结合使用。

能力机制

审查前的上下文准备是质量基础。作者建议准备四类上下文:需求和验收标准用于判断实现完整性;项目技术约定用于检查代码风格一致性;变更范围用于界定审查边界;相关代码和测试用于实际检查。

审查框架采用五问法结构:是否实现正确需求、边界条件是否可靠、是否符合项目写法、是否存在安全和数据风险、如何被证明正确。这五个问题决定了审查的基本方向。

实际执行时建议分三轮进行。需求审查阶段暂时忽略代码风格,只检查业务理解和实现一致性。风险审查阶段聚焦运行时的隐蔽缺陷,包括边界条件、并发、异常回滚和外部依赖。可维护性审查阶段评估代码未来修改成本,但不将个人偏好作为缺陷报告。

问题输出采用标准格式:编号、严重程度、文件位置、触发条件、代码证据、最小修改建议。严重程度分为 Blocker、High、Medium、Low 四级,Blocker 和 High 问题优先输出。项目事实、代码推断和待确认项需要分开说明。

发现问题后,作者建议先让 AI 生成测试设计而非直接修改代码。测试设计需要明确前置数据、操作步骤、预期结果和需要验证的数据库或日志状态。

审查完成后通过追问机制持续完善:要求给出代码证据、区分确定问题与潜在风险、给出最小修改范围、对修改后的 Diff 进行二次审查。

快速开始

在开始审查前,需要准备以下信息并填入 Prompt:

需求部分:业务目标、范围边界、验收标准。缺少验收标准会导致 AI 难以判断实现不完整还是需求本来就没有要求。

项目上下文部分:技术栈、模块职责划分、异常处理规范、鉴权规则、事务边界、日志规范、测试要求。

变更范围部分:本次允许修改的文件或模块、本次不应修改的文件或模块。明确不应修改的范围可以减少 AI 提出大范围重构建议。

待审查代码:至少提供变更前后的核心代码、调用关系、相关实体和已有测试。不要一次性上传整个仓库,先提供最小上下文,等 AI 发现缺口后再补充。

审查 Prompt 可以直接使用以下结构:

请作为一名严格但务实的代码审查者,审查下面的代码变更。

一、需求(填入业务需求、范围和验收标准)

二、项目上下文(填入技术栈、模块职责、异常、鉴权、事务、日志和测试规范)

三、变更范围(填入允许修改和不应修改的文件或模块)

四、待审查代码(粘贴代码、Diff 或相关文件)

请按以下顺序审查:需求一致性、正确性和边界、异常和数据一致性、安全、并发和幂等、可维护性、测试和可观测性。

最后输出:必须修复的问题、建议修复的问题、可以暂不处理的问题、建议补充的测试、仍然缺少的上下文。

适用边界

结构化代码审查 Prompt 适用于以下场景:需要将 AI 审查结果作为开发参考但需要明确责任边界;团队希望建立统一的审查流程标准;复杂变更需要分阶段检查需求、风险和可维护性。

不适用于以下场景:没有提供需求和验收标准,AI 无法判断实现完整性;期望 AI 自动决定架构方案或给出最终合并许可;追求代码风格统一而非功能正确性检查。

使用限制需要明确:Prompt 不能自动批准代码合并,也不代替开发者承担最终责任;审查结果需要开发者阅读代码、测试验证行为、必要时进行本地调试;AI 可能给出不准确的结论,需要人工复核。

使用原则是:先给上下文,再给审查标准,要求证据和触发条件,把问题转成测试,最后做最小修复和二次审查。

核验清单

审查前检查项:是否已提供需求、范围和验收标准;是否已提供项目约束和相关代码;是否要求 AI 区分事实、推断和待确认项;是否要求问题包含触发条件和代码证据;是否要求按严重程度排序输出。

审查过程检查项:是否优先审查业务、边界、安全、并发和一致性;是否没有把个人偏好当成正式缺陷;是否让 AI 把风险转换成测试场景;是否根据最小修改范围处理问题。

审查后检查项:是否对修改后的 Diff 做了二次审查;是否没有把 AI 的结论当作最终合并许可;是否确认 Blocker 问题已关闭;是否确认 High 问题已有处理结论;是否验证了关键测试已执行;是否确认变更范围符合预期。

仍需人工确认的典型项:数据库唯一约束的实际配置;外部接口的幂等能力;生产环境的实际配置;业务规则的最终确认。

来源与核验

  • 原始文章
  • 页面事实以原始来源及其引用的官方资料为准;版本、星标和模型能力会随时间变化。
  • AI Stack 不公开抓取到的全文快照,只发布独立转写与来源入口。

站内链接

相关文章