试试让 AI 审查另一个 AI 写的代码
一句话: 两个 AI 窗口分工——窗口 A 只审查代码,不改一个字;窗口 B 只管改代码,按审查意见逐条修。分离后审查质量更高(不会写着写着忘了审查),改代码更快(不用自己费脑子看逻辑),上下文各自清爽。
系列文章:《AI赋能嵌入式开发》 — DeepSeek看图、AI当老师、AI审查代码、省Token技巧——用AI加速嵌入式开发
📄 含一键部署提示词 📄 一天学完15个源文件 ✅ 双窗口分工法 📄 7条血泪经验
@[TOC]
适合谁读:适合嵌入式开发者、单片机初学者及遇到类似问题的工程师
为什么不用一个窗口做完
一开始是一个窗口干两件事:边写代码边审查。
但人会偷懒——其实 AI 也会。代码越写越多,上下文窗口里塞满了实现细节,轮到审查的时候已经没精力仔细看了。
结果:审查变成了走过场。 AI 扫一眼说"看起来不错",但其实三个变量命名不规范、两个地方缺少 NULL 检查、一个 Flash 写之前忘记关中断。
把两个任务分开——一个只审不写,一个只改不审——每个窗口的上下文都更干净。
怎么分工
| 窗口 | 角色 | 只做什么 |
|---|---|---|
| 窗口 A(审查窗口) | 代码审查员 | 读代码 → 对照编码规范逐条查 → 列出问题清单 |
| 窗口 B(修改窗口) | 代码执行者 | 收到问题清单 → 逐条修改 → 不改清单上没有的东西 |
审查窗口不写代码,修改窗口不审代码。 就像工厂里质检和产线是两个岗位。
实际操作
第一步:在审查窗口喂规范
先把编码规范发给审查窗口,让它记住:
> 以下是我们团队的编码规范,审查代码时对照这些规则:
> 1. ISR 里不能有 Delay、printf、Flash 读写
> 2. 对外接口必须检查指针参数 NULL
> 3. 单函数 ≤ 200 行
> 4. 变量命名: g_ 全局, s_ static, p 指针...
> ...
第二步:把代码发给审查窗口
> 审查这个文件,对照规范逐条列出所有问题
审查窗口返回:
1. drv_dac.c:45 — SPI_Write 没有检查 pData 是否为 NULL
2. drv_dac.c:78 — ISR 内部调用了 printf
3. drv_dac.c:120 — 函数 230 行,超过 200 行限制
4. mod_protocol.c:33 — 全局变量没有 g_ 前缀
5. drv_flash.c:56 — Flash 写之前没有关中断
...
第三步:把问题清单发给修改窗口
> 以下是代码审查发现的问题,逐条修改:
> [贴上审查窗口的问题清单]
>
> 规则:
> - 只改清单上的问题
> - 不要顺手改别的东西
> - 改完一条标注一条
修改窗口逐条修完,输出:
1. ✓ drv_dac.c:45 — 添加了 NULL 检查
2. ✓ drv_dac.c:78 — 移除 printf,改为设置标志位
3. ✓ drv_dac.c:120 — 拆分为两个函数
...
7 条全部修完
实际效果对比
| 维度 | 单窗口 | 双窗口 |
|---|---|---|
| 审查覆盖率 | 大概看一眼,50% 的问题漏掉 | 对照规范逐条查,90%+ 覆盖 |
| 上下文干扰 | 写着写着就忘了要审查什么 | 两个窗口各管各的,互不污染 |
| 修改质量 | 可能顺手改坏了别的东西 | "只改清单上的" 限制了范围 |
| 速度 | 快(但质量差) | 多一轮对话往返,但总时间更短(联调时间少了) |
真实案例
最近审查一个 15 条指令的协议处理模块。单窗口模式大概看了 5 分钟,说"没问题"。
切换到双窗口模式,审查窗口花了 10 分钟列出了问题清单:
- 帧头
0x73 0x74写成了0x72 0x74 - 命令 10 的地址字段返回错了两个字节
- 6 个函数的注释不一致
这些问题单窗口模式一个都没发现。 不是因为 AI 不行——而是因为同一个窗口既要写代码又要审代码,注意力被稀释了。
改成双窗口后,审查窗口不需要关心"怎么改",只需要问自己一个问题:"这块代码有没有毛病?" 思维清晰了,审查自然更深入。
什么时候该用
| 场景 | 单窗口 | 双窗口 |
|---|---|---|
| 改一个变量名 | ✓ 用单窗口 | |
| 新增一个功能模块(100+ 行) | ✓ 用双窗口 | |
| 改完代码提交前检查 | ✓ 用双窗口 | |
| 接手别人的代码要理解 | ✓ 用单窗口 | |
| 整个项目级别的规范审查 | ✓ 用双窗口 |
判断标准很简单:如果审查需要对照清单逐条过,就用双窗口。
总结
| 角色 | 做什么 | 不做什么 |
|---|---|---|
| 审查窗口 | 对照规范找问题 | 不改代码 |
| 修改窗口 | 按清单逐条修 | 不审代码,不多改 |
把质检和产线分开,代码质量立竿见影。 AI 帮你写代码的能力是一回事,AI 帮你审查代码的能力是另一回事——两个都用起来,才叫真正用好了 AI。
实测对比:单窗口审查: 遗漏率 ~50% | 双窗口分工审查: 遗漏率 <10%
有用的话点个收藏,下次调试直接用。有问题欢迎评论区交流,看到了都会回。
下一篇:含一键部署提示词——DeepSeek看图、AI当老师、AI审查代码、省Token技巧——用AI加速嵌入式开发
更多推荐



所有评论(0)