内容提要
本文介绍如何用 Claude Routine 自动审查 MongoDB 代码的 PR。无界数组、缺索引查询、每请求新建客户端等常见反模式容易通过人工审查,却会在生产环境暴露问题。配置需要 GitHub 仓库、安装 Claude GitHub App 及 Claude 订阅。Routine 在 PR 打开时触发,克隆官方 Agent Skills 仓库,逐条引用规则审查代码,发布包含严重级别、依据与修复建议的行内评论,并给出 PASS/FAIL 结论。使用时需注意每日运行次数限制、以本人身份评论,以及预览版功能可能变动。
延伸解读
为什么人工审查容易漏掉 MongoDB 反模式
文章指出,无界数组、缺索引查询、每请求新建客户端等反模式往往代码整洁、测试通过,审查者更关注功能是否实现,而非模式或查询在规模下的表现。问题通常数月后才在生产环境暴露。这解释了为何需要自动化规则检查来补充人工审查的盲区。
Routine 的审查逻辑与可调参数
Routine 在 PR 打开时触发,先读取官方 Agent Skills 规则,再结合 PR diff 和仓库上下文(如已有索引、共享连接助手)判断问题,每条发现必须引用具体规则。输出为单条 PR 评论,包含严重级别、依据和修复建议,并给出 PASS/FAIL 结论。严重级别映射、判定逻辑和审查范围可调整,但建议保留“先读规则、引用规则、单条评论”的核心契约。
使用前需注意的限制与风险
预览期间每日运行次数有限(Pro 5 次、Max 15 次、Team & Enterprise 25 次),不适合高频 monorepo。评论以你的 GitHub 身份发布,需限定在归属正确的仓库。此外,Routine 处于研究预览阶段,功能、限制和 token 语义可能变动。技能虽安装但无法作为斜杠命令调用,提示词通过直接读取内容绕过,与本地行为存在差异。
Q&A
如何设置 Claude Routine 来自动审查 MongoDB 代码的 PR?
在 claude.ai/code/routines 创建新 Routine,设置名称、粘贴 prompt.md 中的提示词、添加目标 GitHub 仓库、清空连接器、设置触发条件为 GitHub 事件 PR opened(可加过滤如非草稿),并确保已安装 Claude GitHub App。保存后,当 PR 打开时 Routine 会自动运行并发布审查评论。
Claude Routine 在 PR 审查中具体会做哪些事情?
Routine 触发后,会读取 PR 及其 diff,并读取 PR head 的完整文件;然后克隆官方 Agent Skills 仓库,逐条阅读技能规则;接着检查仓库中可能影响判断的上下文(如已有索引);最后将发现的问题以行内评论形式发布,每条包含严重级别(BLOCK/WARN/INFO)、引用的技能、原因和修复建议,并给出 PASS/FAIL 结论。
使用 Claude Routine 审查 PR 有哪些限制和注意事项?
主要限制包括:每日运行次数上限(Pro 5 次、Max 15 次、Team & Enterprise 25 次),以及每小时 webhook 上限;评论会以你的 GitHub 身份发布,需注意仓库归属;该功能为研究预览版,可能变动。此外,技能安装后无法作为斜杠命令调用,提示词通过直接读取技能内容来绕过。
Claude Routine 能捕获哪些常见的 MongoDB 反模式?
文章列举了三种常见反模式:无界数组字段(可能增长至 16MB 限制)、缺少索引的查询(导致 COLLSCAN)、每个请求都新建 MongoDB 客户端而非在模块作用域复用。Routine 会依据官方技能规则检测这些模式并给出修复建议。
如何调整 Claude Routine 的审查严格程度或范围?
可以调整三个部分:严重级别映射(如将缺失索引降级为 WARN 以避免 FAIL)、结论逻辑(默认任一 BLOCK 即 FAIL,可改严或改松)、审查范围(默认仅限 MongoDB 正确性与可操作性,可扩大或缩小)。建议保留核心契约:先读技能、引用具体规则、发布单一审查。
使用 Claude Routine 需要满足哪些前提条件?
需要一个包含 MongoDB 代码的 GitHub 仓库,并安装 Claude GitHub App;需要 Claude 订阅(Pro/Max/Team & Enterprise);Claude 账户需连接 GitHub(可通过 CLI 运行 /web-setup 或在 claude.ai 的 Connectors 中连接)。Routine 通过 Claude Desktop 或 Web 创建(CLI 仅支持定时 Routine)。