2026世界杯(中国) 代码审查太慢了, 我作念了个AI用具



当你让一个前沿模子审查代码时,会发生一种独特的庞大。它不像编译器那样的猖獗。它更糟。它是自信地"乐于助东谈主"。它是一份结构淡雅的审查,频频不援用任何把柄,造谣意图,忽略阿谁会在凌晨 2:07 页醒你的变更,然后法例地建议你添加更多留意。
我受够了这个。
是以我构建了一个用具,生成我一直但愿模子自己就能领有的东西:与高等工程师在启齿之前在脑中构建的沟通的高下文感知。然后我让它可以通过管谈传递,因为我天然会这样作念。
效果是一个我称之为 AI Code Review 的开源用具。它不我方审查代码。它拼装 审查数据包:高保真、安全感知的指示词输入,让 Claude Code、Codex CLI 和 Gemini 在你不再让它们饿着肚子的情况下,作念它们确实擅长的事,并给它们一个准确、一致的责任基础。
是的,有些代理(指示:Gemini CLI)可能过于字面化。是以我不再但愿它能推断我的兴致,而是运转编写诞生明确条约的指示词,章程代理将如何实施。
1、问题
这里确实的问题不是让 AI 审查代码,问题是高下文崩溃。
大大都 AI 审查责任流要么是凭嗅觉,要么是复制粘贴一个通用的"审查"指示词。这频频会导致代理对代码变更进行 diff,然后分析它们。天然 diff 是必要的,但它不够。diff 不佩戴不变量、模式、"咱们这样作念是因为分娩环境教授了咱们糟糕"、界说预期当作的测试、运行时遏抑、安全态势、部署形态,冒失代码库中那些偷偷将你的变更酿要素布式系统的部分。
一个好的审查者不仅仅阅读变更。他们加载心智模子。他们扫描爆炸半径。他们根据代码库对假定进行健全性查验。他们查找测试和建树。他们阅读周围的文献。他们讲解,而不是推测。
是以我构建了一个用具,强制代理作念相通的事情。
2、审查数据包
中枢想想很粗浅:若是你想要一个专科质地的代码审查,你需要给审查者专科质地的高下文。与其给代理准备一份小零食,我想给它一顿健康的正餐。
AI Code Review 生成一个包含 diff 的数据包,同期以 token 高效的方式压缩结构。在 Python 中,它使用 AST 索要来拿获签名和文档字符串,而不需要为远离体付费。在 JS/TS 中,它使用启发式理解,当你想要更高保真度时,可选因循 tree-sitter。它记号明锐旅途。在职何东西离开你的机器之前,它会脱敏密钥。它将大型变更集分块,这样你就不会得到一个"我在 token 7,891 处住手阅读了"的非审查。
然后它将总共这些包装在一个 SYSTEM 指示词中,这个指示词的当作像一个见过太多过后复盘、对幻觉产生了健康过敏的首席工程师。
3、把柄门
模子会欢快地输出一份丽都的审查,但莫得任何依据,除非你免强它们付出代价。
是以 SYSTEM 指示词包含一个带有明确援用局势的把柄条目。若是数据包提供了行留意,代理必须援用它们。若是莫得,2026世界杯(中国)它必须援用 diff 块。若是它想援用数据包以外的任何内容,它必须实践掀开仓库中的文献并援用那些读取效果。
终末一部分很着急。终点关节。
因为一朝你告诉代理"你有齐全的仓库拜谒权限,当数据包不够时你被条目使用它",你就不再得到推测性建议,而是运转得到那种会说:我查验了客户端中的人命周期,我查验了专揽建树,我跟踪了调用点,这是你的更新措置方法偷偷酿成每次变更 O(N) 的确实行——的那种审查。
这恰正是回绝你的 UI 在房间变致力时酿成频闪灯的那种反映。
4、从字面化到致命精确
开云kaiyun(中国)体育官网这是让我在终局前傻笑的那一刻。
我对一个确实的提行运行了 AI 代码审查,并通过管谈径直传给了 Gemini CLI。我不是在寻找优雅。我是在寻找代理照实会完成责任的讲解:阅读高下文、援用把柄、指出确实的风险。
它作念到了。
它用一个具体的、援用了仓库代码的片断识别了一个性能瓶颈。它记号了复杂同步逻辑穷乏测试的问题。它发现了一个触及静态单例依赖的架构风险,这个风险会让阻遏测试变得糟糕。它提议了对于序列化意图的正确问题。它以至留意了推出风险和再行渲染轮回监控。
这不是频频的"看起来可以,考虑添加文档"的谣言。这是一份读起来像确实发布居品的东谈主写的审查。
道理的是,莫得发生任何神奇的事情。模子莫得变得更忠良。指示词变得更严格了,高下文变得更丰富了,责任流变得更接近确实工程师的推理方式了。
这便是代理用具化的一王人论点,用一句话概述:智能不是瓶颈,集成才是。
5、审查编排器,而不是审查者
AI Code Review 不是试图取代东谈主类判断。它是试图次第化使判断成为可能的输入,不管审查者是东谈主类如故硅基。
若是你也曾让一个新队友入职并看着他们作念第一次审查,你会看到沟通的模式。他们指摘名义问题,因为他们还不知谈什么着急。他们错过地雷,因为地雷存在于高下文中。他们无法援用确实的遏抑,因为他们还莫得找到它们。
一个审查数据包便是入职培训的压缩版。
它给代理饱胀的架构果断来变得有效,饱胀的方纲规律来保证安全。
6、为什么开源?
因为这是生态系统需要的胶水代码。
咱们当今都在使用多个代理构建。Claude Code 在某种推理上很出色。Codex CLI 在另一种推理上很出色。Gemini 有我方的上风和我方的字面化。赢面不是采用其中一个。赢面是领有一个一致的、高质地的输入局势,你可以通过管谈传给任何一个,并赢得有依据、可辩白、可操作的审查输出。
另外,出于私心,我但愿社区来松懈它。若是你能找到一种方法让模子在把柄条约中偷渡一个幻觉,我想知谈。这便是它如何从一个高深的演示酿成一个确实的用具的方式。
该形状使用 MIT 许可证,因为摩擦是选定之敌。
7、碰红运
若是你想立即感受到各异,对一个非庸碌的提行运行它,并将指示词通过管谈传给你照旧使用的代理。
# 为终末一次提交生成审查指示词
ai_review prompt /path/to/repo -base HEAD~1 -head HEAD -max-diff-lines 2000 -read-only | gemini
# 责任树审查,即未提交的变更
ai_review prompt /path/to/repo -mode working -read-only | gemini
# 为 token 远离分块大型 diff
ai_review prompt /path/to/repo -base main -head feature-branch -chunked -read-only | gemini
若是你是那种把 README 文献当居品政策来读的东谈主,这里是仓库。
8、远离语
最佳的 AI 代码审查不是领有最花哨模子的阿谁。它是阿谁拒却在莫得把柄的情况下话语、知谈如安在穷乏高下文时审问代码库、并将运行时现实视为一等输入的阿谁。
换句话说,它的当作像一个首席工程师。
是以我构建了一个你可以通过管谈传到终局的用具2026世界杯(中国)。