Qodo PR Agent
2025-5-30
| 2025-6-7
字数 1831阅读时长 5 分钟
type
status
date
slug
summary
tags
category
icon
password

概述

Qodo PR Agent 是一款基于人工智能的代码审查工具,旨在提升团队的代码质量和开发效率。它可以自动分析 Pull Request (PR),提供智能化的代码审查建议,帮助开发团队更高效地进行代码协作。

Why Qodo

GitLab Duo

我们公司安装 Gitlab 的宿主机版本太低,最高只能升级 GitLab 到 16.11。不然可以直接升级到 17.9,那么可以无痛直接启用 GitLab Duo
notion image
如果你想进一步了解如何启用自托管的 GitLab Duo,那么可以参考这个文档
其实市面上也有一些其他的工具,例如下面这两个。 Claude Code 看着已经非常 fancy,但很遗憾的是他们都是面向 Github 的,所以我们也无法直接使用(虽然 Claude Code 号称可以和 GitLab 集成,但我并没有找到可以使用的方案,或者可能所谓可以集成就是说的 GitLab Duo)。

Claude Code

Bug Bot

Cursor 1.0 伴随推出的 code review 工具。

核心功能

1. 智能代码审查

  • 自动代码分析:PR Agent 能够深度分析代码变更,识别潜在的 bug、性能问题和安全漏洞
  • 最佳实践检查:基于行业标准和团队规范,自动检查代码是否符合最佳实践
  • 代码质量评估:提供可读性、可维护性等多维度的代码质量评分

2. 自动化文档生成

  • PR 描述生成:基于代码变更自动生成详细的 PR 描述
  • 变更摘要:智能总结代码修改的主要内容和影响范围
  • API 文档更新:自动识别 API 变更并建议相应的文档更新

3. 测试建议

  • 测试覆盖率分析:识别缺少测试覆盖的代码区域
  • 测试用例建议:基于代码逻辑自动建议需要添加的测试场景
  • 回归测试提醒:分析代码变更可能影响的现有功能

技术优势

多语言支持

  • 支持主流编程语言:Python, JavaScript, Java, Go, C++, TypeScript 等
  • 针对不同语言的特定规范和最佳实践进行优化

深度集成

  • GitHub/GitLab 集成:无缝集成到现有的 Git 工作流
  • CI/CD 流水线支持:可作为自动化流水线的一部分

可定制化

  • 规则配置:支持自定义代码规范和检查规则
  • 团队标准:可根据团队的编码风格进行个性化配置
  • 优先级设置:灵活调整不同类型问题的优先级

实际应用场景

场景一:新人代码审查

对于团队新成员,PR Agent 可以:
  • 提供详细的代码改进建议
  • 教育性的最佳实践提醒
  • 减少资深开发者的审查负担

场景二:大型重构项目

在进行系统重构时:
  • 自动识别潜在的破坏性变更
  • 提供影响范围分析
  • 建议必要的测试策略

场景三:多团队协作

跨团队合作中:
  • 统一代码质量标准
  • 自动化的初步审查
  • 减少沟通成本

使用效果(据说)

根据使用团队的反馈,引入 Qodo PR Agent 后通常能够实现:
  • 提升审查效率 40-60%:减少人工审查时间
  • 降低 bug 率 25-35%:提前发现潜在问题
  • 提高代码质量:统一团队编码标准
  • 加速新人成长:提供实时的学习反馈

部署

GitLab 配置

GitLab 有两种模式,一种是放在 gitlab-ci 中,可以 MR 提交的时候自动运行。但是这种模式并不方便和 bot 交互,也提前定好了要跑的命令(例如同时跑所有命令,但不是所有人都需要),不自由的同时 token 的消耗量会很大,所以我们选择 webhook 的方式。
  1. 创建一个 api token(可以是个人也可以是组织的) 具有 Developer 以上的角色(否则 /describe 命令无法生效,也无法给 MR 添加标签),打开 api 的 scope。
notion image
  1. 在需要引入 qodo 的仓库中,Maintainer 角色可以在设置中设置一个 webhook 。地址填写 xxxx ,shared_secret,推送事件选择 Comments/Merge request event,w然后 Enable SSL verification(我们部署的域名一定会是 HTTPS 的)
 
notion image
  1. 在要 review 的 MR 中使用命令 /review /describe /improve 即可

服务部署

我们使用 ArgoCD 进行部署,此处不具体展开。

实际使用(以 call back 为例)

/describe 命令:会自动根据 commit 和代码自动生成 description
/review 命令:会对代码进行 review
检查的项目是:
  • 检查的复杂度
    • 1 🔵⚪⚪⚪⚪ = 很简单,几分钟就能审查完
    • 2 🔵🔵⚪⚪⚪ = 简单,大约10-15分钟
    • 3 🔵🔵🔵⚪⚪ = 中等复杂度,需要20-30分钟仔细审查
    • 4 🔵🔵🔵🔵⚪ = 复杂,需要45分钟到1小时
    • 5 🔵🔵🔵🔵🔵 = 非常复杂,需要1小时以上深度审查
  • tests (如果有的话)结果
  • 安全问题
  • 一些其他的项目(可以在指令中自定义,例如我添加了要求检查 typos 和代码风格一致性的检查)
/improve 命令:
会提示代码应该怎么优化,包含了之前的写法和应该采取的写法。
/ask 命令:可以随意提问
/help 命令:帮助命令,可以自行尝试
新的 MR 创建的时候会自动调用 describe review improve ,但考虑到成本暂时没有打开 push commit 自动更新的选项。

费用

测试了5个PR,代码量 < 500 行,执行命令 15+次,一共消耗了 13 万 token,花费了 0.31 刀(一部分使用了 o4-mini,一部分使用了 gpt-4.1)。
notion image

注意事项

  • 不能完全替代人工审查:AI 工具应作为辅助,重要的架构决策仍需人工判断
  • 初期配置重要:需要花时间调整规则以适应团队习惯
  • 持续优化:根据使用情况不断优化配置和规则
  • 一些限制:有 max token 限制,上下文有限制,且审核时主要使用的是git diff,因此无法关注到全局。

总结

Qodo PR Agent 作为一款 AI 驱动的代码审查工具,能够显著提升团队的开发效率和代码质量。对于追求高质量交付的技术团队来说,它是一个值得考虑的效率工具。建议团队可以先进行小范围试用,根据实际效果再决定是否全面推广。
  • AI
  • 阿里云 ECS 安装 Docker阿里云 ECS 安装 Docker
    Loading...