0_4.AgentTeam 研发团队技术方案

AgentTeam 研发团队技术方案

目录


1. 背景与定位

1.1 项目背景

设计一个基于多Agent协作的自动化研发团队系统,实现软件研发全生命周期的智能化管理。

1.2 产品定位

对标主流AgentOps平台(如LangChain、AutoGen、CrewAI等),打造可观测、可干预、实时流动、可视化的智能研发协作平台。

1.3 核心诉求

诉求 说明
可观测 全流程状态追踪,每个Agent的行为、决策、输出可追溯
可干预 关键节点支持人工介入,支持审批、修正、终止等操作
实时流动 数据在Agent间实时流转,支持流式处理和事件驱动
可视化 架构图、流程图、状态面板直观展示

2. 系统架构

2.1 整体架构

AgentTeam 系统架构图 用户交互层 (UI Layer) Web Console CLI Tool API Gateway 编排调度层 (Orchestration Layer) Workflow Engine 调度器 状态机 事件总线 审批网关 检查点管理 上下文管理 Agent层 (Agent Layer) 1 Requirements 需求分析 2 Review 需求评审 3 Design 方案设计 4 Coding 代码编写 5 CodeReview 代码审查 6 UnitTest 单元测试 7 Integration 集成测试 基础设施层 (Infrastructure Layer) Message Queue Kafka / RabbitMQ State Store Redis / PostgreSQL Tool Registry 工具注册中心 LLM Gateway Claude / GPT-4 Storage & Cache MinIO / Redis 图例: 用户交互层 编排调度层 Agent层 基础设施层 Agent协作流

系统采用四层架构设计:

层级 名称 核心组件
L1 用户交互层 Web Console, CLI Tool, API Gateway
L2 编排调度层 工作流引擎、调度器、状态机、事件总线、审批网关
L3 Agent层 7个核心Agent(需求→评审→设计→编码→Review→单元测试→集成测试)
L4 基础设施层 消息队列、状态存储、工具注册、LLM网关、存储缓存

2.2 研发流程阶段

研发流程流水线 需求分析 📋 RequirementsAgent 用户需求 PRD文档 需求评审 ReviewAgent PRD文档 评审报告 方案设计 🏗️ DesignAgent 评审后PRD 技术方案 代码编写 💻 CodingAgent 技术方案 源代码 代码Review 🔍 CodeReviewAgent 源代码 Review报告 单元测试 🧪 UnitTestAgent 源代码 测试报告 集成测试 🚀 IntegrationAgent 完整代码包 发布建议 ! 审批点 ! 审批点 ! 条件干预 ! 条件干预 图例: 干预/审批点 Agent处理阶段
阶段 核心Agent 输入 输出 关键职责
需求分析 RequirementsAgent 用户需求描述 需求文档(PRD) 需求理解、拆解、澄清
需求评审 ReviewAgent PRD文档 评审报告、修订PRD 完整性检查、可行性分析
方案设计 DesignAgent 评审后PRD 技术方案、接口定义 架构设计、技术选型
代码编写 CodingAgent 技术方案 源代码、文档 代码实现、注释编写
代码Review CodeReviewAgent 源代码 Review报告、修订建议 代码质量、规范检查
单元测试 UnitTestAgent 源代码 测试代码、覆盖率报告 测试用例生成、执行
集成测试 IntegrationTestAgent 完整代码包 集成测试报告 E2E测试、性能测试

3. 核心模块设计

3.1 模块关系图

模块关系

3.2 Agent基类设计

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
interface BaseAgent {
id: string;
name: string;
role: string;
capabilities: string[];
status: 'idle' | 'running' | 'waiting' | 'completed' | 'failed';

// 核心方法
execute(context: AgentContext): Promise<AgentOutput>;
onEvent(event: AgentEvent): void;
reportProgress(progress: Progress): void;
requestIntervention(reason: string): Promise<InterventionResult>;
}

interface AgentContext {
taskId: string;
phase: Phase;
inputs: Record<string, any>;
history: AgentAction[];
config: AgentConfig;
}

interface AgentOutput {
success: boolean;
artifacts: Artifact[];
metrics: PerformanceMetrics;
nextActions: Action[];
}

3.3 工作流引擎设计

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
interface WorkflowEngine {
// 流程控制
startWorkflow(definition: WorkflowDefinition): Promise<WorkflowInstance>;
pauseWorkflow(instanceId: string): void;
resumeWorkflow(instanceId: string): void;
terminateWorkflow(instanceId: string): void;

// 状态管理
getState(instanceId: string): WorkflowState;
transitState(instanceId: string, event: StateEvent): void;

// Agent调度
dispatchAgent(agentType: AgentType, context: AgentContext): void;
waitForAgent(agentId: string): Promise<AgentOutput>;
}

3.4 可观测性模块

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
interface ObservabilityModule {
// 日志采集
log(level: LogLevel, message: string, context?: object): void;

// 指标收集
recordMetric(name: string, value: number, tags?: Tags): void;

// 追踪链
startTrace(name: string): TraceSpan;
endTrace(span: TraceSpan): void;

// 事件流
emitEvent(event: AgentEvent): void;
subscribeEvent(eventType: string, handler: EventHandler): void;
}

3.5 干预机制设计

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
interface InterventionGateway {
// 检查点
createCheckpoint(phase: Phase, context: AgentContext): Checkpoint;
requestApproval(checkpoint: Checkpoint): Promise<ApprovalResult>;

// 干预操作
pause(phase: Phase): void;
modify(phase: Phase, changes: Changes): void;
rollback(checkpointId: string): void;
forceProceed(phase: Phase): void;
}

// 审批策略
interface ApprovalPolicy {
phase: Phase;
trigger: 'always' | 'on-failure' | 'on-threshold' | 'manual';
approvers: string[];
timeout: number;
autoApproveRules?: AutoApproveRule[];
}

4. Agent详细设计

4.1 RequirementsAgent(需求分析Agent)

职责:理解用户需求,产出结构化PRD

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
┌─────────────────────────────────────────────────────────────┐
│ RequirementsAgent │
├─────────────────────────────────────────────────────────────┤
│ 输入: │
│ • 用户需求描述(自然语言) │
│ • 业务背景信息 │
│ • 历史需求记录 │
├─────────────────────────────────────────────────────────────┤
│ 处理流程: │
│ 1. 需求理解:使用LLM解析需求意图 │
│ 2. 需求拆解:将大需求拆分为子需求 │
│ 3. 需求澄清:生成澄清问题列表 │
│ 4. 文档生成:输出结构化PRD │
├─────────────────────────────────────────────────────────────┤
│ 输出: │
│ • PRD文档(Markdown格式) │
│ • 需求列表(结构化JSON) │
│ • 澄清问题列表 │
│ • 预估工作量 │
├─────────────────────────────────────────────────────────────┤
│ 工具依赖: │
│ • LLM: Claude/GPT-4 │
│ • 知识库检索: 向量数据库 │
│ • 模板引擎: PRD模板渲染 │
└─────────────────────────────────────────────────────────────┘

4.2 ReviewAgent(需求评审Agent)

职责:评审需求完整性和可行性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
┌─────────────────────────────────────────────────────────────┐
│ ReviewAgent │
├─────────────────────────────────────────────────────────────┤
│ 输入: │
│ • PRD文档 │
│ • 技术约束条件 │
│ • 团队能力评估 │
├─────────────────────────────────────────────────────────────┤
│ 评审维度: │
│ 1. 完整性:需求是否完整无遗漏 │
│ 2. 一致性:需求间是否存在矛盾 │
│ 3. 可行性:技术实现可行性评估 │
│ 4. 优先级:需求优先级排序 │
│ 5. 风险点:识别潜在风险 │
├─────────────────────────────────────────────────────────────┤
│ 输出: │
│ • 评审报告 │
│ • 修订建议 │
│ • 风险清单 │
│ • 通过/不通过决策 │
└─────────────────────────────────────────────────────────────┘

4.3 DesignAgent(方案设计Agent)

职责:技术方案设计,产出详细设计文档

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
┌─────────────────────────────────────────────────────────────┐
│ DesignAgent │
├─────────────────────────────────────────────────────────────┤
│ 输入: │
│ • 评审后PRD │
│ • 技术栈约束 │
│ • 架构规范 │
├─────────────────────────────────────────────────────────────┤
│ 设计内容: │
│ 1. 系统架构设计 │
│ 2. 模块划分与接口定义 │
│ 3. 数据模型设计 │
│ 4. API接口设计 │
│ 5. 技术选型说明 │
├─────────────────────────────────────────────────────────────┤
│ 输出: │
│ • 技术方案文档 │
│ • 接口定义文档(OpenAPI) │
│ • 数据模型定义 │
│ • 架构图(SVG/PlantUML) │
└─────────────────────────────────────────────────────────────┘

4.4 CodingAgent(代码编写Agent)

职责:根据设计文档编写代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
┌─────────────────────────────────────────────────────────────┐
│ CodingAgent │
├─────────────────────────────────────────────────────────────┤
│ 输入: │
│ • 技术方案文档 │
│ • 接口定义 │
│ • 代码规范 │
├─────────────────────────────────────────────────────────────┤
│ 编码策略: │
│ 1. 模块化编码:按模块逐步实现 │
│ 2. TDD驱动:先写测试后写实现 │
│ 3. 代码复用:检索相似代码复用 │
│ 4. 实时反馈:边写边检查语法 │
├─────────────────────────────────────────────────────────────┤
│ 输出: │
│ • 源代码文件 │
│ • 内联注释 │
│ • README文档 │
└─────────────────────────────────────────────────────────────┘

4.5 CodeReviewAgent(代码审查Agent)

职责:代码质量和规范检查

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
┌─────────────────────────────────────────────────────────────┐
│ CodeReviewAgent │
├─────────────────────────────────────────────────────────────┤
│ 检查维度: │
│ 1. 代码规范:命名、格式、注释 │
│ 2. 逻辑正确性:边界条件、异常处理 │
│ 3. 安全性:SQL注入、XSS等漏洞 │
│ 4. 性能:时间复杂度、内存使用 │
│ 5. 可维护性:耦合度、复杂度 │
├─────────────────────────────────────────────────────────────┤
│ 输出: │
│ • Review报告 │
│ • 问题列表(按严重程度分级) │
│ • 修订建议 │
│ • 代码质量评分 │
└─────────────────────────────────────────────────────────────┘

4.6 UnitTestAgent(单元测试Agent)

职责:生成和执行单元测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
┌─────────────────────────────────────────────────────────────┐
│ UnitTestAgent │
├─────────────────────────────────────────────────────────────┤
│ 测试策略: │
│ 1. 用例生成:分析代码生成测试用例 │
│ 2. 边界测试:覆盖边界条件 │
│ 3. 异常测试:覆盖异常路径 │
│ 4. Mock策略:依赖隔离 │
├─────────────────────────────────────────────────────────────┤
│ 输出: │
│ • 测试代码 │
│ • 测试报告 │
│ • 覆盖率报告 │
│ • 未覆盖路径分析 │
└─────────────────────────────────────────────────────────────┘

4.7 IntegrationTestAgent(集成测试Agent)

职责:端到端测试和集成验证

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
┌─────────────────────────────────────────────────────────────┐
│ IntegrationTestAgent │
├─────────────────────────────────────────────────────────────┤
│ 测试类型: │
│ 1. API集成测试 │
│ 2. E2E场景测试 │
│ 3. 性能测试 │
│ 4. 兼容性测试 │
├─────────────────────────────────────────────────────────────┤
│ 输出: │
│ • 集成测试报告 │
│ • 性能基准报告 │
│ • 问题列表 │
│ • 发布建议 │
└─────────────────────────────────────────────────────────────┘

5. 数据流设计

5.1 实时数据流

数据流

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
用户需求 ──► 消息队列 ──► RequirementsAgent


状态存储


事件总线 ──► ReviewAgent


状态存储


事件总线 ──► DesignAgent


... 依此类推

5.2 状态流转

1
2
3
4
5
6
7
[Created] ──► [Analyzing] ──► [Reviewing] ──► [Designing]


[Completed] ◄── [Testing] ◄── [Coding] ◄── [Approved]


[Deployed]

6. 可观测性设计

6.1 可观测性架构

可观测性架构

6.2 指标体系

指标类型 指标名称 说明
性能指标 agent_execution_time Agent执行耗时
workflow_duration 工作流总耗时
message_queue_length 消息队列积压
质量指标 code_quality_score 代码质量评分
test_coverage_rate 测试覆盖率
review_pass_rate 评审通过率
状态指标 agent_status Agent状态
workflow_progress 工作流进度
intervention_count 干预次数

6.3 日志规范

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"timestamp": "2026-03-18T10:00:00Z",
"level": "INFO",
"agent_id": "req-agent-001",
"workflow_id": "wf-20260318-001",
"phase": "requirements_analysis",
"action": "generate_prd",
"message": "PRD generated successfully",
"context": {
"task_id": "task-001",
"input_tokens": 1500,
"output_tokens": 2000
},
"trace_id": "trace-xxx"
}

6.4 追踪链设计

每个请求生成唯一的 trace_id,贯穿整个工作流:

1
2
3
4
5
6
7
8
9
10
Trace: trace-xxx
├── Span: requirements_analysis (Duration: 5.2s)
│ ├── Span: llm_call (Duration: 4.8s)
│ └── Span: document_generation (Duration: 0.4s)
├── Span: review (Duration: 2.1s)
├── Span: design (Duration: 8.5s)
├── Span: coding (Duration: 45.3s)
├── Span: code_review (Duration: 3.2s)
├── Span: unit_test (Duration: 12.8s)
└── Span: integration_test (Duration: 25.6s)

7. 干预机制设计

7.1 干预点配置

阶段 干预类型 触发条件 审批人
需求评审 必须审批 Always 产品经理
方案设计 必须审批 Always 技术负责人
代码Review 问题阈值 发现高优问题 开发负责人
集成测试 失败审批 测试失败 QA负责人

7.2 干预操作类型

1
2
3
4
5
6
7
enum InterventionType {
APPROVE = 'approve', // 批准继续
REJECT = 'reject', // 拒绝并终止
MODIFY = 'modify', // 修改后继续
ROLLBACK = 'rollback', // 回退到上一步
REASSIGN = 'reassign' // 重新分配Agent
}

7.3 审批流程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│ Agent完成 │────►│ 创建检查点 │────►│ 发送审批请求 │
└──────────────┘ └──────────────┘ └──────────────┘

┌───────────────────────────┤
│ │
▼ ▼
┌──────────────┐ ┌──────────────┐
│ 等待审批 │ │ 超时处理 │
└──────────────┘ └──────────────┘

┌──────────┼──────────┐
│ │ │
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ 批准 │ │ 拒绝 │ │ 修改 │
└─────────┘ └─────────┘ └─────────┘
│ │ │
▼ ▼ ▼
继续执行 终止流程 重新执行

8. 技术选型

8.1 核心框架

组件 推荐方案 备选方案
Agent框架 LangGraph AutoGen, CrewAI
工作流引擎 Temporal Cadence
消息队列 Kafka RabbitMQ
状态存储 Redis + PostgreSQL MongoDB

8.2 LLM服务

场景 推荐模型 说明
主模型 Claude 3.5 / GPT-4 复杂推理任务
辅助模型 Claude Haiku / GPT-3.5 简单任务
Embedding text-embedding-3-small 向量检索

8.3 可观测性

类型 推荐方案
日志 ELK Stack / Loki
指标 Prometheus + Grafana
追踪 Jaeger / Zipkin

9. 实施路径

Phase 1:基础设施搭建(第1-2周)

  1. 搭建消息队列和状态存储
  2. 实现基础Agent类和工作流引擎
  3. 集成LLM Gateway

Phase 2:核心Agent开发(第3-6周)

  1. 依次实现7个核心Agent
  2. 建立Agent间协作机制
  3. 实现基础可观测性

Phase 3:可观测性增强(第7-8周)

  1. 完善指标采集
  2. 实现追踪链路
  3. 搭建可视化面板

Phase 4:干预机制完善(第9-10周)

  1. 实现审批网关
  2. 支持多种干预操作
  3. 完善人工介入流程

10. API参考

10.1 工作流API

创建工作流

1
2
3
4
5
6
7
8
9
10
11
12
13
POST /api/v1/workflows
Content-Type: application/json

{
"name": "用户认证功能开发",
"description": "实现用户登录、注册、密码找回功能",
"config": {
"approval_policy": "strict",
"notification": {
"channels": ["email", "slack"]
}
}
}

获取工作流状态

1
GET /api/v1/workflows/{workflow_id}

干预操作

1
2
3
4
5
6
7
8
POST /api/v1/workflows/{workflow_id}/intervene
Content-Type: application/json

{
"type": "approve",
"phase": "design",
"comment": "方案已确认,可以开始编码"
}

10.2 AgentAPI

获取Agent状态

1
GET /api/v1/agents/{agent_id}/status

Agent执行日志

1
GET /api/v1/agents/{agent_id}/logs?phase=coding&limit=100

10.3 可观测性API

指标查询

1
GET /api/v1/metrics?name=agent_execution_time&agent_id=xxx&start=2026-03-01&end=2026-03-18

追踪查询

1
GET /api/v1/traces/{trace_id}

附录

A. 术语表

术语 说明
Agent 具有特定职责的智能体
Workflow 工作流,定义Agent的执行顺序和依赖关系
Phase 研发流程阶段
Checkpoint 检查点,用于干预和回滚
Intervention 干预,人工介入操作

B. 参考资料


文档版本: v1.0.0
更新日期: 2026-03-18