本文介绍了一个基于WorkBuddy Team模式的多Agent协作框架,该框架支持GitLab代码仓库与业务系统的智能调度,通过1个主控Agent和6个专业Agent,实现从代码分析到发版的自动化流程,帮助研发团队减少重复性工作,专注于真正需要判断力的地方。本文涵盖了系统架构、核心组件、快速开始、适配器开发、工作流程、消息协议、团队生命周期、错误处理与降级、GitLab代码审查、扩展开发、自动化级别评估、实践案例、写在最后等内容。
前提:基于 WorkBuddy Team 模式的多 Agent 协作框架,支持 GitLab 代码仓库与业务系统的智能调度。
一句话总结:1 个主控 Agent + 6 个专业 Agent,从代码分析到发版全自动。
适合谁看
- 研发团队负责人:想减少重复性工作
- 技术架构师:探索 AI Agent 在研发流程中的应用
- 运维/ DevOps 工程师:想搭建自动化流水线
当前自动化程度:
适合处理小模块开发、小需求实现、bug 修复等杂事,以及中等复杂度项目中非核心业务部分的自动化。核心价值在于把时间从重复劳动中捞回来,专注于真正需要判断力的地方。
看完能收获什么:
一套可直接落地的多 Agent 协作框架
明确的自动化级别定位(ACMM L5)和升级路径
完整的搭建思路和常见问题解决方案
一、系统架构
1.1 整体架构

架构关系说明

1.2 Agent 角色
| rd-manager | 主控 | rd-manager | – | 任务拆解、调度编排、结果汇总、用户交互 |
| bp-agent | 业务数据 | business-platform + business-login | business_platform | 查系统信息、仓库地址、发版记录、项目元数据 |
| gitlab-query | GitLab 查询 | gitlab-code-query + gitlab-activity-monitor | GitLab | 查 MR、提交历史、文件内容、分支信息、仓库结构 |
| code-analyzer | 代码分析 | gitlab-code-analyzer | GitLab | 安全扫描、代码质量分析、提交审查、依赖检测、code_review |
| code-fixer | 代码修复 | gitlab-code-modifier | GitLab | 创建分支、修改代码、提交 MR、自动修复 |
| release-mgr | 发版管理 | release-create + release-save-content + release-update-repository + release-update-status | business_platform | 发版全流程执行、版本管理、状态流转 |
| prd-agent | 需求智能体 | rd-manager core 模块 | – | 需求解析、验证、评分、澄清、生成标准化需求文档 |
1.3 项目目录
rd-manager-workspace/ # 项目根目录
├── .workbuddy/
│ └── skills/ # 技能目录
│ ├── rd-manager/ # 研发经理主控技能
│ │ ├── SKILL.md # 主控技能定义
│ │ ├── agents/ # 子Agent启动Prompt
│ │ ├── core/ # Harness核心模块
│ │ ├── protocols/ # 消息协议
│ │ ├── templates/ # 工作流模板
│ │ └── examples/ # 使用示例
│ ├── business-platform/ # 业务数据技能
│ ├── gitlab-code-query/ # GitLab代码查询
│ ├── gitlab-code-analyzer/ # GitLab代码分析
│ ├── gitlab-code-modifier/ # GitLab代码修改
│ ├── gitlab-activity-monitor/ # GitLab活动监控
│
└── mcp_business_platform/ # MCP 数据服务
二、核心组件
2.1 Harness 六层架构 + 优化模块

2.2 核心模块文件
<ide-config>/skills/rd-manager/core/ # 主技能核心模块
├── __init__.py # 导出全部核心模块
├── workflow_engine.py # L3: 工作流引擎 – WorkflowEngine, WorkflowTemplates, StepStatus
├── task_state.py # L4: 任务状态管理 – TaskStateManager, create_task
├── error_handler.py # L6: 错误处理 – ErrorHandler, with_retry, safe_execute
├── prompt_manager.py # L1: Prompt 管理 – PromptManager, get_agent_prompt
├── result_refiner.py # L2: 结果提炼 – ResultRefiner, refine_result
├── evaluator.py # L5: 评估观测 – EvaluatorOrchestrator, ResultQualityEvaluator
├── memory_optimizer.py # L7: Token优化 – MemoryOptimizer, LazyPromptLoader
├── smart_compressor.py # L7: 智能压缩 – SmartCompressor, CompressionLevel
├── session_memory.py # L7: 会话记忆 – SessionMemory, ConversationBuffer
├── result_cache.py # L7: 结果缓存 – ResultCache, PersistentCache
├── requirement_parser.py # PRD: 需求解析
├── requirement_validator.py # PRD: 需求验证
├── requirement_scorer.py # PRD: 需求评分
└── requirement_clarifier.py # PRD: 需求澄清
2.3 子 Agent Prompt 模板
<ide-config>/skills/rd-manager/agents/
├── bp-agent.md # 业务数据子Agent
│ ├── 职责:查询仓库信息、发版记录
│ ├── MCP工具:business_platform (query_repository, query_database, execute_update)
│ └── 技能:business-platform, business-login
│
├── gitlab-query.md # GitLab查询子Agent
│ ├── 职责:查提交、文件、分支、MR
│ ├── MCP工具:GitLab (list_commits, get_repository_tree, get_file_contents)
│ └── 技能:gitlab-code-query, gitlab-activity-monitor
│
├── code-analyzer.md # 代码分析子Agent
│ ├── 职责:安全扫描、代码质量、依赖检测
│ └── 技能:gitlab-code-analyzer
│
├── code-fixer.md # 代码修复子Agent
│ ├── 职责:创建分支、修改代码、提交MR
│ └── 技能:gitlab-code-modifier
│
├── release-mgr.md # 发版管理子Agent
│ ├── 职责:创建版本、保存内容、更新仓库、状态流转
│ └── 技能:release-create, release-save-content, release-update-repository, release-update-status
│
└── prd-agent.md # 需求智能体子Agent
├── 职责:需求解析、验证、评分、澄清
└── 核心模块:requirement_parser, requirement_validator, requirement_scorer
三、快速开始
3.1 环境准备
3.1.1 基础环境
# Python 3.8+
python –version
# rd-manager-workspace 核心零外部依赖(仅标准库)
3.1.2 WorkBuddy 平台依赖
方案基于 WorkBuddy Team 模式 构建,需要以下 WorkBuddy 工具(内置):
| task | 启动子 Agent | team 模式启动,指定 subagent_name |
| team_create | 创建团队 | 创建协作团队容器 |
| team_delete | 销毁团队 | 任务完成后清理资源 |
| send_message | Agent 间通信 | 主控与子 Agent 消息传递 |
| wait_for_message | 等待返回 | 监听子 Agent 响应 |
3.1.3 MCP 服务依赖
| GitLab MCP | 必需 | GitLab API 查询 |
| GitLab Code Analyzer | 必需 | 代码安全分析、质量检查 |
| GitLab Code Modifier | 必需 | 代码修改、分支创建、MR 提交 |
| business_platform MCP | 可选 | 业务数据查询(可通过 data_adapter 替换) |
3.1.4 MCP 配置
在 WorkBuddy 中配置 MCP 服务(settings.json):
{
"mcp.servers": {
"business_platform": {
"command": "python",
"args": [
"mcp_business_platform/server.py"
],
"env": {},
"disabled": false,
"autoApprove": []
},
"gitlab": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-gitlab"],
"env": {
"GITLAB_PERSONAL_ACCESS_TOKEN": "${GITLAB_TOKEN}",
"GITLAB_API_URL": "${GITLAB_API_URL}"
},
"disabled": false,
"autoApprove": []
}
}
}
3.2 业务数据配置
3.2.1 系统数据源
系统信息、仓库信息、发版记录等数据均来自业务中台数据库,通过 business_platform MCP 服务直接连接数据库获取,无需额外配置本地数据源。
3.2.2 数据字段说明
主要数据实体包括:
| System | 系统信息 | 系统名、项目名、产品负责人、研发负责人、当前版本 |
| Repository | 仓库信息 | 仓库名称、类型、技术栈、所属组、仓库地址 |
| Release | 发版记录 | 版本号、状态、发布时间、关联仓库 |
3.3 GitLab 代码审查触发
代码审查通过以下方式触发:
手动触发:在 WorkBuddy 中直接使用 code-analyzer Agent
3.3.1 使用技能进行审查
# 直接告诉 rd-manager 你的意图,它会自动查询项目信息并执行分析
分析 UAT 基础平台的代码问题
检查生产环境用户中心的依赖漏洞
审查XX项目工单系统的最近提交
四、适配器开发
4.1 适配器架构
┌─────────────────────────────────────────────────┐
│ MCP 数据服务 │
├─────────────────────────────────────────────────┤
│ ┌──────────────┐ ┌──────────────┐ │
│ │query_database│ │execute_update│ │
│ └──────────────┘ └──────────────┘ │
│ │ │ │
│ └──────────────────┘ │
│ ▼ │
│ ┌──────────────┐ │
│ │ 数据库 │ │
│ └──────────────┘ │
└─────────────────────────────────────────────────┘
4.2 MCP 数据服务
MCP 服务通过 business_platform 提供标准的数据访问接口。
核心工具:
| query_repository | 查询仓库信息 |
| query_database | 执行数据库查询 |
| execute_update | 执行数据更新操作 |
业务数据访问通过以下层级:

访问方式:
MCP 方式:通过 business_platform MCP 服务直接连接数据库访问
数据实体包括:System、Repository、Release、Server 等
五、工作流程
5.1 代码分析流程
用户: "分析 [项目] 的代码问题"
│
▼
[主控] 解析项目标识,创建团队
│
├──[bp-agent] query_repository(project, system, repo_type)
│ └── 返回: 仓库地址、分支、上次发版信息
│
▼ (获取仓库信息后)
│
├──[gitlab-query] list_commits(project_id, branch, per_page=20)
├──[gitlab-query] get_repository_tree(project_id, ref=branch)
├──[gitlab-query] get_file_contents(project_id, 依赖文件, ref=branch)
│
▼ (获取代码信息后)
│
├──[code-analyzer] 安全分析 + 依赖分析 + 代码质量
│ └── 返回: 问题列表、修复建议
│
▼ (主控汇总)
│
生成 📋 代码分析报告 → 呈现用户
调度模式: 串行(有依赖关系)
说明: 纯分析流程,生成详细分析报告后由用户决定是否进行修复。如需修复,进入"安全修复流程"或"代码修复流程"。
5.2 需求分析流程
用户: "分析这个需求" 或 "评审需求"
│
▼
[主控] 识别为需求任务,调度 prd-agent
│
├──[prd-agent] requirement_parse
│ └── 解析需求文本(支持结构化/Markdown/自然语言)
├──[prd-agent] requirement_validate
│ └── 验证必填项、格式、规则
│
├──[prd-agent] requirement_score
│ └── 5维度评分:背景清晰度、价值定义、解决方案完整性、验收标准、影响范围
│
├──[prd-agent] requirement_clarify
│ └── 生成澄清问题和建议
│
▼ (主控汇总)
│
生成 📋 需求分析报告 → 呈现用户
│ – 验证结果
│ – 评分报告(总分、各维度得分)
│ – 澄清问题(高/中/低优先级)
│ – 改进建议
│
▼ (用户补充信息后)
│
└──[prd-agent] 重新评分 → 直到通过阈值
调度模式: 串行(4步:解析→验证→评分→澄清)
评分维度:
| 背景清晰度 | 15% | 需求背景是否清晰说明原因和现状 |
| 价值定义 | 20% | 收益和衡量指标是否明确 |
| 解决方案完整性 | 25% | 方案描述是否足够详细 |
| 验收标准 | 25% | 验收标准是否明确、可测试 |
| 影响范围 | 15% | 是否说明涉及的系统和改动范围 |
评分阈值: 80分以上通过,60-80分需评审,60分以下不通过
5.3 发版规划流程
用户: "规划 [项目][系统] 的 本日发版"
│
▼
[主控] 拆解任务
│
├──[bp-agent] query_repository(project, system)
│ └── 返回: 所有仓库 + 上次发版信息
│
▼ (对每个有变更的仓库并行)
│
├──[gitlab-query] list_commits(repo1, since=上次发版日期)
├──[gitlab-query] list_commits(repo2, since=上次发版日期)
├──[gitlab-query] list_commits(repo3, since=上次发版日期)
│ └── 返回: 各仓库新提交
│
▼ (主控汇总)
│
生成 📋 发版规划报告 → 用户确认
│
▼ (用户确认后)
│
└──[release-mgr] 创建版本 → 保存内容 → 更新仓库 → 更新状态
调度模式: 串行 + 并行
5.4 安全修复流程
用户: "修复 [项目] 的 [依赖] 安全漏洞"
│
▼
[主控] 拆解任务,创建代码修复工作流
│
├──[bp-agent] query_repository(project, system)
│ └── 返回: 仓库地址、分支、项目信息
│
├──[gitlab-query] 获取依赖配置文件
│ ├── package.json (Node.js)
│ ├── pom.xml (Java)
│ ├── requirements.txt (Python)
│ ├── Cargo.toml (Rust)
│ ├── go.mod (Go)
│ └── 其他依赖配置文件
│
├──[code-analyzer] 安全分析 → 漏洞列表
│ └── 返回: CVE列表、风险等级、修复建议
│
▼ (主控生成修复方案)
│
├──[code-fixer] 创建fix分支 → 升级依赖 → 提交MR
│ └── 分支命名: fix/security-{描述}-{日期}
│
▼ (修复完成后,自动进入审核)
│
├──[code-analyzer] code_review → 质量门禁检查
│ ├── 若质量门禁通过 → 自动合并MR
│ ├── 若审核不通过 → 返回重新生成修复方案
│ └── 若质量门禁失败 → 阻断流程,通知用户
│
├──[gitlab-query] 自动合并MR(质量门禁通过时)
│
├──[release-mgr] 创建发版记录 → 保存修复内容
│
└──[rd-manager] 生成修复报告 → 通知用户
调度模式: 串行(含条件分支和自动回退)
L5级自动化特性:
- 自动获取多语言依赖文件(不限于package.json)
- 质量门禁自动判定(critical/high问题阻断)
- 审核通过自动合并MR,无需人工干预
- 失败自动回退到修复步骤重试
5.5 任务识别与调度策略
| 代码分析 | 分析代码、检查问题、代码审查 | bp → gitlab → analyzer | 串行 |
| 发版规划 | 规划发版、本周发版、发布计划 | bp → gitlab(并行) → release | 串行+并行 |
| 修复问题 | 修复漏洞、更新依赖、修bug | bp → analyzer → fixer → analyzer(审核) → release | 串行 |
| 提交审查 | 审查提交、检查MR、review、审查最新提交 | gitlab → analyzer | 串行 |
| 系统概览 | 查看系统、系统信息、最近发版 | bp | 单Agent |
| 仓库查询 | 查仓库、项目结构、分支信息 | gitlab | 单Agent |
| 需求分析 | 分析需求、评审需求、需求评分 | prd | 单Agent |
| 需求澄清 | 澄清需求、需求补充、需求问题 | prd | 单Agent |
| 需求到代码 | 需求开发、需求实现、按需求开发 | prd → analyzer → fixer | 串行 |
5.6 发版状态机
发版流程采用四阶段状态机(根据实际业务系统场景):
┌─────────────────┐
│ 1. 草稿 │ ◄────────────────────┐
│ (status = 1) │ │
└────────┬────────┘ │
│ 提交 │
▼ │
┌─────────────────┐ │
│ 2. 待发布 │ ──────────────────────►│
│ (status = 2) │ │
└────────┬────────┘ │
│ 提交(自动发工单) │ 撤回
▼ │
┌─────────────────┐ │
│ 3. 已发工单 │ ──────────────────────►│
│ (status = 3) │ │
└────────┬────────┘ │
│ 完成 │
▼ │
┌─────────────────┐ 重发(回退到状态2) │
│ 4. 已发布 │ ◄────────────────────┘
│ (status = 4) │
└─────────────────┘
| 1 | 草稿 | 初始状态,完善版本信息 |
| 2 | 待发布 | 审核仓库和分支信息 |
| 3 | 已发工单 | 已发送运维工单 |
| 4 | 已发布 | 发布完成 |
release-mgr 执行步骤:
release-create → 获取 versionId
release-save-content → 保存新增/优化/修复内容
release-update-repository → 设置 branch/commit/serverIds
release-update-status → status=3 发运维工单
六、消息协议
6.1 消息格式
# 主控 → 子Agent
send_message(
type="message",
recipient="bp-agent", # 子Agent名称
content="查询UAT基础平台前端仓库信息",
summary="查询UAT基础平台前端仓库",
metadata={
"project": "UAT",
"system": "基础平台",
"repo_type": "前端"
}
)
# 子Agent → 主控
send_message(
type="message",
recipient="main", # 必须是 "main"
content=json.dumps({"status": "success", "data": {…}}),
summary="查询结果摘要"
)
6.2 关键注意事项
Recipient 必须是 “main”
错误写法(会导致通信失败):
send_message(recipient="team-lead", …) # 错误!
send_message(recipient="master", …) # 错误!
send_message(recipient="coordinator", …) # 错误!
正确写法:
send_message(recipient="main", …) # 唯一正确的名称
6.3 标准消息类型
| message | 任务分配/结果返回 | 双向 |
| confirm | 请求用户确认 | 子 Agent→ 主控 |
| shutdown_request | 请求关闭子 Agent | 主控 → 子 Agent |
| shutdown_response | 确认关闭 | 子 Agent→ 主控 |
| broadcast | 广播消息 | 主控 |
| error | 错误通知 | 子 Agent→ 主控 |
| progress | 进度更新 | 子 Agent→ 主控 |
6.4 子 Agent 错误返回格式
所有子 Agent 必须使用 try-catch 包裹 MCP/技能调用:
# 成功返回
send_message(
type="message",
recipient="main",
content=json.dumps({"status": "success", "data": result}),
summary="操作成功"
)
# 失败返回(不能卡住)
send_message(
type="message",
recipient="main",
content=json.dumps({
"status": "error",
"error": {
"type": "mcp_error",
"message": str(e),
"retryable": True
}
}),
summary="操作失败"
)
七、团队生命周期
7.1 完整执行流程
# 1. 创建团队
team_create(team_name="rd-team", description="研发经理多Agent协作团队")
# 2. 按需启动子Agent(只启动任务需要的)
task(
name="bp-agent",
team_name="rd-team",
mode="acceptEdits",
subagent_name="code-explorer",
prompt="""
你是业务数据子Agent (bp-agent)。
## 关键:recipient必须是"main"(重要!)
不能使用"team-lead"、"master"等其他名称。
## 重要:所有MCP调用必须使用try-catch包裹
## 核心职责
– 查询系统仓库信息(项目、系统、仓库地址)
– 查询发版记录(历史版本、当前版本)
## 可用工具
– MCP: business_platform (query_repository, query_database)
– 技能: business-platform
## 工作方式
1. **启动后立即发送就绪消息给main**
2. **收到任务后使用try-catch执行MCP查询**
3. **将结果通过send_message返回给main**
4. **继续等待下一条消息**
"""
)
# 3. 等待子Agent就绪消息
# 子Agent启动后会自动发送: "bp-agent 已启动,等待任务"
# 4. 收到就绪消息后,发送实际任务
send_message(
type="message",
recipient="bp-agent",
content="查询系统信息:项目=UAT,系统=基础平台,仓库类型=前端",
summary="查询UAT基础平台前端仓库"
)
# 5. 等待结果(子Agent处理完会返回)
# 6. 根据结果决定下一步
# …
# 7. 任务完成后关闭
send_message(type="shutdown_request", recipient="bp-agent")
send_message(type="shutdown_request", recipient="gitlab-query")
# 等待 shutdown_response
team_delete()
7.2 关键执行顺序
启动子Agent → 等待就绪消息 → 发送任务 → 等待结果 → 下一步…
↑ │
└────────────── 循环直到任务完成 ──────────────┘
重要:必须等待子 Agent 就绪消息后再发送任务,否则会卡住!
7.3 使用 core 模块(高级用法)
import sys
sys.path.insert(0, "<ide-config>/skills/rd-manager")
from core import (
WorkflowTemplates, WorkflowStatus,
create_task, get_agent_prompt,
refine_result
)
# 1. 创建任务和工作流
task = create_task("task-001", "code_analysis", system="基础平台")
workflow = WorkflowTemplates.code_analysis_workflow("基础平台", "UAT")
# 2. 启动工作流
workflow.start()
# 3. 驱动执行
while workflow.status == WorkflowStatus.RUNNING:
action = workflow.get_next_action()
for step in action['actions']:
prompt = get_agent_prompt(step['agent'], step['action'])
task(name=step['agent'], prompt=prompt)
send_message(recipient=step['agent'], content=step['params'])
result = wait_for_message()
refined = refine_result(step['action'], result)
workflow.execute_step(step['step_id'], result=refined)
注意:<ide-config> 替换为实际 IDE 配置目录名,如 .trae、.cursor 等
八、错误处理与降级
8.1 子 Agent 异常处理
| MCP 连接失败 | 重试 1 次,仍失败则跳过并报告用户 |
| 查询无结果 | 报告用户,提供替代建议 |
| 子 Agent 超时 | 30 秒状态查询,60 秒标记失败 |
| 数据不一致 | 多源交叉验证,以业务数据为准 |
8.2 降级策略
| bp-agent | 直接使用 GitLab MCP 搜索(缺少发版信息) |
| gitlab-query | 无法继续,报告用户 |
| code-analyzer | 主控自行执行基础分析 |
| code-fixer | 生成修复方案,用户手动执行 |
| release-mgr | 生成发版配置文件,用户手动提交 |
8.3 子 Agent Prompt 错误处理规范
所有子 Agent 的 Prompt 必须包含:
# 1. try-catch 强制要求
try:
result = mcp_call("business_platform", "query_repository", params)
send_message(
type="message",
recipient="main",
content=json.dumps({"status": "success", "data": result}),
summary="查询成功"
)
except Exception as e:
send_message(
type="message",
recipient="main",
content=json.dumps({
"status": "error",
"error": {"type": "mcp_error", "message": str(e), "retryable": True}
}),
summary="查询失败"
)
# 2. 关闭处理
收到 shutdown_request 后:
send_message(type="shutdown_response", recipient="main", approve=true)
然后退出
九、GitLab 代码审查
代码审查功能已集成到 code-analyzer Agent 中,统一提供代码分析、安全扫描、依赖检测和提交审查能力。
9.1 审查方式
代码审查通过直接调用 code-analyzer Agent 进行。
9.2 手动审查
# 审查指定项目的最新提交
审查 UAT 基础平台的最新提交
# 审查指定分支
审查测试环境订单系统的 release 分支
# 审查指定提交范围
检查生产环境用户中心从 abc123 提交以来的变更
9.3 审查内容
- 安全扫描:依赖漏洞、敏感信息泄露、不安全代码模式
- 代码质量:代码规范、复杂度、重复代码
- 提交规范:提交信息格式、分支命名规范
9.4 审查示例
以下是一个实际的代码审查案例,用户要求审查活动管理后端的提交,研发经理发现导出数据只导出一页、状态被无条件覆盖等问题:

审查发现的问题:
| exportActivities 只导出一页数据 | P0 | 用户以为数据丢失 |
| h5AdminPage 无条件覆盖 status | P1 | 可能导致状态错误 |
| 缺少导出数量限制/异步机制 | P1 | 数据量大时 OOM |
十、扩展开发
10.1 自定义子 Agent
基于模板创建新的子 Agent:
# custom-agent.md
## 启动确认(必须)
启动后立即执行:
send_message(
type="message",
recipient="main",
content="custom-agent 已启动,等待任务",
summary="custom-agent 就绪"
)
## 关键:recipient 必须是"main"
不能使用其他名称,否则主 Agent 收不到消息!
## 核心职责
– 职责 1: xxx
– 职责 2: xxx
## 可用工具
– MCP: xxx_service (tool1, tool2)
– 技能: xxx_skill
## 错误处理(必须)
所有调用必须使用 try-catch 包裹,无论成败都返回。
## 任务处理流程
收到任务后:
1. **解析参数**
2. **执行操作(try-catch 包裹)**
3. **发送结果给 main(recipient="main")**
4. **继续等待(不要退出)**
## 关闭处理
收到 shutdown_request 后发送 shutdown_response 并退出
10.2 自定义工作流模板
{
"name": "security-audit",
"description": "安全审计工作流",
"steps": [
{
"step_id": "1",
"agent": "bp-agent",
"action": "query_repositories",
"description": "获取项目仓库列表"
},
{
"step_id": "2",
"agent": "gitlab-query",
"action": "list_commits",
"description": "获取最近提交",
"depends_on": ["1"],
"parallel": true
},
{
"step_id": "3",
"agent": "code-analyzer",
"action": "security_scan",
"description": "执行安全扫描",
"depends_on": ["2"]
},
{
"step_id": "4",
"agent": "code-analyzer",
"action": "dependency_check",
"description": "检查依赖漏洞",
"depends_on": ["2"],
"parallel": true
}
]
}
十一、自动化级别评估
11.1 分级标准:AI Codebase Maturity Model (ACMM)
本文采用 ACMM(AI Codebase Maturity Model)作为分级标准。该模型由 IBM Research 提出,基于 CMMI 框架,以反馈循环拓扑定义成熟度,每级依赖前级基础设施,不可跳过。
| L1 | Assisted 辅助级 | 行级补全,人类逐行审核 | 无 | Copilot 逐行建议 |
| L2 | Augmented 增强级 | 函数级生成,人类审查后集成 | 人工审查反馈 | AI 生成函数,人审核 |
| L3 | Structured 结构级 | 文件/模块级生成,上下文感知 | 上下文文件约束 | AI 生成完整文件 |
| L4 | Agentic 智能体级 | 多文件规划,自动测试验证 | 自动化测试反馈 | AI 规划跨文件变更 |
| L5 | Automated 自动级 | 半自动执行,人类审批合并 | PR 审查门禁 | AI 执行,人点合并 |
| L6 | Fully Autonomous 完全自治 | 完全自主,自动合并与回滚 | 全链路闭环反馈 | AI 端到端自治 |
11.2 本方案 ACMM 级别评估
当前级别:L5(Automated – 自动化级)
本方案已实现多 Agent 协作和跨文件规划,达到 L5 阶段:
| 多文件规划 | AI 能规划跨文件变更 | rd-manager 拆解任务,调度多 Agent 跨仓库执行 | ✅ 满足 |
| 自动测试 | 变更后自动运行测试 | 代码分析(code-analyzer)自动检测问题 | ⚠️ 部分满足 |
| 上下文感知 | 基于项目上下文决策 | data_adapter 提供业务上下文,Agent 基于上下文查询 | ✅ 满足 |
| 反馈闭环 | 测试结果反馈给 AI | 分析结果返回给主控,code-fixer 可自动修复 | ✅ 满足 |
L5 核心能力 checklist:
- Agent 协作:1 个主控 + 6 个专业 Agent 分工
- 任务拆解:rd-manager 自动拆解为子任务链
- 跨文件/仓库:支持多仓库并行查询和分析
- 上下文传递:前序 Agent 输出作为后续输入
- 自动测试验证:无自动化测试 MCP(L5 完整版需补充)
- 自动修复闭环:code-fixer 支持自动修复,分析出问题后可自动创建分支、修改代码、提交 MR
11.3 与 L5/L6 的差距
| L5 | 半自动执行,人类仅审批合并 | 代码修复、发版已实现自动化 | ✅ L5 已达成(除自动测试验证) |
| L6 | 完全自治,自动合并与回滚 | MCP 故障需人工处理,无自愈 | 需增加故障自愈、自动回滚能力 |
11.4 升级路径
✅ L5(Automated)已达成:
减少人工确认:code-fixer 支持分支询问,用户指定分支直接修改不提交 MR;无指定自动提交 MR
质量门禁自动化:code-analyzer 返回 quality_gate,达标自动合并,不达标自动阻断
无人值守发版:release-mgr 自动完成 4 步发版流程,人类只需监控
到 L6(Fully Autonomous)需要补充:
自愈能力:MCP 服务故障时自动切换备用方案
自动回滚:发版后监控异常,自动回滚到上一版本
闭环优化:基于历史数据自动优化 Agent 策略
11.5 企业内部定位建议
| 代码审查辅助 | L5 | ✅ 已满足 |
| 自动化发版 | L5 | ✅ 已满足 |
| 故障自愈 | L6 | ❌ 需补充监控和回滚能力 |
| 端到端交付 | L5 | ⚠️ 需接入自动化测试 |
总结:本方案已达到 L5(Automated 自动化级),实现代码修复自动化、质量门禁自动阻断/合并、无人值守发版。距离 L6 约需 3-4 个月迭代,主要补充故障自愈和自动回滚能力。
十二、常见问题
12.1 通信卡住
| 发送任务后卡住 | 子 Agent 未就绪或名称不匹配 | 等待子 Agent 就绪消息,检查 name/recipient 一致性 |
| 子 Agent 不返回 | 执行出错未捕获或忘记 send_message | 子 Agent 必须用 try-catch,无论成败都返回 |
| 子 Agent 执行一次退出 | 没有进入等待循环 | prompt 必须说明"继续等待" |
| recipient 错误 | 用了 main 以外的名称 | 所有子 Agent 发往主控必须用 “main” |
12.2 业务数据连接
| 无法连接业务系统 | 1. 检查 MCP 服务状态 curl localhost:8080/health 2. 验证 business-platform-server 连通性 3. 确认 MCP 配置正确 |
| 数据格式不匹配 | 1. 检查 MCP 返回字段 2. 查看业务中台 API 文档 3. 确认字段映射正确 |
| 查询结果为空 | 1. 检查过滤条件 2. 确认业务中台有数据 3. 验证 bp-agent 查询参数 |
12.3 检查清单
- 子 Agent Prompt 包含启动确认消息
- 子 Agent Prompt 包含错误处理(try-catch)
- 子 Agent Prompt 包含关闭处理
- send_message 的 recipient 是 “main”
- task 的 name 和 send_message 的 recipient 一致
- 等待子 Agent 就绪消息后再发送任务
- MCP 调用使用 try-catch 包裹
- business_platform MCP 已配置
- MCP 服务(mcp_business_platform)已启动
- GitLab Token 已正确配置
十三、实践案例:新增系统配置管理接口
为 UAT 基础平台后端新增系统配置管理接口。该案例覆盖从需求分析、代码实现、数据模型确认、代码提交到发版部署的全流程。
13.1 需求分析与方案设计
用户向研发经理主控 Agent 提出需求:
“让研发经理安排下,为 UAT 项目基础平台后端新增一个接口用于获取系统配置,请分析代码后给出实现方案。”
主控 Agent 调度 code-analyzer 分析现有代码结构,自动生成实现方案:

方案要点:
- 路由位置:放在 middleware.Auth() 之后,需登录才能访问
- 响应格式:与现有 GetPlatformInfo 等接口保持一致
- 数据模型:复用已有的 SystemSetting 表,键值对结构
- 权限控制:只需登录,POST 写入可考虑加 AdminAuth()
- 向上兼容:不修改现有接口,只新增
13.2 代码修复与提交
主控 Agent 调度 code-fixer 自动创建分支、修改代码、提交并创建 MR:

执行摘要:
- 创建分支:feat/add-system-config-api
- 新增文件:models/setting/setting.go(数据访问层)
- 修改文件:controllers/setting/setting.go(新增 GET/POST 接口)
- 提交记录:3 个 commit 完整实现接口功能
- 创建 MR:指向 master 分支,等待合并
13.3 发版部署
代码合并后,主控 Agent 调度 release-mgr 自动完成发版全流程:

发版状态流转:
| 登录 | ✅ | 用户认证通过 |
| 创建版本 | ✅ | v3.21.0,versionId=1546 |
| 同步仓库 | ✅ | PUT /system/version/syn/repository/1546 |
| 更新仓库 | ✅ | basic-platform-service,branch=uat-new,commit=7787e2ff |
| 保存内容 | ✅ | 新增系统配置管理接口 |
| 推进 1→2 | ✅ | 状态变为待发布 |
| 推进 2→3 | ✅ | 运维工单已发送 |
13.4 接口验证
发版完成后,通过接口测试工具验证新接口可正常访问:

验证结果:
- GET /api/setting/system_config 返回系统配置列表
- 包含 login_lock、captcha_check、multi_device_login 等配置项
- JSON 响应格式正确,数据完整
13.5 数据确认
人工查询业务中台数据库,对比接口返回数据,确认两者一致:

验证结果:
- 接口返回的 login_lock、captcha_check、multi_device_login 等配置项与数据库记录完全一致
- 数据模型设计合理,复用 variables + values(JSON)键值对结构
13.6 案例总结
本案例展示了多 Agent 协作框架的实际应用:
| 需求分析 | rd-manager + code-analyzer | 分析代码,生成实现方案 |
| 代码实现 | code-fixer | 创建分支、编码、提交 MR |
| 发版部署 | release-mgr | 创建版本、保存内容、发运维工单 |
| 接口验证 | 人工/测试工具 | 确认接口可用 |
| 数据确认 | 人工/bp-agent | 查询并确认数据库表结构 |
从需求提出到接口可用,全程由 Agent 自动驱动,人类仅在关键节点确认。
十四、写在最后
这套框架的灵感,来自制造业的"黑暗工厂"概念——不需要灯光的工厂,因为里面没有工人。 最初我在腾讯电脑管家的 QClaw 上尝试这个思路,做了一个"小程序黑暗工厂":需求丢进去,代码吐出来,人只负责验收。实践证明,把 AI 当作"更高效的外包"是条死路,但把它当作"不知疲倦的助手"却意外地管用。
后来把类似的思想搬到业务平台的研发场景,有了现在这套基于 WorkBuddy 的多 Agent 协作框架。核心没有变:机器处理 80% 的常规工作,人专注于 20% 真正需要判断力的部分。
几个感受
人终于可以专注思考了
以前写代码,最费时的不是写本身,而是反复确认"这个需求到底要什么"、等设计评审、等代码审查。引入 Agent 协作后,这些环节可以流水线跑了。人的角色从"执行者"慢慢变成"验收者"和"决策者"。
约束比能力更重要
这套框架借鉴了 Harness Engineering 的思想——不是依赖人的自觉,而是用流程和约束卡住每一个可能出错的点。PM 不能自己写代码、每个阶段必须有 RTM 更新、QA 门禁不过不能合并。听起来死板,但只有这样 Agent 才能真正自动化,否则人会忍不住"帮 Agent 写一下"然后流程就乱了。
自动化是有代价的
L5 到 L6 之间,隔着故障自愈和自动回滚。这不是技术问题,是投入产出比的问题。深夜三点服务挂了,要不要让 AI 自动回滚?回滚错了算谁的?这些问题没有标准答案,不同团队有不同的取舍。
未来会怎样
很难说。但有一点可以确定:软件研发的工作方式正在发生变化,而且变化得比我们想象的要快。
三年前觉得 AI 写代码是噱头,两年前觉得多 Agent 协作是实验室玩具,去年觉得自动化研发是巨头的专利。现在回头看,每一步都比想象中来得更快。
也许再过两年,国内也会出现真正意义的"研发黑暗工厂"——需求一句话,代码自动跑,人只负责最终验收。到那时候,研发团队的角色可能会从"写代码的人"变成"设计工厂的人"。这个转变不一定很快,但它在发生。
与其焦虑被替代,不如早点学会和 Agent 协作。这才是未来研发团队的核心竞争力。
最后
2026 年一晃已经过半,AI 大模型的热潮不仅没有降温,反而持续升温!
金融行业用大模型做风控、医疗依靠 AI 解析影像,电商、制造、教育各行各业,都在把 AI 融入日常业务。曾经热闹的 “百模大战”,早就告别单纯比拼模型参数,正式进入落地应用时代。
现在企业疯狂紧缺一类人才:懂业务、懂 AI、能做出可上线项目的大模型开发工程师,岗位缺口大,薪资待遇十分可观。

风口再好,不如手握高薪 offer 实在。行情火热,普通人、程序员该怎样从零入门大模型,抓住这波机会?
今天整理好【2026 最新版】AI 大模型全套免费学习资源,覆盖零基础入门、项目实战、理论知识、大厂面试,从基础一路进阶。所有资料分类归档,没有多余杂料,无套路免费分享给想要入局 AI 赛道的程序员与零基础小白!
👇👇扫码免费领取全部内容👇👇

1、大模型系统化完整学习路线

2、大模型经典书籍&文档

3、AI 大模型最新行业研究报告

4、企业级实战项目 + 完整配套源码

5、大厂大模型面试真题汇总

6、这些资料真的有用吗?
这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】


![[特殊字符]DeepSeek‑Harness(DSH)小白保姆教程-171主机测评](https://www.171host.com/wp-content/uploads/2026/08/20260816085112-6a817a009aabf-220x150.png)
