# Jarvis：一个多代理AI代码审查系统，自动化PR审查流程

> Jarvis是一个基于Agentic AI架构的代码审查系统，通过Planner、Coder、Reviewer、Executor四个专业代理协作，实现PR分析、问题识别、自动修复、测试生成和验证的完整自动化流程。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-06-04T06:44:59.000Z
- 最近活动: 2026-06-04T06:58:57.382Z
- 热度: 141.8
- 关键词: 代码审查, Agentic AI, 多代理系统, GitHub, 自动化测试, RAG, Go, DevOps
- 页面链接: https://www.zingnex.cn/forum/thread/jarvis-ai-pr
- Canonical: https://www.zingnex.cn/forum/thread/jarvis-ai-pr
- Markdown 来源: ingested_event

---

# Jarvis：一个多代理AI代码审查系统，自动化PR审查流程

## 原作者与来源

- **原作者/维护者**: whyankush07
- **来源平台**: GitHub
- **原始标题**: ci-jarvis (Jarvis)
- **原始链接**: https://github.com/whyankush07/ci-jarvis
- **发布时间**: 2026年6月4日
- **技术栈**: Go, Next.js, PostgreSQL, Redis, OpenAI/Gemini API
- **许可证**: MIT

## 项目概述：代码审查的痛点与解决方案

现代软件开发团队花费大量时间进行重复性的代码审查工作：检查代码风格、寻找常见bug、编写测试用例、验证实现是否符合规范。这些工作虽然重要，但往往占据了开发者本应专注于创造性工作的时间。

Jarvis正是为解决这一痛点而设计的**Agentic AI系统**。它不是一个简单的聊天机器人，而是一个由多个专业AI代理组成的协作系统，能够自主完成代码审查生命周期的各个环节，同时保持人类开发者的最终决策权。

## 核心问题陈述

代码审查是软件质量保证的关键环节，但传统流程面临诸多挑战：

- **重复性劳动**：审查者需要反复检查相同的模式（分号缺失、未使用的变量、硬编码值等）
- **边界条件遗漏**：人工审查容易忽略边缘情况和异常处理
- **质量不一致**：不同审查者的严格程度和关注点存在差异
- **反馈周期长**：从提交PR到获得审查反馈可能需要数小时甚至数天
- **缺乏项目上下文**：审查者可能不了解项目特定的架构模式和约定

Jarvis通过多代理协作架构系统性地解决这些问题。

## Agentic AI架构设计

Jarvis采用Agentic AI架构而非简单的提示-响应系统。系统由四个专业代理组成，每个代理负责审查流程的特定环节：

### Planner Agent（规划代理）

作为流程的入口和协调者，Planner Agent负责：

- **理解PR上下文**：分析代码变更的范围、目标和影响
- **任务分解**：将审查工作拆分为可执行的子任务
- **策略制定**：确定执行顺序和依赖关系

### Coder Agent（编码代理）

负责实际的代码生成和修复工作：

- **生成修复代码**：针对识别出的问题提供具体修复方案
- **重构建议**：改进代码结构和可读性
- **补全实现**：为缺失的功能提供实现

### Reviewer Agent（审查代理）

承担质量保证角色：

- **代码审查**：检查生成的变更是否符合标准
- **缺陷识别**：发现潜在问题和改进点
- **标准执行**：确保遵循项目的编码规范
- **改进建议**：提供更优雅的实现方案

### Executor Agent（执行代理）

负责验证和确认：

- **测试运行**：执行单元测试和集成测试
- **静态分析**：运行代码质量检查工具
- **代码验证**：确保生成的代码可以正常编译和运行
- **报告生成**：输出验证结果和指标

## 系统工作流程

Jarvis的工作流程设计体现了事件驱动架构的优势：

```
GitHub Pull Request
          │
          ▼
   GitHub Webhook
          │
          ▼
      Job Queue (Redis)
          │
          ▼
    Go Orchestrator
          │
 ┌────────┼────────┐
 ▼        ▼        ▼
Planner  Coder  Reviewer
          │
          ▼
      Executor
          │
          ▼
 Human Approval Layer
          │
          ▼
   Pull Request Update
```

这个流程的关键设计决策包括：

- **异步处理**：使用Redis队列解耦各个阶段，提高系统吞吐量
- **并行执行**：独立的代理可以并行工作，缩短整体审查时间
- **人工审批**：所有自动生成的变更都需要人工确认后才能应用
- **可追溯性**：完整的审查历史和决策记录

## 核心功能特性

### 代理式代码审查

多代理协作的自主审查管道，每个代理专注于特定领域，通过协作实现全面的代码分析。

### 仓库感知智能

使用RAG（检索增强生成）技术理解项目特定的代码模式：

- **代码嵌入**：将仓库代码转换为向量表示
- **相似性搜索**：查找与当前PR相关的历史代码
- **上下文注入**：将相关代码片段作为上下文提供给LLM

### 自动化测试生成

为修改的代码自动生成单元测试和集成测试，确保变更不会破坏现有功能。

### 人工审批工作流

开发者保持最终控制权，可以：

- 查看代理生成的变更建议
- 选择性接受或拒绝特定修改
- 要求代理重新生成或改进
- 完全覆盖代理的建议

### 审查历史记录

存储完整的审查会话、代理输出和审批决策，用于：

- 审计追踪
- 团队学习
- 系统改进
- 合规要求

### 沙箱执行

在隔离的Docker容器中安全验证生成的代码，防止恶意代码影响主机环境。

### 可扩展架构

新代理和工具可以独立开发并集成到现有流程中，无需修改核心系统。

## 技术栈详解

### 后端架构

- **Go**：高性能的并发处理，适合代理编排
- **Fiber**：轻量级Web框架，处理GitHub Webhook
- **PostgreSQL**：持久化审查历史、代理输出和审批决策
- **Redis**：任务队列和分布式状态管理

### 前端界面

- **Next.js 15**：React框架，提供服务端渲染
- **TypeScript**：类型安全，提高代码质量
- **Tailwind CSS**：实用优先的CSS框架

### AI与代理系统

- **OpenAI API**：GPT系列模型，用于代码生成和分析
- **Gemini API**：Google的LLM，提供多模态能力
- **向量嵌入**：代码语义表示
- **RAG管道**：检索增强生成，提供项目上下文

### 基础设施

- **Docker**：容器化部署
- **Docker Compose**：本地开发和测试
- **GitHub Webhooks**：实时接收PR事件

## 学习价值与贡献机会

Jarvis项目为贡献者提供了学习多种现代技术的实践平台：

### 技术学习

- **Agentic AI系统**：理解多代理架构的设计和实现
- **多代理编排**：学习如何协调多个独立代理的协作
- **RAG技术**：实现检索增强生成管道
- **提示工程**：为不同代理设计有效的提示策略
- **分布式系统设计**：事件驱动架构和异步处理
- **Go后端开发**：高性能并发编程
- **Docker沙箱**：安全隔离和容器化

### 贡献方式

项目欢迎各层次的贡献者：

- **文档**：完善使用说明和API文档
- **后端开发**：实现新的代理和功能
- **前端开发**：改进审查界面和用户体验
- **AI代理设计**：优化代理行为和协作模式
- **提示工程**：改进代理的提示模板
- **测试**：增加测试覆盖率和质量
- **DevOps**：改进部署和运维流程

## 开发路线图

项目规划了六个阶段的开发计划：

### 第一阶段：基础架构

- 项目脚手架搭建
- PostgreSQL数据库设计
- Redis队列配置
- Go编排器实现

### 第二阶段：核心代理

- Planner Agent实现
- Coder Agent实现
- Reviewer Agent实现

### 第三阶段：执行与重试

- Executor Agent实现
- 重试工作流
- 代理记忆机制

### 第四阶段：RAG集成

- 嵌入管道
- 向量搜索
- 上下文注入

### 第五阶段：GitHub集成

- GitHub App开发
- 自动PR协助
- 管理仪表板

### 第六阶段：高级功能

- 高级审查智能
- 代理可观测性
- 性能优化

## 项目价值与意义

Jarvis代表了AI在软件工程领域的务实应用：

1. **提升效率**：自动化重复性审查工作，释放开发者时间
2. **保证质量**：系统化的审查流程减少遗漏
3. **知识传承**：RAG技术捕获项目特定的模式和约定
4. **学习平台**：为开发者提供Agentic AI和分布式系统的实践机会
5. **开源协作**：社区驱动的持续改进

## 结语

Jarvis项目展示了Agentic AI在软件开发工具链中的巨大潜力。通过将AI能力分解为专业代理并设计有效的协作机制，它提供了一个比单一大模型更强大、更可控的解决方案。

对于希望探索AI辅助开发工具的团队，Jarvis不仅是一个可用的系统，更是一个理解Agentic AI架构设计的优秀案例。
