惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LINUX DO - 最新话题
G
Google Developers Blog
J
Java Code Geeks
The GitHub Blog
The GitHub Blog
F
Full Disclosure
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Vercel News
Vercel News
酷 壳 – CoolShell
酷 壳 – CoolShell
Recent Announcements
Recent Announcements
Help Net Security
Help Net Security
The Hacker News
The Hacker News
IT之家
IT之家
Y
Y Combinator Blog
Martin Fowler
Martin Fowler
L
Lohrmann on Cybersecurity
C
CERT Recently Published Vulnerability Notes
V
Visual Studio Blog
博客园 - 聂微东
Hacker News: Ask HN
Hacker News: Ask HN
H
Hacker News: Front Page
Know Your Adversary
Know Your Adversary
Security Latest
Security Latest
Security Archives - TechRepublic
Security Archives - TechRepublic
Simon Willison's Weblog
Simon Willison's Weblog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Troy Hunt's Blog
Last Week in AI
Last Week in AI
Schneier on Security
Schneier on Security
N
News and Events Feed by Topic
博客园 - 【当耐特】
有赞技术团队
有赞技术团队
AWS News Blog
AWS News Blog
Blog — PlanetScale
Blog — PlanetScale
博客园_首页
Google DeepMind News
Google DeepMind News
Cloudbric
Cloudbric
N
News | PayPal Newsroom
A
About on SuperTechFans
S
Schneier on Security
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Hugging Face - Blog
Hugging Face - Blog
M
MIT News - Artificial intelligence
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
雷峰网
雷峰网
T
The Exploit Database - CXSecurity.com
罗磊的独立博客
K
Kaspersky official blog
The Cloudflare Blog
I
Intezer

BlogFinder

日常漫步 Vol.24 之漫步前山河 - 雅余 周报 #1-聊聊本周的收获 - Edwin's Blog 我的OpenCode必装插件与Skill Write Something 掌中之物未必在掌握之中 · CRIVU PiliNara,一个更顺手的 PiliPlus 分支 「NekoEcho」:做一个必有回响的猫娘主题博客 2026-05 书影音总结 简化博客主题 - 安迪 我第一次发布 npm 包 拾花小记#45:中考前的二三事 – 小改学习志 黛西花园5月游 #18 枇杷又熟了的五月月报 一些奇奇怪怪的需求?word仿方正书版的几个小操作 - Xiobb's Blog 0419 御温泉之旅 修复了一些bug,网站基本上趋于稳定了 - 新锐博客 又回到四十年前 如何定义成功 迷鹿屋2026已重新上线 科技冰火两重天+一周回顾 ${title} 热度退了,我反而用得更深了-咕咚同学 我到底该不该换个域名? 随身WIFI折腾记 - 安迪 博客撰写体验提升——hexo pro插件 为什么不用相机把屏幕上的接关密码拍下来? 国清寺与天台山 – Ouroboros ★★★★☆《挽救计划》——久违的经济上行感 - Davidの3号基地 删除右键“打开方式”里多余选项 第三周刊_No.53|一切都会被支付两次 安卓APP通话记录与录音上传踩坑记录 - 子舒的博客 天量下跌 inBox 笔记 2.3.8,把工具栏交给了你-咕咚同学 我把小龙虾搬到了微信-咕咚同学 安好 - 响石潭 Compound Engineering Plugin:让每个工程单元都比上一个更容易 MOSS-TTS Family:开源高质量语音与声音生成模型家族深度解析 Crawl4AI:专为 LLM 设计的开源 Web 爬虫与数据抓取工具 Build Your Own X:从零实现你最喜欢的技术——程序员进阶的终极资源清单 Anthropic Skills:用文件夹教 Claude 专业技能的开源框架 1年的去月球(下) - 梅之夏 欢迎回来。 简单讲讲 ASN.1 与 OID DTV - 直播聚合客户端 5.22-5.27 – 不兴江 还没去过鸭川 – 不兴江 张晶晶同学三刷林志颖 关于我 – 不兴江 爱与嫉妒 – 不兴江 港股被持续做空 备案码花了四百块-咕咚同学 一句话生成封面:我给公众号做了4种风格的AI封面生成技能 「官」方認證 再谈费曼学习法 2026-05-28T00:34:11+08:00 2026-05-28T00:28:45+08:00 离谱的英语学习指南:基于AI的英语进阶系统方法论 iii:零集成架构的后端统一运行时 Claude Code Harness:让 Claude Code 工作有迹可循的工程化框架 Heretic:全自动移除大语言模型审查机制的开源工具 MarkItDown:微软开源的万能文档转 Markdown 利器 Harness:让 Claude Code 秒变多智能体协作工厂 这段时间尽折腾AI Agent了,确实极大地提高了效率 近期动态:两个新站点正式上线啦 误判解除!zhouayuan.com 腾讯安全申诉成功 - 周阿源|玩具设计・插画日常・生活随笔 Ralph:让 AI 编码工具自主循环跑完所有 PRD 任务的量产神器 全都违法 – 个人工作记录 关于zhouayuan.com被误判 “含违规信息” 的说明与申诉记录 - 周阿源|玩具设计・插画日常・生活随笔 小米 MiMo v2.5 Pro 白嫖 最大的人间清醒,兜里有钱,但是不花。 夜晚靓歌(12):于文文现场solo - 王志勇的Blog 今日插画:风扬起的倔强 - 周阿源|玩具设计・插画日常・生活随笔 回门习俗 独立网卡 - 忘记了回忆 500亿入股人工智能企业 从命令行到桌面智能体-咕咚同学 第一性原理读书笔记 行者微评论223-加班の守株待兔-博客|政治与时事-风雨行者 ZOZO开源物理接触求解器:GPU加速的可扩展仿真引擎 OpenStock:开源股票市场交易平台技术深度解析 MoneyPrinterTurbo:基于AI的全自动短视频生成工具深度解析 Claude-Mem:为 Claude Code 构建的持久化记忆压缩系统 Twenty:可代码化定制的企业级开源 CRM 平台技术深度解析 2026-05-26T22:59:17+08:00 企业级开源大模型部署平台 GPUStack 实战教程 1年的去月球(上) - 梅之夏 Sevalla - 静态网站托管服务 不用翻墙、不用注册、不用月费,普通人也能用上 Claude Code 装修灯具要注意⚠️ 黄梅天先锋 - 游子微博 公安备案顺利办结,站点备案全部完成 - 周阿源|玩具设计・插画日常・生活随笔 第三次兑换天猫超市卡了宗宗酱-三维狐少儿编程 Don't think, feel. - Rolen's Blog 人这一辈子,到底图个什么 博客迁移 - Edwin's Blog 情感赛道写作模板 再现本轮行情的典型特征 裁员与平常心-咕咚同学 别让“偷懒”,成为隐私泄露的破绽 片刻 - Jdeal | Life is like a Design.
我是怎样使用 AI 来做 Code Review 的? | Viking
Viking Zhang · 2026-05-30 · via BlogFinder

这一年来,写代码几乎都是用 AI 了,同时 TinyShip 从发布到现在半年了,功能越来越多,代码量也越来越大,由于是我的一个模版产品,对于质量自然要求比较高,因为现在也有很多用户,保证质量是非常重要的,

现在 AI 一分钟能给我吐出几百行,跨七八个文件,我根本不可能逐行看完。更麻烦的是,TinyShip 是个 monorepo,Next.js、Nuxt.js、TanStack Start 三个 app 要同时改,同时还支持 PG 和 SQLite 两种数据库,任何一个改动都可能影响另外两个。

每次 feature 提交有一千行以上的时候,我的心头一紧,怎样更好的 Review 它的代码呢?

最近很喜欢一篇文章,非常喜欢,Using AI to write better code more slowly,它的中心思想用 AI 写代码不需要只追求快,而是让 AI 帮我们写出更健壮质量更高的代码,所以要慢,要仔细看代码,这个观点正合我意。

所以针对我自己的产品的质量,我采取两种策略:

  • 测试,尤其针对 TinyShip,E2E 非常有必要,由于有 6 种不同的情形,所以 E2E 必不可少,我会在后面一篇文章介绍我 E2E 的策略。
  • Code Review,我搞了一套自己的 review 流程,给它起了个名字叫 Review Forge。不是什么复杂的工具,就是一套规则 + 文件结构,让 AI 帮我做 review,我来做最终决策。就是我这篇文章要讲的。

总览

我将我的 Code Review 流程创建成了一个 skills,地址在这里:https://github.com/vikingmute/review-forge

它的大体过程是这样的:

  • Review 让不同的模型根据当前 diff 或者 branch 生成 bug 报告,每个模型一份单独的报告。
  • Synthesize 根据不同模型的 bug report,汇总生成一份 summary.md 的报告。
  • 手动 Review 和决定修复哪些问题
  • Fix:让一个模型修正 summary 中的问题,并且跑测试验证。
  • Verify:让另外一个模型验证是否修复,以此循环直到你标记的问题解决。

下面我来结合我的 skills 详细说明每一个步骤种的要点。

Review

# 安装完 review forege 的 skills,当开发完毕以后,要开始 review 的时候,我在一个 Agent 中输入这样的 Prompt
/review-forge review feature: checkout-refactor

它在 /code_review 文件夹中创建一个 checkout-refactor 的 feature 文件夹(之后所有相关的 review 内容都会在其中),然后 model 会按照自己的名称创建一个 review 文档,如果你用的是 codex,那么就是 codex.md, 所以现在文件结构式

code_review
├── checkout-refactor/
   ├── codex.md
# 接下来我会在另外一个 agent 中输入 Prompt,生成另外一份报告
/review-forge review feature: checkout-refactor
code_review
├── checkout-refactor/
   ├── codex.md
   ├── composer.md

我一般会用三个模型,GPT5.5 / Composer 2.5 / DeepSeek Pro V4

为什么要多 Agent Review

一开始我只用一种服务做 review,我试过的有 Bugbot / CodeRabbit / Codex review mode。

效果还行,能抓到一些明显的 bug——逻辑错误。但是只有一个模型发现的问题,当一大堆 Bug 报告给我的时候,我会眼花缭乱,然后会更谨慎。不是说不信,而是会多花一步去验证:真的有这个问题吗?还是这个模型理解偏了?我甚至还会去问其他模型,这些问题真的存在吗?存在的话帮我修复。

同时我还发现一个问题:每个模型都有自己的盲区。

同一个功能,每种模型关注的是代码写得对不对。但有些边界条件、异常路径、跨文件的副作用,它不一定能全覆盖。这不是能力问题,是注意力分配的问题——一个模型一次 review 就像一个人审代码,总有忽略的地方。

后来我试了试让两个模型分别审同一份代码,GPT 和 Claude 各出一份报告,然后合并对比。

结果挺有意思:

  • 大约 60% 的发现是重叠的
  • 剩下的 40% 各有侧重
  • 关键的是,有几条只有其中一个模型发现了,另一个完全没提

但这里面有一个更重要的洞察: 两个模型都发现的问题,基本就是铁板钉钉的真问题。

重叠的那些发现,我会直接看,不需要花太多时间判断”这是不是真的 bug”。因为它们被不同模型独立地指出来,说明问题本身足够明显。尤其是高优先级的重叠项,这种我就不纠结了,直接修。

所以多模型 review 给我的价值是两层:

  1. 交叉验证——多个模型同时发现的问题,确定性高,果断修
  2. 扩大覆盖面——单模型发现的问题,补充了另一个人可能漏掉的视角,但要自己验证

当然,不是每次都要多模型。我现在看改动大小:十几个文件以上的功能用几个模型,小修小补就用一个,也不需要这套复杂的流程。毕竟多一次 review 也是成本。

Synthesize

有了这些前提,所以自然我抽象出了一个 Synthesize 过程,其实就是将不同的报告使用 AI 分析和提取排序,生成一个 checklist。

# 随便哪个 Agent 哪个 Model 都可以运行这个子命令,这个分析的过程很简单
/review-forge synthesize feature: checkout-refactor
code_review
├── checkout-refactor/
   ├── codex.md
   ├── composer.md
   ├── summary.md(会生成一个总结文档)

这个总结文档,将重合的问题按照优先级排序在前面,并且每个问题前面有个 checkbox,类似这样

- [ ] `RF-002`
- `severity`: high
- `reviewer_agreement`: 2/3 (composer, codex)

我会手动的 Review 所有问题并且决定修复哪些问题,需要修复勾选对应的 checkbox 。

为什么要手动 Check 修哪些 Bug

这可能是整个流程里最重要的一步。

AI review 完会给一个长长的列表,每条都有严重程度的标签,按 AI 的逻辑,严重的问题都应该修。但实际情况不是这样的。AI 缺乏项目上下文和取舍判断力。尤其是当一个项目特别庞大的时候,会越来越难,并且它倾向于把所有发现的问题都当成重要问题去修复,过度优化。

所以必须人来 check,所以你必须对于你的系统非常熟悉。

我的做法很简单:AI 审完,逐条看。针对每一条我都要回答两个问题:

  1. 这个问题在实际场景下会出 bug 吗?
  2. 修它的代价是什么?

大多数 AI 标记的问题,第一个问题答案就是不会。它只是在理论上不完美。真正要修的是那种要出事的 —— 用户会看到错误页面、数据会被写坏、支付会失败,这种二话不说修。

跳过那些性价比不高的 High/Medium 问题,例如为了修复一个极窄的边缘情况而需要改动 100 行代码。

一套 review 下来,AI 可能列出十几条,我真正动手修的通常就三四条。这不是 AI 不行,是 review 和修代码是两件完全不同的事。AI 擅长找问题,不擅长决策。后者需要人对整个项目的理解,需要权衡风险和收益,需要知道什么时候够好了。

Fix / Review

接下来的流程就很清晰了,就是修复和验证的过程,我这里会使用两个不同的 agent,一个是 fix agent,一个是 review agent。

# 在 Agent 中输入类似这样的 Prompt,我用的是 Claude
/review-forge fix feature: checkout-refactor

它会创建 fix-plan.md 这个文档,并且创建 status.md 来跟踪问题的进度,然后完成问题的修复,并且跑相关的测试。

code_review
├── checkout-refactor/
   ├── codex.md
   ├── composer.md
   ├── summary.md
   ├── fix-plan.md(修复计划)
   ├── status.md(状态汇总)
# 在另外一个 Agent 输入类似这样的 Prompt,我用的是 Codex 的 GPT5.5 模型
/review-forge verify feature: checkout-refactor

它会 review 另外一个模型的修复,看是否修复,创建 verify.md 文档,并且更新 status.md 留下批改意见,以此循环,让两个 agent 确认已经修复。文档更新已解决。

code_review
├── checkout-refactor/
   ├── codex.md
   ├── composer.md
   ├── summary.md
   ├── fix-plan.md
   ├── status.md(更新状态)
   ├── verify.md(Verify 的结果和详情)

为什么不能用同一个模型 fix 和 review

确定了要修哪些以后,这里面有一个铁律:review 和 fix 不能是同一个模型。

道理和人做 code review 一样——你不能让同一个人既写代码又审代码,自己写的 bug 自己看不出来,不是能力问题,是思维惯性,AI 也一样。

而且 verify 用不同模型还有个好处:如果修完的代码第二个模型也说没问题,那我基本上就放心了,相当于两道防线。

总结

用了一段时间,几个真实的感受:

最大的价值是减少焦虑。 以前 AI 写完代码我不敢合,因为不确定有没有坑。现在走完这套流程,至少我知道哪些坑是评估过的,哪些是故意不修的。合代码的时候心里有底。

多模型确实有效,但不要滥用。 大功能才用,小改动不值当,一个模型就够了。

Review Forge 在解决一个很朴素的问题:** 用多个 AI 来发现尽量多的问题,然后由人来决定哪些值得修。**

如果你也是用 AI 写大部分代码,review 跟不上了,可以试试类似的流程。不需要强制用我的这套,核心就三点:

  1. 多个 AI 帮你审,减少盲区
  2. 人工逐条 check,决定修不修
  3. 修完跑测试,并且交叉验证

最终的文件状态是这样的:

TinyShip