阿里把团队内部用了两年的官方 AI Code Review Skills 开源了,项目 OpenCodeReview,已经 40.5K 星:github.com/alibaba/open-c…
它的核心设计一句话:确定性工程 pipeline 管硬约束,Agent 管动态决策,各司其职。
确定性这一侧做四件事。精确文件选择用代码决定哪些文件必须审、哪些过滤,不依赖模型自觉;智能文件捆绑把相关文件合成一个审查单元(中英文 properties 就该一起看),每个单元以独立 sub-agent 上下文隔离运行,分治策略让超大变更集也稳,天然支持并发,默认八个文件 worker;细粒度规则匹配内置约 54 个按语言和文件类型的规则文档,Java、Go、TS/JS、Python、Rust、SQL/XML、properties 都覆盖,用模板引擎而不是自然语言把规则匹配到文件特征上,从源头消掉信息噪声;外部定位与反思两个独立模块系统性校正评论的落点和内容,正对着"位置漂移"这个痛点。
Agent 这一侧只管动态决策。任务模板分层:plan、grouping、main、memory_compression、re_location、review_filter 六段,仓库里能看到源文件;工具集是从海量生产环境的 tool-call 轨迹反向蒸馏出来的——调用频率分布、单工具重复率、新工具对调用链的影响,据此留下的全文件读取、代码搜索、查阅其他变更文件这几个工具,比通用 agent 工具箱更小也更稳。
能力面覆盖 workspace、分支区间、单 commit 三种审查,断点恢复的 ocr session,没有 git 历史也能全文件扫描陌生代码库,本地 Session Viewer 网页查看与回放,SARIF 和 JSON 输出,OpenTelemetry 可观测,外加 MCP Server 扩展。
生态形态相当完整:npm 全局 CLI 一份;可移植的 Agent Skill 一份,skills/open-code-review/SKILL.md 带标准 frontmatter,任何兼容 skill 的 agent 直接加载;再配 Claude Code、Codex、Cursor、Kimi Code、OpenCode 各平台插件,每种封装成斜杠命令或可调用 skill;LLM 协议兼容 OpenAI、Anthropic、AWS Bedrock 三类,还能直接复用 Claude Code 的 ANTHROPIC_* 环境变量。
最巧的设计是 Delegation 模式:OCR 只做自己擅长的确定性部分(文件选择和规则解析),审查本身交给宿主 coding agent 的 LLM 执行,用户不用给 OCR 配任何 API key。这一步等于把 harness 能力和模型能力彻底解耦——两边各自独立计价、独立更换。
工程质量也超出平均线。安全有正式的 Assurance Case 文档,完整威胁模型、四条信任边界、T1 到 T7 威胁逐条给缓解措施,还按 Saltzer & Schroeder 原则和 OWASP Top 10 做了映射;细节经得起推敲,所有外部进程调用只限 git 且子命令硬编码防 flag 注入,路径在符号链接解析前后双重校验,本地 Viewer 有 Host 白名单防 DNS rebinding 加严格 CSP。
贡献规范近乎严苛:用 AI 必须在 issue 和 PR 里披露工具与模型,必须逐行理解 AI 生成的代码,禁止"AI 生成到反复修复再修复"的循环,禁止把 commit 署名给 AI;源码强制英文,CI 连全角标点都查,90% 测试覆盖率门槛,-race 和 govulncheck 每次 push 都跑。
这份规范值得单独说:它把"别被 AI 用"从口头建议写成了入库门槛——披露、逐行理解、禁署名,三条恰好卡在最容易偷懒的三个环节上。今晚讲过人审对照的课、讲过新鲜上下文评审,这份 AGENTS.md 是把两样东西都变成了 CI 能拦的硬规则。
想上手的人先看两处:一是 Delegation 模式,不配 key 就能让自家 agent 用上它的确定性内核;二是那 54 个规则文档,按你的语言挑几份读完,就知道团队的 CR 标准该怎么写。Benchmark 数据在帖尾,引用具体分数前建议回原帖核一遍。














