一、背景

1.1 研发痛点与优化诉求

传统代码审查(CR)多在提交合并请求(MR)后进行,存在效率低、质量管控滞后等问题。结合三类核心研发场景,具象化剖析痛点及对应优化诉求,为后续核心痛点归类奠定基础:

1.1.1 复杂业务 MR 审查困境

研发场景:复杂需求 MR 常伴随数千至上万行代码改动,开发者准备材料、审查者逐行审核均需投入大量精力,形成低效闭环。
核心诉求:实现本地完成审查与修复后再提交 MR,缩短合码周期;通过「开发 - 审查 - 修复」本地闭环,减少跨平台确认成本。

1.1.2 本地审查标准乱象

研发场景:开发者借助大模型本地审查时,标准与工具不统一,要么审查范围过宽引发风险,要么优秀实践无法复用,审查效果参差不齐。
核心诉求:建立统一审查规范,复用最佳实践,提升本地审查质量与一致性。

1.1.3 回归缺陷频发

研发场景:每次代码变更均有概率引入新 bug,复杂代码或缺乏充分测试场景下概率更高,新人因认知不足更易引发回归缺陷。
核心诉求:降低审查成本,帮助建立架构视角,减少回归缺陷。

结合上述三类研发场景痛点,进一步提炼核心问题与量化指标,明确方案落地重点,为后续解决方案提供针对性方向。

1.2 核心痛点与核心指标

1.2.1 核心痛点

结合 1.1 三类核心研发场景,提炼核心痛点,明确方案需解决的核心问题,具体如下:

痛点类别 痛点概括
研发流程低效 复杂 MR 审查与修复跨平台、耗时久,合码周期长,需减少跨平台确认成本。
审查标准不统一 本地审查标准、工具杂乱,要么范围过宽有风险,要么最佳实践难复用。
质量保障不足 线上低级问题可通过 CR 规避却遗漏;新人代码质量缺乏有效管控,易引发回归缺陷。

1.2.2 核心指标

聚焦核心痛点,通过 CR 左移减少线上问题(重点规避低级问题、回归缺陷),实现研发效率与代码质量双提升。

1.3 方案目的与 CR 左移定义

1.3.1 方案目的

结合 AI 技术实现 CR 左移,构建高效优质研发工作流,推动问题早发现、早解决,呼应核心痛点并达成核心指标。

1.3.2 CR 左移定义

传统流程

开发完成

提交 MR

CR

问题修复

重新提交 MR

合入代码

CR 左移流程

开发中 (同步 CR)

本地 CR + 问题修复

提交 MR (已合规)

快速合入

将 CR 从合入阶段左移至开发阶段,让开发者在开发过程中完成审查与修复,实现本地开发闭环,提供高效协作与全面质量保障。

二、解决方案

2.1 架构、工具集成与审查模式

基于 CR 左移理念,构建「开发者 - 工具 - AI 模型」三位一体架构,实现本地审查、标准统一、智能修复,架构如下:

2.1.1 整体架构

Cursor IDE

MCP Server Tool

外部 API 服务

获取业务文档

获取代码变更

注入业务上下文

注入代码差异

注入审查流程

注入参考案例

触发操作

调用插件

调用

检索项目上下文

补充代码库信息

生成结构化提示词

返回审查结果

展示优化建议

Confluence 文档 API

GitLab 代码仓库 API

Confluence 业务上下文

代码变更 Diff 信息

代码审查标准流程

历史审查案例

提示词生成引擎

开发者

发起代码审查请求

MCP 客户端插件

代码库上下文索引

大模型审查引擎

2.1.2 工具集成

工具 核心用途
Cursor IDE 内嵌审查功能,实时反馈问题、自动修复高危项,实现本地闭环
MCP Server Tool 提供标准上下文与工作流,提升 LLM 审查建议准确性、一致性

2.1.3 多模式审查

  1. 推荐模式:智能选择暂存区 diff 代码,聚焦本次修改,提升效率;
  2. 可选模式 1:识别 MR 链接、@Git 提供的 diff 代码,适配团队协作。

推荐模式:智能选择暂存区 diff

可选模式 1:提供 MR 链接 / @Git

输入 CR 指令

检测用户输入

选择审查模式

获取暂存区 diff 代码,聚焦本次修改

解析链接,获取对应 diff 代码

开始审查

补充:支持自定义审查规范,可导入多语言规范或个人习惯。

2.2 核心工作流程

大模型服务 代码库索引 MCP 服务端 Cursor 编辑器 开发者 大模型服务 代码库索引 MCP 服务端 Cursor 编辑器 开发者 未指定目标分支时 默认使用 release 分支 opt [可选:指定对比分支] 文件过滤 → 分组排序 → 优先级处理 发起代码审查 选择工程 / 审查规范 传入源分支 / 目标分支 调用代码审查提示词接口 检索上下文 + 采集代码变更 逐文件生成提示词并请求审查 返回结构化审查结果 汇总全量审查建议 展示结果并提供一键修复

三、提示词工程

提示词工程是 AI 审查准确性的核心,通过分层结构化设计、合理任务边界及思维链优化,确保 LLM 生成精准可用的审查建议。

3.1 提示词生成流程

开始

输入代码变更

解析变更 Diff

提取代码上下文

构建基础审查提示词

自定义审查规则

应用审查规则

生成结构化提示词

分解审查任务

质量规范检查

最佳实践检查

安全合规检查

性能优化检查

生成最终审查提示词

结束

3.2 结构化 Prompt 设计

提示词工程核心是分层结构化设计,兼顾可扩展性与可维护性,同时结合 LLM 及 Cursor 规范,采用伪 XML 格式构建 Prompt,确保审查建议精准。

提示词分为三大核心类别,具体如下:

类别 子类 核心说明
指导原则 审查规范 默认 Web 技术栈规范,支持多语言扩展
问题分类 含安全、规范等多类问题分类
评分标准 分级评分,明确修复优先级
自动修复规则 定义 Cursor 自动修复规则
审查原则 聚焦核心、基于上下文审查
格式化输出 review_to_do_list.md 记录任务列表与进度
review_result.json 结构化存储审查结果,便于追溯
diff 存储待审查 diff 代码作为上下文
工作流程 前期准备 初始化文件、确定 diff 范围
任务规划 按「工程 - 文件 - diff 行」规划
任务执行 逐次执行审查任务
质量验证 验证审查结果准确性
记录反馈 收集反馈用于优化

3.3 任务边界与自动修复决策

明确任务边界以避免无效消耗,结合问题评分构建自动修复决策链,实现效率与安全性的平衡。

3.3.1 核心任务边界

  • 文件类型边界:仅审查前端核心文件(*.ts / *.js 等)
  • 变更范围边界:仅关注 diff 新增代码(‘+’ 行)
  • 问题类型边界:重点排查逻辑漏洞、高危风险
  • 推测边界:基于明确上下文,不做假设性推测
  • 修复边界:根据问题评分决定修复方式

3.3.2 自动修复决策链

以问题评分为核心依据,智能判断修复优先级,优先自动修复低风险、高评分问题,高危问题提示人工确认,平衡修复效率与安全性。

检测到问题

获取评分

评分 ≥ 4 分?
(高危)

自动修复

记录结果

评分 = 3 分?
(建议修复)

询问是否修复

评分 = 2 分
(提醒类)

仅提供修复建议

继续审查

3.4 工作流程与思维链设计

结合 ReAct 框架(Reasoning and Acting)、COT 链式思考、Prompt Chaining 提示词链,拆解复杂任务,提升审查准确性。

技术类型 核心说明
ReAct 框架 边推理、边行动,实现「思考 - 执行 - 反馈」协同
COT 链式思考 拆解复杂任务,逐步推进避免遗漏
Prompt Chaining 提示词链 以上一步结果作为下一步输入,保证上下文连贯

3.4.1 思维链闭环设计

流程图按「整体思维链 → 单任务思维链 → 单问题思维链」层级嵌套,清晰呈现从宏观到微观的审查逻辑,保留各环节核心细节,避免碎片化。

子流程:单个文件审查

子流程:单个问题处理

初始化审查上下文

规划整体审查任务

执行审查任务

验证审查质量

记录反馈并优化

获取单个文件 diff

解析文件核心逻辑

逐行审查代码

识别代码问题

完成单文件审查闭环

提取问题上下文

判定问题类型

给出问题评分

生成修复建议 / 执行修复

记录问题处理结果

四、上下文工程

提示词工程为 AI 审查提供精准指引,而上下文工程则解决审查过程中的上下文管控难题,两者协同发力,共同保障 AI CR 的准确性与高效性。

核心解决「上下文过长致幻觉、过短致不准确」的矛盾,通过精准管控提升审查质量。

4.1 核心问题

核心矛盾:上下文越长,AI 幻觉概率、资源消耗越高;但代码审查需大量上下文,且 Cursor 场景下易触发窗口限制,影响审查效果。

4.2 上下文精准获取

4.2.1 信息获取策略

  1. 渐进式沟通:逐步确认审查范围,形成清晰上下文后再执行;
  2. 精确范围:通过 MR 链接、@Git 获取精准 diff,最小化上下文消耗;
  3. 文件过滤:聚焦核心文件,避免无关信息干扰。

4.2.2 渐进式中间产物生成

采用「分而治之」思路,每次仅审查当前文件 diff,避免全量加载上下文,流程如下:

开始渐进式审查

获取工程 diff 列表

过滤待审查文件

选取首个待审查文件

加载文件 diff 及上下文

执行审查并生成结果

保存文件审查结果

仍有未审查文件?

汇总审查结果

4.3 任务粒度优化

复杂审查任务需合理规划粒度,解决上下文超限、验证困难等问题,提升审查可控性与效率。

4.3.1 核心痛点

  • 审查数量多,缺乏规划易混乱;
  • 无规划结果难以验证,增加后续验证成本;
  • 任务过复杂易超出上下文限制,导致 AI 遗忘早期内容。

4.3.2 优化方案

借助 Cursor To-Do List 任务列表管理功能,按「工程 - 文件」规划审查任务,清晰呈现任务范围与进度,让开发者直观把控审查情况,精准解决上述痛点。

Cursor To-dos 效果示意:

Cursor To-Do List 任务列表

待审查文件列表

任务进度跟踪

任务上下文引用

审查 react.tsx / test.ts / vue.vue

待审查:3 个

已审查:0 个

已修复:0 个

4.4 记忆回溯

采用「工程 - 任务 - 文件」最小块管理上下文,搭配临时文件实现记忆回溯,有效解决上下文管理难题,提升 LLM 审查精准度,核心临时文件设计如下:

4.4.1 review_to_do_list.md

核心作用:记录审查任务列表、跟踪进度等信息,为 LLM 提供上下文引用,示例如下:

# review_to_do_list.md

# 核心:记录审查任务与进度,供 LLM 追溯

## 待审查文件
src/components/button.tsx - 等待审查

## 进度统计
待审查文件:1 份
已过滤文件:若干
已审查文件:0 份
发现问题:0 个

4.4.2 review_result.json

核心作用:结构化存储审查结果,便于追溯、统计及后续上下文复用,示例如下:

[
  {
    "body": "**分类:** 健壮性问题\n**分数:** 中等  // 用分级替代具体分数,避免数值\n**问题描述:** \nfetch 请求缺少错误处理,易引发运行异常",
    "position": {
      "position_type": "text",
      "new_path": "src/components/button.tsx",
      "base_sha": "",
      "start_sha": "",
      "head_sha": "",
      "new_line": 12
    },
    "applied": true
  }
]

4.5 上下文组合策略

核心目的:强化跨模块审查准确性,解决单一文件审查上下文不足的问题,提升 AI 审查全面性。

4.5.1 核心组合策略

按业务模块对文件进行分组审查,将同模块内 A 文件的审查结果,作为 B 文件审查的上下文输入,实现跨文件关联校验。

4.5.2 待优化方向

需进一步完善模块间审查关联逻辑,细化关联规则,提升跨文件审查的精准度。

五、用户体验导向

以开发者体验为核心,简化操作流程,实现「无感知优化、高效率审查」。

5.1 核心体验设计

体验点 详细说明
自动修复 利用 Cursor 自带的 Reapply 功能,直接应用审查建议,减少手动操作
无感知优化 用户对内部优化无感知,提供极简操作流程
统一体验 统一操作流程与结果展示,适配所有场景

5.2 标准化操作流程(极简版)

简化操作,无需复杂配置,流程如下:

输入 CR → 选择 diff 源(暂存区 / MR 链接) → 获取审查建议 & 自动修复 → 确认修复结果 → 提交代码

六、总结与规划

6.1 核心价值

本次 CR 左移方案通过 AI 技术落地,核心价值聚焦四大维度,与 1.2.1 核心痛点精准一一对应,形成「痛点 - 价值」完整闭环,具体如下:

价值点 核心说明(对应痛点解决) 对应核心痛点
效率提升 实现本地「开发 - 审查 - 修复」闭环,减少跨平台确认成本,缩短合码周期,解决流程低效问题 研发流程低效
质量保障 规避低级缺陷与回归问题,规范新人代码编写,解决质量管控不足、标准混乱问题 质量保障不足、审查标准不统一
标准化落地 统一审查标准、工具与流程,复用最佳实践,解决本地审查标准杂乱问题 审查标准不统一
成本优化 智能自动修复降低人工审查与缺陷修复成本,上下文优化减少资源消耗,解决全流程低效高耗问题 研发流程低效、质量保障不足

6.2 核心技术亮点

方案核心技术优势聚焦 4 个关键维度,支撑价值落地,具体如下:

技术点 核心优势
MCP 与 Cursor IDE 集成 本地实时审查、自动修复,无需跨平台切换,提升操作便捷性
提示词工程 分层结构化设计 + 多思维链,提升 AI 审查精准度
上下文工程优化 任务粒度优化 + 记忆回溯,平衡上下文完整性与资源消耗
自动修复决策链 智能判断修复优先级,兼顾修复效率与安全性

6.3 适用场景

结合方案核心优势,适配 4 类核心研发场景,精准解决对应痛点:

适用场景 适配说明
复杂业务需求 适配大量代码改动 MR,降低审查成本、提升效率
新人代码管控 通过标准化规范,帮助新人规避常见问题
回归缺陷预防 开发阶段提前发现代码变更引入的 bug,减少后期修复成本
本地开发闭环 支持本地「开发 - 审查 - 修复」全流程,无需跨平台操作

6.4 后续规划

围绕方案优化升级,聚焦 3 个核心方向,持续提升审查效率与质量:

  • 完善审查规范与问题分类体系,进一步提升 AI 审查精准度;
  • 优化自动修复决策算法,进一步平衡修复效率与安全风险;
  • 扩展多语言、多框架支持,适配更多研发技术栈场景。
Logo

更多推荐