首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >用Claude搭一个代码审查Bot从配置到跑通全记录

用Claude搭一个代码审查Bot从配置到跑通全记录

原创
作者头像
用户12477230
发布2026-06-03 11:22:14
发布2026-06-03 11:22:14
910
举报

做AI模型效果对比时可以在leadhi.cn这类聚合平台上快速切换不同模型体验。


起因:PR积压让我下决心自己搭

团队就两个能做代码审查的人,PR排队是常态。等人review的时间比写代码还长。

传统CI能抓语法错误和测试失败,但逻辑漏洞、安全隐患这类问题经常溜进生产环境。新人提交的代码可能违反团队规范,但资深成员未必及时覆盖。

所以花了两天时间,用Claude Code和Claude API搭了一个私有审查机器人。所有代码和审查数据都留在本地,不上传到任何第三方平台。用了两周,把踩坑经验整理出来。


为什么选私有方案而不是直接用现成工具

三个原因:数据主权、无限定制、零依赖外部服务。

金融和医疗领域的代码绝对不能离开内网。现成工具的审查模板是通用的,没法注入你公司的编码规范和遗留系统迁移规则。私有方案只需为API调用付费,没有中间平台抽成。


CLAUDE.md:审查机器人的"大脑说明书"

这是整个方案中最关键但最容易被忽视的一步。

很多人把CLAUDE.md当成一个越长越好的文件,把能想到的项目规范全塞进去。结果Claude在规则堆里迷路,实际效果反而变差。

真正高质量的CLAUDE.md应该是精准的,而不是全面的。

核心原则叫"Litmus Test"——对每一行问自己:没有这行,Claude会犯具体的错误吗?如果不会,删掉。"写干净的代码"是废话,"所有数据库查询必须按tenantId过滤"才是有价值的规则。

经验数据:理想长度60行以内,硬性上限200行。Claude Code创建者Boris Cherny的解释是,前沿LLM可靠执行的指令大约150到200条,系统提示已经占了约50条,留给用户的空间不多。

Claude Code在每次会话启动时会自动加载CLAUDE.md,成为它理解"这个项目"的基础上下文。这意味着你不需要反复叮嘱,规则写一次永久生效。

写的时候要注意:写指令,不写描述。"使用Next.js 15"是指令,"我们通常偏好函数式编程模式"是描述,后者对Claude没有可操作性。

Boris的团队把CLAUDE.md纳入Git版本控制。逮到Claude犯错就记进去,下次它就不会在同一个坑里跌倒两次。这种"复利工程学"让配置文件越用越精准。


审查提示词设计

基础提示词"Review this code"产出质量很差。需要给Claude一个结构化的审查框架。

我用的是四维结构:安全性(SQL注入、XSS、硬编码密钥)、逻辑正确性(空指针、边界条件)、性能(N+1查询、不必要的循环)、代码质量(命名规范、函数长度)。

一个经过验证的模板:"你是一位有10年经验的高级后端工程师,擅长发现并发Bug和安全漏洞。请审查以下代码,从正确性、并发安全、错误处理、性能、安全性五个维度检查。每个问题标注严重等级(高/中/低)和修复建议。"

为什么有效?三个原因:设定专家身份激活模型相关知识权重;明确审查维度相当于给模型一个检查清单;结构化输出约束了思考过程。

温度参数设为0.1到0.3,减少随机性。代码审查场景你不想同一个PR审两次结果完全不同。

关键设计选择:只专注逻辑错误,完全忽略代码风格问题。风格交给linter,Claude专注linter抓不到的东西——架构模式、业务逻辑约束、工作流指令。


CLAUDE.md + Hooks:让规则自动执行

CLAUDE.md可以引用自动化检查。比如声明"Pre-commit的ESLint和Prettier通过hooks自动运行",这样Claude就不会手动跑这些检查,避免重复工作。

如果你的团队同时使用Claude Code和Cursor等多种AI工具,可以把通用规则写在AGENTS.md中,然后让CLAUDE.md只保留一行:See @AGENTS.md,再加Claude专属配置。这样每个工具都读取相同的核心指令。


上下文管理:50%就手动压缩

Claude Code有个"Agent呆滞区"——上下文超过60到70%时性能明显下降,开始忽略指令、犯低级编码错误。

经验做法:用/context监控用量,在50%时手动执行/compact压缩上下文,别等自动压缩,那时候通常已经晚了。

如果Claude跑偏了,直接按两次Esc回滚到上一个检查点。不要在同一个上下文里纠正——错误推理还在上下文里,它会被自己的错误逻辑带偏。跑偏一次回滚,同一问题跑偏两次用/clear重开。

还有一个反直觉的建议:遇到bug时只说"修复",别微操。你越指导它怎么修,越可能把它带偏。直接让它修,成功率80%以上。


模块化规则:按需加载

当CLAUDE.md开始臃肿时,把细分规则迁移到.claude/rules/目录。每个文件可以用路径限定条件加载——在规则文件顶部添加YAML Frontmatter,指定只在处理特定文件时才加载。

这样Claude处理前端文件时不会被后端的数据库迁移规则干扰。渐进式披露能把每次会话实际加载的字数削减80%左右。


成本和趋势

自建方案每次PR审查大约0.15到0.15到0.35,月度50个PR总费用在20到20到60范围内可控。

2026年AI代码审查已经从锦上添花变成基础设施的一部分。但架构决策、业务逻辑权衡、领域特定判断仍然需要人工。把重复性的质量保障工作自动化,让人工review只关注真正需要人脑判断的问题——这才是正确打开方式。

模型会不断被替代,但好的验证流程和Agent框架是更持久的基础设施。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 做AI模型效果对比时可以在leadhi.cn这类聚合平台上快速切换不同模型体验。
    • 起因:PR积压让我下决心自己搭
    • 为什么选私有方案而不是直接用现成工具
    • CLAUDE.md:审查机器人的"大脑说明书"
    • 审查提示词设计
    • CLAUDE.md + Hooks:让规则自动执行
    • 上下文管理:50%就手动压缩
    • 模块化规则:按需加载
    • 成本和趋势
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档