Agent Teams 是一种多代理协作模式,通过 Team Lead(团队领导) 协调 SubAgents(执行者) 的分工协作,实现复杂任务的自动化分解和执行。
┌─────────────────────────────────────────────────────────┐
│ 主 ReActAgent │
│ (用户交互入口) │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Team Lead 系统提示词 │ │
│ │ - 任务分解 │ │
│ │ - 团队协作 │ │
│ │ - 结果汇总 │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 技能集: │
│ ├── AgentTeamsSkill (团队协作工具) │
│ ├── TaskSkill (子代理调用) │
│ └── ... (其他技能) │
└─────────────────────────────────────────────────────────┘
│
│ 调用 team_task()
▼
┌─────────────────────────────────────────────────────────┐
│ MainAgent │
│ (团队协调器) │
│ │
│ 基础设施: │
│ ├── SharedTaskList (任务池) │
│ ├── SharedMemoryManager (记忆管理) │
│ ├── EventBus (事件总线) │
│ └── MessageChannel (消息通道) │
└─────────────────────────────────────────────────────────┘
│
│ 调用子代理
▼
┌─────────────────────────────────────────────────────────┐
│ SubAgent │
│ (执行者) │
│ ├── ExploreSubagent (代码探索) │
│ ├── PlanSubagent (方案设计) │
│ ├── BashSubagent (命令执行) │
│ ├── GeneralPurposeSubagent (通用任务) │
│ └── ... (自定义 teammates) │
└─────────────────────────────────────────────────────────┘
用户请求 → Team Lead 分析 → 创建主任务 → 分解子任务
↓
┌───────────────┴───────────────┐
│ │
▼ ▼
简单任务 复杂任务
│ │
▼ ▼
直接回答 team_task()
↓
┌────────────────────────────────┐
│ SubAgent 协作执行 │
│ - explore: 探索代码 │
│ - plan: 设计方案 │
│ - bash: 执行命令 │
│ - general-purpose: 通用任务 │
└────────────────────────────────┘
↓
┌────────────────────────────────┐
│ 汇总结果并返回 │
└────────────────────────────────┘
角色: 协调决策者
核心职责:
- 分析任务复杂度,决定执行方式
- 简单任务直接回答
- 复杂任务启动团队协作
- 协调 SubAgents 执行
- 汇总结果
职责: 提供协作基础设施
功能:
- SharedTaskList: 任务池管理
- SharedMemoryManager: 记忆共享
- EventBus: 事件通知
- MessageChannel: 消息传递
内置类型:
| 子代理 | 类型 | 专长 | 场景 |
|---|---|---|---|
| 探索代理 | explore |
快速定位文件、理解代码结构 | 代码探索 |
| 规划代理 | plan |
任务分解、实现方案设计 | 方案设计 |
| 命令代理 | bash |
Git 操作、构建、测试 | 命令执行 |
| 通用代理 | general-purpose |
复杂多步骤任务 | 通用场景 |
# 只需 name + role,其他智能默认
teammate_quick(name="security-expert", role="安全专家")
# 输出:
# [OK] 团队成员创建成功
#
# ## 成员信息
#
# | 属性 | 值 |
# |------|------|
# | **名称** | `security-expert` |
# | **角色** | 安全专家 |
# | **描述** | 安全专家 |
# | **所属团队** | security-team (智能生成) |
# | **状态** | 🟢 已激活 |# 需要完整自定义时使用
teammate(
name="my-expert",
role="专家",
description="详细描述",
expertise="skill1,skill2",
tools="read,write,edit",
skills="skill1,skill2"
)# 列出所有成员
teammates()
# 按团队筛选
teammates(teamName="security-team")remove_teammate("security-expert")# 只需标题
task_add(title="实现登录功能")
# 带描述
task_add(title="实现登录", description="包括用户认证和权限验证")# 逗号分隔
tasks_add(titles="任务1,任务2,任务3")# 需要完整配置时使用
create_task(
title="实现登录",
description="用户认证和权限验证",
type="DEVELOPMENT",
priority=8,
dependencies="task1,task2"
)# 查看团队任务状态
team_status()
# 查看任务统计
get_task_statistics()
# 查看所有任务
list_all_tasks()# 自动分类存储
memory_store(content="用户登录使用 JWT Token")
# 带键名
memory_store(key="auth-method", content="JWT")# 按关键词检索
memory_recall(query="登录")
# 限制返回数量
memory_recall(query="认证", limit=5)memory_stats()# 启动团队协作任务
team_task(prompt="实现用户登录功能")
# 输出:
# [OK] 团队任务执行完成
#
# **任务统计**:
# - 总任务数: 4
# - 已完成: 4
# - 失败: 0
# - 进行中: 0
# - 待认领: 0
#
# **主 Agent 回复**:
# ...何时使用:
- ✅ 多步骤复杂任务
- ✅ 需要多种技能组合
- ✅ 需要多个专业领域协作
- ❌ 简单问答(直接回答即可)
| 工具 | 参数 | 说明 |
|---|---|---|
team_task(prompt) |
prompt | 启动团队协作 |
team_status() |
- | 查看任务状态 |
| 工具 | 参数 | 说明 |
|---|---|---|
teammate_quick(name, role) |
2个 | 快速创建 ⭐ |
teammate_template(template) |
1个 | 模板创建 ⭐ |
teammate_templates() |
0个 | 查看所有模板 |
teammates(teamName?) |
0-1个 | 列出成员 |
remove_teammate(name) |
1个 | 移除成员 |
| 工具 | 参数 | 说明 |
|---|---|---|
task_add(title, desc?) |
1-2个 | 快速添加 ⭐ |
tasks_add(titles) |
1个 | 批量添加 ⭐ |
create_task(...) |
5个 | 完整配置 |
list_all_tasks() |
- | 查看所有任务 |
| 工具 | 参数 | 说明 |
|---|---|---|
memory_store(content, key?) |
1-2个 | 存储记忆 |
memory_recall(query?, limit?) |
0-2个 | 检索记忆 |
memory_stats() |
- | 记忆统计 |
| 工具 | 参数 | 说明 |
|---|---|---|
task(type, prompt) |
2个 | 调用子代理 |
solon:
code:
cli:
workDir: ./work
# 启用 Teams 模式
agentTeamEnabled: true
# Teams 配置
teams:
taskExecutorThreads: 20
eventExecutorThreads: 1
maxCompletedTasks: 100
maxDependencyDepth: 100
chatModel:
apiUrl: https://api.openai.com/v1
apiKey: ${OPENAI_API_KEY}
model: gpt-4用户: "实现用户登录功能"
Team Lead 分析: 多步骤任务 → 启动 team_task()
执行流程:
├─ Task 1: explore - 探索现有认证代码
├─ Task 2: plan - 设计登录方案
├─ Task 3: general-purpose - 实现登录逻辑
└─ Task 4: bash - 运行测试验证
汇总: 返回完整的实现方案和代码
用户: "检查代码中的安全问题"
Team Lead:
├─ 创建 security-expert: teammate_template(template="security")
├─ Task 1: analyze_tasks - 分解审计任务
├─ Task 2: security-expert - 执行安全审计
└─ Task 3: general-purpose - 生成审计报告
用户: "优化 API 响应时间"
Team Lead:
├─ 创建团队成员:
│ ├─ performance-eng (teammate_template)
│ └─ database-expert (teammate_template)
├─ 分析: explore - 查找 API 代码
├─ 分析: database-expert - 分析 SQL 查询
├─ 优化: general-purpose - 实施优化
└─ 验证: bash - 性能测试
| 特性 | 说明 |
|---|---|
| 智能决策 | Team Lead 自动判断任务复杂度 |
| 简化工具 | 80% 参数减少,降低 token 消耗 |
| 共享记忆 | 团队成员共享上下文信息 |
| 任务追踪 | 自动创建主任务,状态实时更新 |
| 事件驱动 | 异步事件通知,松耦合通信 |
Agent Teams 模式通过 Team Lead 协调 + SubAgents 执行 的协作模式,实现复杂任务的高效处理:
- Team Lead - 智能分析,决策执行方式
- MainAgent - 提供协作基础设施
- SubAgents - 专注领域任务执行
- 简化工具 - 降低使用复杂度
简单任务
└─ 直接回答,无需调用工具
创建成员
├─ 快速创建 → teammate_quick(name, role)
├─ 模板创建 → teammate_template(template)
└─ 完整配置 → teammate(...)
创建任务
├─ 快速添加 → task_add(title)
├─ 批量添加 → tasks_add(titles)
└─ 完整配置 → create_task(...)
复杂任务
└─ team_task(prompt) → 启动团队协作