🚀 使用 Groq 与 Pipelines 为 Bitbucket 构建 AI 驱动的代码审查工具
Source: Dev.to
概述
现代开发团队在代码质量上高度依赖 Pull Request,但手动审查速度慢、结果不一致且成本高。Bitbucket 的 Rovo Dev 和 GitHub 的 Ask Copilot 提供 AI 辅助的 PR 审查,但它们的定价模式(例如 $20 / developer / month)并不符合我的需求。
我已经拥有 Groq API 密钥,并希望拥有一个完全自动化、基于流水线的解决方案,于是我使用以下技术构建了一个面向 Bitbucket 的 AI 驱动 PR 审查器:
- Bitbucket Pipelines
- Groq LLM(llama‑3.3‑70b‑versatile)
- 基于 Git 的差异提取(无需 REST API 认证的麻烦)
该系统会自动审查每个 PR,输出结构化的清单驱动 AI 审查,并且 每位开发者零许可费用。
与现有方案的对比
| 功能 | Rovo Dev(Bitbucket) | Ask Copilot(GitHub) | 基于 Groq 的系统 |
|---|---|---|---|
| AI PR审查 | ✅ | ✅ | ✅ |
| 在 CI 中全自动 | ❌(主要基于 UI) | ❌(手动提示) | ✅ |
| 每位开发者成本 | ❌ $20 / 月 / dev | ❌ 与 Copilot 捆绑 | ✅ $0 / dev |
| 在 Pipelines 中可用 | ❌ | ❌ | ✅ |
| 自定义审查规则 | ❌ 有限 | ❌ 有限 | ✅ 完全控制 |
| 供应商锁定 | ✅ | ✅ | ❌ 无(Groq + Git) |
动机与目标
我不想要:
- 另一个按座位计费的 SaaS 订阅
- 手动的 “Ask AI” 工作流
- 随着价格变化而失效的系统
我想要:
- CI 级别的强制执行
- 自定义审查规则
- 尽可能低的成本
这就是我选择 Groq + Pipelines 的原因。
初始方法(Bitbucket REST API)
第一种尝试遵循了常见模式:
- 通过 Bitbucket REST API 获取 PR 差异
- 使用以下任意令牌 在 PR 上发表评论:
- Atlassian API 令牌
- 工作区令牌
- 仓库访问令牌
即使拥有正确的作用域,重复发表评论仍会因 401 Unauthorized 而失败,原因包括:
- 令牌行为不一致
- Bitbucket 不断演进的安全模型
- 2025 年左右的文档对令牌行为描述不足
经过大量调试,我得出结论:最明智的做法是 彻底放弃 Bitbucket REST API 来获取差异。
生产架构
拉取请求创建
- 不再调用 REST API 获取差异
- 没有认证失败
- 没有权限问题
- 完全确定且不易出现偶发错误
差异提取
与其调用 Bitbucket 接口,流水线直接运行 Git 命令:
# 获取当前 PR 的差异
git fetch origin main
git diff origin/main...HEAD
- 提供精准的 PR 差异
- 无需 API 认证
- 适用于任何 CI 环境
这一决定消除了 ≈ 90 % 系统复杂度。
AI审查清单(TypeScript + Angular)
| 检查项 | 状态 |
|---|---|
没有 any 类型 | ✅ |
| 使用接口和泛型进行强类型定义 | ✅ |
采用现代 Angular 语法(@if、@for、独立组件) | ✅ |
| 身份验证守卫 | ✅ |
| 没有硬编码的密钥 | ✅ |
| 错误处理 | ✅ |
| 已编写测试 | ✅ |
| 性能检查 | ✅ |
| 可访问性(WCAG) | ✅ |
最终结论 (MERGE READY / NEEDS WORK) | ✅ |
该清单确保 审查一致、标准强制,并且 零审查员偏见。
Groq LLM 集成
为什么选择 Groq?
- 在大体量差异上推理能力出色
- 相比许多替代方案更便宜
- 兼容 OpenAI API
- 更环保(每次请求计算时间更短)
AI 会返回分类反馈:
- 🚨 严重问题
- 🔒 安全分析
- ⚡ 性能评审
- 🏗️ 架构反馈
- 📝 可维护性
- ✅ 最终结论 (
MERGE READY/NEEDS WORK)
AI审查出现位置
- 完整的 AI 审查会打印在 Pipelines 日志 中
- 可选地保存为可下载的
ai-review.md构件 - 不需要 PR 写权限 → 没有安全风险
这种方式比在 PR 上自动评论更符合企业合规要求。
生产影响
- 每个 PR 都能在几分钟内自动审查
- 审查标准始终如一地得到执行
- 人工审查者可以专注业务逻辑
- 没有因认证问题导致的流水线失败
- 没有因重试浪费的构建时间
- 每位开发者零许可费用
关键工程经验
- AI 审查应 辅助 而非阻塞开发者
- PR 评论是可选的;审查本身必须可靠
- Pipelines + Git + LLM 是极其强大的组合
- Groq 非常适合 CI/CD 场景的 AI 工作负载
- 你不需要 $20 / developer / month 的许可证也能获得优质 AI 审查
接下来计划?
- 当结论为
NEEDS WORK时自动阻止合并 - 针对特定语言的审查器(如 .NET、SQL)
- 仅安全审查模式
- 架构漂移检测
最终思考
使用 Git 进行差异提取 + Groq 进行 AI 分析 + Pipelines 实现自动化。尽可能避免使用 REST API 认证。