Argus 实战:四角色 AI 编程助手如何保障代码质量
AI 编码工具越来越强大,但有一个核心问题始终悬而未决——谁来审查 AI 生成的代码?大多数工具采用”一人应对一个 AI”的模式,AI 写代码,人类 review。但如果 AI 还能扮演 PM、Code Reviewer 和独立质检员,会变成什么样?
Argus 正是从这个角度切入的开源桌面端 AI 编程助手。它用 Go 语言构建,采用 PM(产品经理)/ SE(开发工程师)/ AP(独立审批人)/ C(后台监控)四角色架构,让 AI Agent 协作完成从需求分析到代码审查的全流程。本文带你上手 Argus,了解这套多智能体架构的实际运作方式。
核心架构:三个 AI 角色 + 一个监控系统
Argus 的 V2 架构围绕一个统一核心(ArgusCore)构建,通过 PromptKit 在不同角色间切换上下文。你可以把它理解为一个共享记忆的委员会——所有角色都能看到完整的聊天历史,但每个角色只负责自己分内的任务。
四个角色的分工如下:
| 角色 | 前缀 | 职责 | 决策权 |
|---|---|---|---|
| 🎯 PM | PM | 需求分析、任务拆解、代码审查 | 可要求 SE 返工 |
| 💻 SE | SE | 代码生成、文件操作、命令执行 | 执行阶段 |
| 🔍 AP | AP | 独立审批、编译/测试验证、否决权 | 最高(可一票否决) |
| 📊 C | Sys_C | 健康监控、Git 变化检测、超时回退 | 只读,无决策权 |
完整的执行流水线是:用户输入 → PM 分析 → SE 执行 → PM 代码审查 → AP 最终审批。每个环节都有明确的分工和权限边界。
安装 Argus
Argus 当前主要支持 Windows(macOS/Linux 可编译但未全面测试),提供预编译二进制包和源码构建两种方式。
方式一:下载预编译包(推荐)
从 GitHub Releases 下载最新的 argus-desktop.exe,直接运行即可。
方式二:从源码构建
go install github.com/wailsapp/wails/v2/cmd/wails@latest git clone https://github.com/ArgusTek/argus.git cd argus cd frontend && npm install && npm run build && cd .. wails build ./build/bin/argus-desktop.exe
配置 AI 模型
Argus 兼容 OpenAI API 格式,支持 Qwen、DeepSeek、GLM、GPT、Claude 等多种模型。复制配置模板并填入 API Key:
cp config/config.example.json config/config.json
{
"apiConfigs": [
{
"id": "1",
"name": "DeepSeek",
"provider": "deepseek",
"baseUrl": "https://api.deepseek.com/v1",
"apiKey": "sk-your-key-here",
"modelName": "deepseek-chat",
"isDefault": true
}
]
}
实战:体验四角色协作流程
启动 Argus 后,在聊天窗口输入一个编程任务,比如”帮我创建一个 Go REST API”。来看看四个角色是如何协作的:
阶段一:PM 需求分析
PM 角色是任务的第一道关卡。它会把你的自然语言需求拆解为可执行的子任务:
🎯 PM:我来分析这个任务。一个 Go REST API 需要以下工作: 1. 创建 main.go,搭建 HTTP 服务框架 2. 添加 /health 健康检查端点 3. 添加 /api/users 用户管理端点 @SE 请从任务 1 开始执行
阶段二:SE 执行编码
SE 角色接收 PM 指派的任务后,开始生成代码、写入文件、执行命令。它会在完成后汇报:
💻 SE:[创建 main.go,写入 HTTP 服务器代码,包含路由注册和 JSON 响应] @PM 任务 1 完成,main.go 已创建
阶段三:PM 代码审查
这是 Argus 的特色之一——PM 不只是派单员,它还会用工具验证 SE 的产出。PM 会读取文件内容、检查代码逻辑,通过后才允许进入下一任务:
🎯 PM:[使用 read_file 工具审查 main.go] ✓ 通过 @SE 请继续任务 2,添加 /health 端点
阶段四:AP 独立审批
这是 Argus 最独特的设计——独立的审批人角色。AP 完全不受 PM 和 SE 的影响,用自己的视角审查代码,并且有权一票否决:
🔍 AP:[独立审查代码 + 运行 go build 和 go test] ✅ 项目审批通过。编译通过,测试覆盖了基本路由。
AP 的否决权意味着,即使 PM 批准了,AP 也可能退回要求重做——这模拟了真实软件开发中的 QA 关卡。
后台 C 监控
在后台,C 角色每 30 秒执行一次健康检查,检测 Git 变更,并在角色间超时(如 PM 超过 10 轮审查)时触发回退机制。它只读不写,不会干扰执行流程。
安全与权限控制
Argus 提供三层文件操作权限:
- Auto:自动执行(读写文件)
- Ask:操作前询问用户确认
- Block:禁止执行
文件操作被沙箱限制在工作目录内,修改文件前会自动备份到 .argus/backups/。全局的 panic recovery 机制确保单个 goroutine 崩溃不会导致整个应用挂掉。
适用场景
Argus 的四角色架构特别适合以下场景:
- 需要代码质量把控的团队——AP 的独立审查可以捕获 PM 和 SE 的盲区
- 学习多 Agent 协作模式——开源的 Go 代码库(含完整的 prompt 模板和路由逻辑)是很好的学习素材
- 需要在本地运行的任务——通过本地模型 API(如 Ollama)可在无网络环境下运行
注意事项
- Argus 当前主要面向 Windows 平台,macOS/Linux 虽然可以编译但未经过充分测试
- 11 个 GitHub Stars 说明项目处于早期阶段,功能和支持可能不够完善
- 项目由单人维护,Issue 响应时间可能不固定
- 前端使用 Wails + Vue 3,修改 UI 后需先
npm run build再wails build - 如果使用 DingTalk 等 IM 集成,注意在 Settings 中显式关闭”允许发送消息”开关进行保护
总结
Argus 的核心理念是:AI 写的代码也要有人(或另一个 AI)把关。通过 PM/SE/AP 三个独立 AI 角色的分工协作,它在编码质量和审查流程之间找到了一个还不错的平衡点。虽然项目还处于早期阶段,但其 V2 架构设计和四角色协作模式,对关注 AI Agent 协作和代码质量保障的开发者来说,是一个值得关注的开源参考实现。