🚀 使用 Groq 与 Pipelines 为 Bitbucket 构建 AI 驱动的代码审查工具

发布: (2025年12月9日 GMT+8 20:54)
6 min read
原文: Dev.to

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)

第一种尝试遵循了常见模式:

  1. 通过 Bitbucket REST API 获取 PR 差异
  2. 使用以下任意令牌 在 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 认证。

Back to Blog

相关文章

阅读更多 »