第 9 章 多智能体协作

重要学习目标
  1. 解释 多智能体系统的组织架构与通信拓扑结构
  2. 说明 智能体路由在任务分流中的作用与触发条件
  3. 定义 子智能体角色边界与职责分工
  4. 运用 Claude Code 的 Task 工具实现子智能体工作流
  5. 设计 智能体间协作的层级结构或网络结构
  6. 评估 不同协作模式在金融场景中的适用性与成本权衡

多智能体协作概览

在经济金融领域,复杂决策往往需要多方协作。投资银行的研报团队、对冲基金的分析师小组、风控委员会的多层审批,都是多角色协同的典型场景。本章介绍如何将这种协作模式迁移到 AI 智能体系统,构建能够分工协作的多智能体架构。

9.1 智能体路由

智能体路由(Agent Routing)是多智能体系统的任务调度中枢。它决定用户请求应该由哪个智能体处理,就像公司前台将来访者引导到正确的部门。

9.1.1 路由决策原理

路由的核心是关注点分离。每个智能体专注于自己擅长的领域,路由层负责将任务导向正确的处理者。

重要核心概念

智能体路由 = 任务分类 + 智能体匹配 + 请求分发

好的路由设计能带来三个效益:

  • 专业化水平提升:每个智能体深耕特定领域,积累专业知识
  • 系统复杂度降低:避免单一智能体承担过多功能
  • 可维护性增强:各智能体独立开发、测试和优化

Anthropic 在 Building Effective Agents 中强调,智能体系统应记录每一步决策过程。对于路由而言,这意味着记录路由决策依据、保留决策上下文、提供降级和回退机制的透明说明。

9.1.2 分流规则设计

路由分类可以基于三个维度:意图、风险和复杂度。

基于意图的分类

将用户输入映射到预定义的意图类别。金融客服场景示例:

意图类型 路由目标 示例请求
账户查询 账户服务智能体 我的余额是多少
资金转账 转账支付智能体 帮我转 1000 元给张三
理财咨询 理财顾问智能体 推荐适合我的基金
投诉建议 客户投诉智能体 我要投诉上次的服务

路由系统设计中需要注意三点:使用 LLM 或传统分类模型识别用户意图,为每个意图定义明确的触发特征,处理模糊或多意图请求的情况。

基于风险的分类

在金融等高风险领域,根据任务风险等级进行路由决策:

风险等级 判断条件 路由策略
低风险 查询余额、查看账单 自动化智能体处理
中风险 小额转账(<5000 元) AI 智能体 + 详细日志
高风险 大额交易、修改密码 人在回路智能体

关键考量:定义清晰的风险评估标准,高风险操作必须包含人工审核环节,实施多层验证机制。

基于复杂度的分类

根据任务复杂度选择合适的处理模型,平衡成本与性能:

  • 简单任务(事实查询、状态检查)→ 轻量级模型(Claude Haiku)
  • 中等任务(简单计算、单一数据源)→ 标准模型(Claude Sonnet)
  • 复杂任务(多步推理、多数据源整合)→ 强力模型(Claude Opus)
提示教学提示

对经济金融专业学生来说,这就像银行的分级授权:柜员处理小额业务,主管审批中额业务,大额业务需要行长签字。

9.1.3 路由提示模板设计

路由器本质上是一个分类器,性能高度依赖于提示词设计。

基础路由提示模板

你是金融服务智能体路由系统。根据用户请求,选择最合适的处理智能体。

可用智能体:
1. 账户服务智能体 - 处理余额查询、交易记录、账户信息修改
2. 转账支付智能体 - 处理转账、支付、汇款等资金流动操作
3. 理财顾问智能体 - 提供投资建议、产品推荐、风险评估
4. 客户投诉智能体 - 处理投诉、建议、服务质量反馈

用户请求:{user_query}

分析步骤:
1. 识别请求的主要意图
2. 判断所需的专业领域
3. 考虑任务的复杂度和风险

选择的智能体:[在上述列表中选择一个]
选择理由:[简要说明为什么选择该智能体]

增强型路由提示(包含上下文)

当需要考虑用户画像和历史交互时:

你是金融服务多智能体系统的路由协调器。

当前用户画像:
- 客户等级:{customer_tier}
- 历史交互:{interaction_history}
- 当前会话上下文:{conversation_context}

可用智能体及其专长:
{agent_descriptions}

路由决策准则:
1. VIP 客户的复杂请求优先分配给高级智能体
2. 涉及资金安全的操作必须路由到有安全审核能力的智能体
3. 重复问题可以路由到快速响应智能体

用户请求:{user_query}

请输出:
- 选中的智能体
- 置信度
- 决策依据

9.1.4 静态路由与动态路由

静态路由与动态路由对比

静态路由

预先定义好任务类型与智能体的映射关系,通过规则或分类模型直接匹配。

适用场景: - 任务类型明确且有限 - 业务逻辑相对稳定 - 需要高度可预测性和可审计性

优势:响应速度快(无需 LLM 推理)、成本低、行为可预测。

劣势:难以处理复杂或模糊的请求、规则维护成本高、缺乏灵活性。

动态路由

使用 LLM 实时分析请求内容和上下文,动态决定路由目标。

适用场景: - 任务类型多样且难以穷举 - 需要考虑上下文和用户历史 - 对灵活性要求高于延迟

优势:能够处理复杂、多意图请求,考虑上下文和历史信息,适应性强。

劣势:增加延迟(需要 LLM 推理)、成本较高、行为不确定性增加。

混合路由策略

实践中推荐结合两者优势:先尝试静态规则,如果静态路由有明确结果且置信度高,直接返回;否则使用动态路由。

注记知识卡片

Anthropic 推荐的路由设计原则是「从简单到复杂」:先尝试基于规则的路由,再考虑 LLM 路由。

降级与升级策略

当智能体无法处理任务时,系统应该有清晰的降级路径:

  1. 第一层:专业智能体
  2. 第二层:通用智能体
  3. 第三层:人工客服

升级触发条件包括:高风险操作、多次失败、VIP 客户的复杂请求、涉及法律或合规问题、用户明确要求人工服务。

序号 知识点 重要度
9.1.1 路由决策原理 ★★★
9.1.2 意图/风险/复杂度分流规则 ★★★
9.1.3 路由提示模板设计 ★★
9.1.4 动态路由与静态路由对比 ★★

9.2 子智能体

子智能体(Subagent)是主智能体创建的专门化智能体,拥有独立的上下文空间、专属工具集和明确的职责边界。它们像是主智能体的「专家分身」,各自在独立的会话空间中执行特定任务。

9.2.1 角色定义原则

每个子智能体应专注于特定领域或任务。角色定义要回答三个问题:

  1. :这个子智能体扮演什么角色(如:金融分析师、数据研究员)
  2. 做什么:它的核心职责是什么(如:财报分析、市场调研)
  3. 怎么做:它遵循什么方法论和质量标准(如:严格的数据验证流程)
重要核心概念

子智能体 = 专业角色 + 独立上下文 + 受限工具 + 明确职责

金融领域子智能体角色示例

财报分析师(Financial Statement Analyzer)

角色定位:资深财务报表分析专家,擅长解读上市公司年报、季报中的财务数据

核心职责:
1. 提取三大财务报表关键指标(资产负债表、利润表、现金流量表)
2. 计算财务比率(ROE、资产负债率、流动比率等)
3. 进行同比/环比分析,识别异常波动
4. 评估财务健康状况和盈利能力

分析流程:
- Phase 1 数据提取:定位财务报表位置,提取关键科目数值,验证数据完整性
- Phase 2 指标计算:计算盈利能力、偿债能力、运营能力指标
- Phase 3 趋势分析:对比多期数据,识别显著变化,分析异常原因

质量标准:
- 所有数值已交叉验证(如:资产 = 负债 + 所有者权益)
- 计算公式准确无误
- 异常波动已标注并给出合理解释
- 结论基于数据,避免主观臆断

市场舆情研究员(Market Sentiment Researcher)

角色定位:市场舆情分析专家,擅长从多源信息中提炼市场情绪和投资者预期

核心职责:
1. 收集特定主题(公司/行业/事件)的新闻和社交媒体讨论
2. 分类信息为正面/中性/负面
3. 识别关键舆论引导者(券商研报、KOL 观点)
4. 评估舆情对市场的潜在影响

信息来源优先级:
1. 官方公告(公司公告、监管文件)
2. 券商研报(头部券商分析师)
3. 财经媒体报道(Bloomberg、财新、21 世纪经济报道)
4. 社交媒体讨论(雪球、Twitter 财经话题)

情感分类标准:
- 强烈正面:重大利好消息(并购、业绩超预期)
- 正面:积极进展(新产品发布、市场份额提升)
- 中性:常规信息(日常运营更新)
- 负面:不利因素(监管处罚、业绩不及预期)
- 强烈负面:重大风险(财务造假、高管离职)

9.2.2 输入输出规范设计

好的子智能体输入应该像「订单」一样明确。

标准输入模板

## 子智能体任务输入

### 任务目标
[一句话描述任务核心目标]

### 输入数据
- 数据源 1:[类型],路径/URL
- 数据源 2:[类型],路径/URL
- 背景信息:[相关上下文]

### 约束条件
- 时间限制:[X 分钟]
- 范围限制:[只分析某个方面]
- 工具限制:[只使用特定工具]

### 输出要求
- 格式:[Markdown/JSON/CSV]
- 结构:[包含哪些章节/字段]
- 长度:[字数/条目数限制]

### 质量标准
- [ ] 检查点 1
- [ ] 检查点 2

结构化输出示例(JSON)

{
  "task_id": "fin-analysis-001",
  "status": "completed",
  "timestamp": "2026-01-18T15:30:00Z",
  "summary": "贵州茅台 2025 年财报分析完成,营收增长 12.3%",
  "data": {
    "revenue": {"value": 145.2, "unit": "亿元", "yoy_growth": 12.3},
    "net_profit": {"value": 73.5, "unit": "亿元", "yoy_growth": 15.6}
  },
  "insights": [
    "毛利率提升 2.1 个百分点,产品结构优化显著",
    "应收账款周转天数减少 5 天,运营效率提升"
  ],
  "risks": ["存货周转率下降 8%,需关注库存积压风险"],
  "references": ["贵州茅台 2025 年年度报告.pdf,第 35-42 页"]
}

输出过滤原则

汇总智能体应过滤冗余信息,只保留关键结论:

  1. 结果导向:只传递最终结论,不传递推理过程
  2. 结构化优先:传递 JSON/表格,而非长文本
  3. 异常放大:如果发现重要风险,即使不在预期输出中也要传递

9.2.3 工具权限分配

每个子智能体只应获得完成其任务所需的最小工具集。这遵循「最小权限原则」,避免越权风险、意外副作用和安全隔离问题。

工具权限分级

权限级别 工具类型 适用场景 示例工具
只读 信息获取 数据分析、研究任务 Read, Grep, Glob
受限写 本地文件操作 生成报告、保存结果 Write(仅特定目录)
计算执行 脚本运行 数据处理、指标计算 Bash(禁止网络命令)
网络访问 外部信息检索 市场调研、新闻抓取 WebSearch
高风险 系统级操作 部署、配置变更 Bash(完整权限),需人工审批

金融场景工具权限配置示例

财报分析师(低风险): - 工具:Read, Grep, Bash(仅允许 Python 数据处理脚本) - 限制:禁止网络访问、禁止写文件

市场舆情研究员(中风险): - 工具:WebSearch, Read, Write - 限制:allowed_domains(仅允许访问特定网站)、write_path(只能写入特定目录)

自动交易执行器(高风险): - 工具:Read, Bash - 限制:human_in_the_loop(必须人工确认)、max_order_size(单笔订单金额上限)

警告安全提示

自动交易执行器等高风险子智能体必须启用人在回路机制。任何涉及资金操作的智能体都应设置金额上限和双重确认流程。

9.2.4 上下文隔离策略

为什么需要上下文隔离

问题场景: - 主智能体的 context window 包含大量历史对话,新任务的信息被「稀释」 - 多个子任务共享上下文时,信息交叉污染 - 敏感信息泄露(财务数据在不相关的子任务中可见)

隔离的价值: - 专注力:子智能体只看到与当前任务相关的信息 - 并行性:多个子智能体可在独立空间中同时工作,互不干扰 - 安全性:敏感数据不会跨任务边界传播 - 可恢复性:单个子智能体失败不会污染主智能体上下文

注记金融场景示例

在分析师团队协作中,财务分析师智能体不应看到技术分析师的图表数据。这种隔离避免基本面分析受到价格走势的心理锚定效应影响,保持分析的独立性。

上下文隔离的实现层次

Level 1 消息级隔离:每个子智能体启动时只接收必要的任务描述和输入数据,不共享主智能体的完整对话历史。

Level 2 工具调用隔离:子智能体的工具调用历史不会污染主智能体的上下文。主智能体只看到压缩后的结果摘要,不看到详细的执行过程。

Level 3 内存隔离:在复杂的多智能体系统中,每个子智能体有独立的「工作记忆」,只有显式传递的信息才能跨智能体共享。

序号 知识点 重要度
9.2.1 子智能体角色定义 ★★★
9.2.2 输入输出规范设计 ★★★
9.2.3 工具权限分配 ★★
9.2.4 上下文隔离策略 ★★

9.3 智能体并行化

并行化(Parallelization)是多智能体系统提高效率的关键技术。通过将独立任务分配给多个智能体同时执行,可以显著缩短整体处理时间。在金融场景中,这种能力尤为重要,比如同时收集多个市场的数据、并行分析不同资产的表现。

9.3.1 任务分解与并行策略

将一个大任务拆分为多个独立或弱依赖的子任务,是并行化的前提。

任务分解原则

  • 独立性原则:子任务之间应尽量减少数据依赖。如果任务 A 必须等待任务 B 完成才能开始,那么它们无法真正并行。
  • 粒度平衡:任务不能拆得太细,否则协调开销会抵消并行带来的收益。也不能太粗,否则无法充分利用并行能力。
  • 负载均衡:各个子任务的工作量应该相对均衡,避免出现部分智能体空闲而部分智能体过载的情况。

并行执行策略

扇出-收集模式

这是最常见的并行模式。主智能体将任务扇出给多个子智能体并行执行,然后收集所有结果进行汇总。

扇出-收集并行模式

典型应用场景:多市场数据采集、多维度风险分析、多策略回测。

流水线并行

将任务分解为多个阶段,每个阶段由专门的智能体处理。虽然单个数据项要经过多个阶段,但多个数据项可以同时处于不同阶段。

数据项 1 → 阶段A → 阶段B → 阶段C → 输出
数据项 2 →         阶段A → 阶段B → 阶段C → 输出
数据项 3 →                 阶段A → 阶段B → 阶段C

典型应用场景:数据预处理→特征提取→模型预测的流水线处理。

数据并行

对同质化的数据集进行分片,每个智能体处理一个分片,最后合并结果。这种模式类似于 MapReduce。

典型应用场景:大规模股票筛选、历史数据批量分析。

注记知识卡片

MapReduce 是 Google 提出的分布式计算模型。Map 阶段将任务分发给多个节点并行处理,Reduce 阶段汇总所有节点的结果。金融领域的多智能体并行化与此思想一脉相承。

9.3.2 结果聚合机制

聚合方式

简单合并:将各智能体的结果直接拼接或求和。适用于结果互不冲突的场景。

智能体1 → [股票A, 股票B]
智能体2 → [股票C, 股票D]
智能体3 → [股票E, 股票F]

合并结果 = [股票A, 股票B, 股票C, 股票D, 股票E, 股票F]

加权平均:根据智能体的可靠性或数据质量赋予不同权重。

智能体1 评分 85 (权重0.4)
智能体2 评分 90 (权重0.3)
智能体3 评分 75 (权重0.3)

最终评分 = 85×0.4 + 90×0.3 + 75×0.3 = 83.5

投票机制:对于分类或决策问题,采用多数投票或加权投票。

买入信号:智能体1, 智能体2, 智能体5
持有信号:智能体3, 智能体4

最终决策 = 买入 (3票 vs 2票)

时序聚合

对于有时间维度的数据,需要考虑时序一致性:

  • 时间戳对齐:各智能体返回的数据可能有轻微时间差,需要对齐到统一时刻
  • 增量更新:在实时场景中,各智能体持续产生增量数据,汇总智能体需要维护全局状态

9.3.3 一致性检查与冲突处理

数据一致性验证

交叉验证:如果多个智能体提供了相同维度的数据,需要检查一致性。

智能体A 报告:某股票价格 = 100.5
智能体B 报告:某股票价格 = 100.2

差异 = |100.5 - 100.2| = 0.3
差异率 = 0.3/100.35 = 0.3%

如果差异率 < 阈值(1%),取平均值 100.35
如果差异率 > 阈值,标记为异常需人工介入

来源追溯:当检测到数据异常时,应能追溯到具体的智能体和数据来源。

冲突解决策略

  • 最新优先:基于时间戳,采用最新的数据。适用于快速变化的市场数据。
  • 可靠性优先:根据智能体的历史表现选择最可靠的来源。
  • 人工介入:对于高风险决策,当智能体结果差异较大时,应标记并等待人工审核。

9.3.4 效率与成本权衡

并行度选择

并行智能体数量不是越多越好,需要考虑边际收益递减和协调开销。

1个智能体 → 2个智能体:时间减半,成本翻倍,性价比 = 1
2个智能体 → 4个智能体:时间再减半,成本再翻倍,性价比 = 1
4个智能体 → 8个智能体:时间减少有限(受最慢智能体制约),性价比 < 1

协调开销包括:任务分发时间、结果汇总时间、冲突检测与解决时间、通信开销。

成本模型

如果每个智能体调用外部 API(如 LLM),成本会线性增加。以 Anthropic API 为例(2026 年 1 月价格):

  • Haiku 模型:输入 $0.25/MTok,输出 $1.25/MTok
  • Sonnet 模型:输入 $3/MTok,输出 $15/MTok
  • Opus 模型:输入 $15/MTok,输出 $75/MTok

假设三个子智能体各处理 10K tokens: - 全部使用 Haiku:成本约 $0.08 - 全部使用 Sonnet:成本约 $0.90(11 倍) - 全部使用 Opus:成本约 $4.50(56 倍)

混合策略更经济:简单任务用 Haiku,复杂任务用 Sonnet,关键决策用 Opus。

不同应用场景的延迟容忍度不同:

  • 实时交易决策:延迟敏感,愿意为低延迟付更高成本
  • 每日报表生成:延迟不敏感,优先考虑成本优化
  • 风险监控:需要平衡延迟和成本
警告重要限制

Claude Code 的 Task 工具是顺序执行的,而非真正的并行执行。 这意味着:

  1. 多个 Task 调用会按创建顺序依次执行
  2. 不会出现多个子智能体同时运行的情况
  3. 总执行时间仍然是各任务时间的总和,而非最大值

尽管是顺序执行,Task 工具依然有重要价值:代码组织清晰、上下文隔离、可维护性好。如果需要真正的并行,可以使用 Git Worktree 方案或外部调度系统。

序号 知识点 重要度
9.3.1 任务分解与并行策略 ★★★
9.3.2 结果聚合机制 ★★★
9.3.3 一致性检查与冲突处理 ★★
9.3.4 并行效率与成本权衡 ★★

9.4 智能体间协作

多智能体系统通过将复杂任务分解为可管理的专门化组件,克服了单智能体的能力局限。协作架构可以分为两大类:中心化协调模式和去中心化对等模式。

9.4.1 协调者-执行者架构

这是最常见的多智能体架构,采用「管理者-执行者」结构。一个中心智能体负责任务分解和调度,多个专门化智能体负责执行子任务。

协调者-执行者架构

金融研报生成团队示例

  • 研究主管(Supervisor):负责理解用户需求、分配任务、协调进度、质量把控
  • 数据分析师(Data Analyst):收集市场数据、计算财务指标、生成图表
  • 行业研究员(Industry Researcher):分析行业趋势、竞争格局、政策影响
  • 报告撰写员(Report Writer):整合信息、撰写分析文本、格式化输出

当用户请求「生成某公司 Q3 财报分析报告」时:

  1. 研究主管将任务拆解为「数据收集」「行业分析」「报告撰写」三个子任务
  2. 数据分析师获取财务数据并计算关键指标
  3. 行业研究员分析宏观环境和竞争态势
  4. 报告撰写员整合两方信息形成结构化报告
  5. 研究主管审核并返回最终成果

优势: - 控制流程清晰,便于调试和监控 - 任务分配由中心统一决策,避免冲突 - 易于实现质量检查点和人工介入 - 便于审计和复现完整的任务分配日志

适用场景: - 任务结构相对固定,可预先定义分解策略 - 需要严格的质量管控和审批流程 - 子任务间依赖关系明确

9.4.2 对等协作模式

去中心化架构中,智能体地位平等,可以直接相互通信和协商。没有中央控制者,各智能体通过消息传递和协商机制达成协作。

工作原理

     智能体 A ←→ 智能体 B
         ↕  ╳  ↕
     智能体 C ←→ 智能体 D

每个智能体: - 具有自主决策能力 - 可以主动向其他智能体发起请求 - 维护本地状态和任务队列 - 遵循共同的通信协议

协作式投资研究示例

场景设计:三个分析师智能体协作完成股票研究

  • 基本面分析师:关注财务数据、估值模型
  • 技术面分析师:关注价格走势、交易信号
  • 宏观分析师:关注政策环境、市场情绪

协作流程: 1. 基本面分析师发现某股票估值偏低,向其他两位发起讨论 2. 技术面分析师检查图表,发现突破信号,表示认同 3. 宏观分析师评估政策环境,提出需关注的风险点 4. 三方协商达成一致:给出「谨慎买入」建议

优势: - 更强的灵活性和适应性 - 无单点故障风险 - 更接近真实团队协作模式 - 可处理动态变化的任务

挑战: - 需要明确的通信协议和消息格式 - 可能产生协调冲突 - 缺乏集中质量把控 - 调试和监控较为复杂

9.4.3 协作协议与消息格式

智能体间高效通信依赖于标准化的消息格式。

基础消息格式(JSON)

{
  "msg_id": "uuid-v4",
  "sender": "fundamental_analyst",
  "receiver": "portfolio_manager",
  "msg_type": "task_response",
  "timestamp": 1717036800,
  "content": {
    "task": "分析某公司财务数据",
    "status": "completed",
    "result": {
      "revenue_growth": 12.3,
      "roe": 22.5,
      "recommendation": "buy"
    }
  },
  "metadata": {
    "confidence": 0.85,
    "processing_time": 45
  }
}

字段说明: - msg_id:全局唯一标识,用于追踪和去重 - sender/receiver:发送方和接收方智能体 ID - msg_type:消息类型(task_request/task_response/notification/error) - timestamp:时间戳,用于排序和超时判断 - content:消息主体内容,结构根据类型变化 - metadata:元数据,如置信度、处理时间等

9.4.4 状态同步与结果交接

Handoff 机制

Handoff(交接)是智能体间转移控制权的关键机制。一次完整的交接包含:

  1. 触发条件:什么情况下交接(任务完成、专业边界、用户请求)
  2. 目标智能体:交接给谁
  3. 上下文传递:传递哪些信息
  4. 状态更新:如何更新系统状态
  5. 确认机制:目标智能体是否成功接收

交接时的状态保存

关键是保存足够的上下文让下游智能体继续工作:

基础上下文(始终传递):
- conversation_history:对话历史
- original_request:原始请求
- timestamp:时间戳

根据目标智能体补充特定信息:
- 如果交接给分析师:附带 financial_data, data_sources
- 如果交接给撰写员:附带 analysis_results, key_findings
提示教学提示

可以将 Handoff 类比为接力赛跑的交接棒传递:前一位选手必须把接力棒稳稳交到下一位手中,传递过程要有明确的交接区域。智能体的上下文就是接力棒,协议规范就是交接区域。

序号 知识点 重要度
9.4.1 协调者-执行者架构 ★★★
9.4.2 对等协作模式 ★★
9.4.3 协作协议与消息格式 ★★★
9.4.4 状态同步与结果交接 ★★

9.5 Claude Code 多智能体协作实践

本节介绍如何在 Claude Code 中配置和使用多智能体系统。

9.5.1 智能体路由实现

在 Claude Code 中,路由通常通过系统提示词实现。主智能体根据用户输入判断应该调用哪个子智能体。

路由提示模板示例

你是金融服务协调智能体。根据用户请求,决定调用哪个专业子智能体。

可用子智能体:
1. fundamental-analyst:财务数据分析,适用于财报解读、财务指标计算
2. technical-analyst:技术面分析,适用于价格走势、交易信号
3. sentiment-analyst:市场情绪分析,适用于新闻舆情、社交媒体

用户请求:{user_query}

请分析用户意图,选择最合适的子智能体,并说明理由。

基于意图的路由逻辑

当用户说「帮我分析茅台的财报」,主智能体识别出「财报分析」意图,调用 fundamental-analyst。

当用户说「茅台股价最近走势如何」,主智能体识别出「技术分析」意图,调用 technical-analyst。

9.5.2 子智能体配置

子智能体是带有 YAML frontmatter 的 Markdown 文件。

存储位置

项目级子智能体(推荐用于团队协作):

.claude/agents/fundamental-analyst.md
.claude/agents/technical-analyst.md

用户级子智能体(适合个人跨项目使用):

~/.claude/agents/debugging-specialist.md

配置文件结构

# .claude/agents/fundamental-analyst.md
---
name: fundamental-analyst
description: 当需要分析公司财务数据、解读财报时使用
tools: Read, Grep, Bash
model: sonnet
---

你是一位资深财务分析专家。

# 核心职责
1. 提取财务报表关键指标
2. 计算财务比率(ROE、资产负债率等)
3. 进行同比/环比分析
4. 评估财务健康状况

# 输出格式
## 财务健康度评分(1-10 分)
- 盈利能力:X 分
- 成长性:Y 分
- 财务安全:Z 分

## 关键发现
- [列举 2-3 个核心洞察]

## 估值判断
[低估/合理/高估]

配置字段说明

字段 必需 说明 示例
name 唯一标识符,使用小写字母和连字符 fundamental-analyst
description 描述何时应该调用此子智能体 当需要分析财务数据时使用
tools 逗号分隔的工具列表 Read, Grep, Bash
model 指定使用的模型 sonnet/haiku/opus
提示教学提示

description 字段是主智能体判断是否调用子智能体的关键。好的描述要清晰、具体、触发式。

好的示例:「当代码发生变更后,立即进行代码审查」

模糊的示例:「处理安全相关任务」

9.5.3 并行化实践

使用 Task 工具调用子智能体

Task 工具是 Claude Code 多智能体架构的核心入口点。

Task 工具参数: - description:任务的简短描述(3-5 个词) - prompt:子智能体需要执行的具体任务内容

执行流程: 1. 主智能体识别任务需要委派 2. 调用 Task 工具,传入任务描述和提示词 3. 系统创建子智能体实例(在独立上下文中运行) 4. 子智能体执行任务,返回结果给主智能体 5. 主智能体整合结果,继续主线对话

示例:多分析师协作选股

用户:请分析贵州茅台是否值得投资

Claude(主智能体):
我将组织分析师团队进行全方位评估。

[Task 1] fundamental-analyst 分析茅台财务数据
[Task 2] technical-analyst 分析茅台技术走势
[Task 3] sentiment-analyst 分析市场情绪

[等待三个子智能体完成]

[汇总分析结果]
基于三位分析师的报告,综合评估如下...

真正的并行方案:Git Worktree

由于 Claude Code 的 Task 工具是顺序执行的,如果需要真正的并行,可以使用 Git Worktree:

# 创建两个独立的工作树
git worktree add ../project-analysis-A -b task/analysis-A
git worktree add ../project-analysis-B -b task/analysis-B

# 在第一个终端
cd ../project-analysis-A
claude
# 执行 A 股分析任务

# 在第二个终端
cd ../project-analysis-B
claude
# 执行港股分析任务

两个 Claude Code 实例在完全隔离的环境中工作,不会相互干扰。

9.5.4 智能体间协作配置

基于文件的通信模式

在多智能体协作中,智能体之间不能直接「对话」,但可以通过文件传递信息。

任务状态文件

# tasks.md

## 待办任务
- [ ] 分析茅台财务数据(分配给:fundamental-analyst)
- [ ] 分析茅台技术走势(分配给:technical-analyst)

## 进行中
- [x] 收集基础数据(data-collector 完成)

## 已完成
- [x] 数据库表设计

接口契约文件

# api-contract.md

## 子智能体输出格式

### fundamental-analyst 输出
{
  "financial_score": 8.5,
  "growth_rate": 12.3,
  "recommendation": "buy/hold/sell"
}

### technical-analyst 输出
{
  "trend": "up/down/sideways",
  "signal": "buy/hold/sell",
  "support_level": 1750,
  "resistance_level": 2000
}

审查反馈文件

# review-feedback.md

## 分析报告审查结果(2026-01-22)

### 需要修正
1. 财务数据缺少 2025 Q4 季报数据
2. 技术分析缺少成交量分析

### 建议改进
1. 增加同行业对比分析
注记知识卡片

通过 CLAUDE.md 共享持久化信息。项目级的关键信息应该写入 CLAUDE.md,而不是依赖对话历史。所有 Claude Code 实例都会读取 CLAUDE.md,获得项目的全局知识。

上下文管理最佳实践

  1. 主对话保持高层次:主对话应该聚焦在高层次的规划和决策,把具体执行委派给子智能体

  2. 使用 /clear 和 /compact 管理上下文:当主对话上下文积累过多时,/clear 清空所有上下文重新开始,/compact 让 Claude 总结当前会话压缩上下文

  3. 通过 –continue 恢复会话claude --continue 继续最近的对话,claude --resume 选择恢复哪个历史会话

案例 9A:多市场并行数据采集

业务背景

全球金融市场 24 小时不间断运转,A 股、港股、美股处于不同时区。投资者需要同时监控多个市场的实时动态。传统的串行数据采集方式耗时长,可能错过关键的交易时机。

问题:如何在短时间内同时获取多个市场的行情数据、重要新闻和舆情信息?

案例简述

要素 说明
演示模式 智能体并行化(Parallelization)
案例简述 同时采集 A 股、港股、美股三个市场的数据。使用多个子智能体分派任务,体验并行执行与结果聚合。
经济学映射 并行分工——同时执行提升整体效率
应用衔接 第 11 章金融舆情分析系统的多源数据采集采用相同模式

系统架构

采用扇出-收集模式,将数据采集任务分配给三个专门智能体。

多市场并行数据采集架构

Claude Code 实现步骤

步骤 1:定义 A 股数据采集子智能体

创建文件 .claude/agents/china-market-collector.md

---
name: china-market-collector
description: 专门负责采集 A 股市场实时数据和重要新闻
tools: Bash, WebSearch, Read
model: haiku
---

你是 A 股市场数据采集专家。

# 采集任务
1. 获取上证指数、深证成指最新行情
2. 抓取沪深 300 成分股涨跌幅前 10 名
3. 搜集近 1 小时内的重要市场新闻

# 输出格式
以 JSON 格式返回:
{
  "market": "A股",
  "timestamp": "2026-01-22T10:00:00",
  "indices": {"上证指数": 3200.5, "深证成指": 11500.2},
  "top_gainers": [...],
  "top_losers": [...],
  "news": [...]
}

步骤 2:定义港股数据采集子智能体

创建文件 .claude/agents/hk-market-collector.md

---
name: hk-market-collector
description: 专门负责采集港股市场实时数据
tools: Bash, WebSearch, Read
model: haiku
---

你是港股市场数据采集专家。

# 采集任务
1. 获取恒生指数、恒生科技指数最新行情
2. 抓取港股通北向资金流向
3. 搜集港股重要新闻

# 输出格式
以 JSON 格式返回,结构同 A 股智能体

步骤 3:定义美股数据采集子智能体

创建文件 .claude/agents/us-market-collector.md

---
name: us-market-collector
description: 专门负责采集美股市场实时数据
tools: Bash, WebSearch, Read
model: haiku
---

你是美股市场数据采集专家。

# 采集任务
1. 获取道琼斯、标普 500、纳斯达克指数
2. 抓取科技股七巨头(FAANG + 微软、英伟达)表现
3. 搜集美股重要新闻和美联储动态

# 输出格式
以 JSON 格式返回,结构同 A 股智能体

步骤 4:定义汇总智能体

创建文件 .claude/agents/market-aggregator.md

---
name: market-aggregator
description: 整合多市场数据,生成全球市场概览报告
tools: Read, Write
model: sonnet
---

你是全球市场数据分析师。

# 任务流程
1. 读取三个市场数据采集智能体的输出文件
2. 识别全球市场的联动效应
3. 标注重大异动(指数波动超过 2%)
4. 生成结构化市场概览报告

# 报告结构
## 全球市场概览
- A 股市场:[指数表现、热点板块]
- 港股市场:[恒指走势、南向资金流向]
- 美股市场:[三大指数、科技股表现]

## 联动分析
- 跨市场相关性
- 潜在套利机会

## 风险提示
- 重大异动警示

步骤 5:主智能体编排任务

在 Claude Code 对话中执行:

用户:请同时采集 A 股、港股、美股的最新数据,并生成全球市场概览报告

Claude(主智能体):
我将启动三个市场数据采集智能体,然后汇总分析。

[Task 1] 调用 china-market-collector 采集 A 股数据...
完成:上证指数 3200.5,深证成指 11500.2

[Task 2] 调用 hk-market-collector 采集港股数据...
完成:恒生指数 18500.3,北向资金净流入 25 亿

[Task 3] 调用 us-market-collector 采集美股数据...
完成:道指 42000.5,标普 5800.2,纳指 18500.8

[Task 4] 调用 market-aggregator 汇总分析...
完成:全球市场概览报告已生成

报告已保存至 reports/global-market-snapshot.md

效率对比分析

串行执行: - A 股采集 3 分钟 + 港股采集 2.5 分钟 + 美股采集 3.5 分钟 = 总计 9 分钟

并行执行(如果使用 Git Worktree 方案): - 三个智能体同时运行,总耗时 = max(3, 2.5, 3.5) = 3.5 分钟 - 效率提升 61%

警告重要限制

在 Claude Code 中,Task 工具是顺序执行的。上述示例中,三个 Task 实际上是依次执行。

提示真正的并行方案

如果需要真正的并行加速,可以使用 Git Worktree 在不同终端同时启动多个 Claude Code 实例(参见 9.5.3 节)。

数据一致性保障

时间戳对齐:各市场数据获取时间可能有几秒差异,汇总智能体需对齐时间基准。

智能体 A:数据时间戳 10:00:02
智能体 B:数据时间戳 10:00:05
智能体 C:数据时间戳 10:00:03

对齐策略:统一标记为 10:00:00(取整到分钟)

数据校验:如果两个智能体报告了相同指标但数值不同,取最新时间戳的数据或标记异常。

扩展场景

  • 实时监控系统:配置定时任务每 5 分钟执行一次数据采集,当检测到异常波动时触发告警
  • 跨资产数据采集:扩展为股票、债券、外汇、商品期货的全市场监控系统

案例 9B:分析师团队协作选股

业务背景

投资决策需要综合基本面、技术面、宏观面、市场情绪等多维度信息。单一分析师难以兼顾所有领域,容易产生片面判断。

目标:模拟投资公司的分析师团队,从不同专业视角评估某只股票,最后由投资经理整合意见做出决策。

案例简述

要素 说明
演示模式 智能体间协作(Inter-Agent Collaboration)
案例简述 主智能体先路由任务到「基本面分析师」和「技术面分析师」子智能体,再汇总输出投资建议。体验路由分派、子智能体协作与结果整合。
经济学映射 专业化分工——不同角色智能体协同工作
应用衔接 第 12 章交易信号分析系统的四智能体团队、第 16 章多智能体实验均扩展此模式

团队结构

采用协调者-执行者(Coordinator-Executor)模式:

分析师团队协作架构

Claude Code 实现步骤

步骤 1:创建基本面分析师

创建文件 .claude/agents/fundamental-analyst.md

---
name: fundamental-analyst
description: 分析公司财务报表,评估盈利能力、成长性和估值水平
tools: WebSearch, Bash, Read
model: sonnet
---

你是资深基本面分析师,擅长解读财务数据。

# 分析流程
1. 搜索公司最新财报(季报或年报)
2. 提取关键财务指标:
   - 营收、净利润、同比增长率
   - ROE、ROA、毛利率、净利率
   - 资产负债率、流动比率
3. 计算估值指标:P/E、P/B、PEG
4. 对比行业平均水平

# 输出格式
## 财务健康度评分(1-10 分)
- 盈利能力:X 分
- 成长性:Y 分
- 财务安全:Z 分

## 关键发现
- [列举 2-3 个核心洞察]

## 估值判断
[低估/合理/高估]

步骤 2:创建技术分析师

创建文件 .claude/agents/technical-analyst.md

---
name: technical-analyst
description: 基于价格走势和技术指标提供买卖时机建议
tools: Bash, WebSearch
model: sonnet
---

你是技术分析专家。

# 分析任务
1. 获取近 3 个月的日线数据
2. 计算技术指标:
   - 移动平均线:MA5、MA20、MA60
   - MACD、RSI、布林带
3. 识别价格形态(头肩顶、双底等)
4. 确定支撑位和阻力位

# 输出格式
## 趋势判断
[上升趋势/下降趋势/震荡整理]

## 技术信号
- MACD:[金叉/死叉/中性]
- RSI:[超买/超卖/正常]

## 操作建议
[买入/卖出/观望],建议买入价位:XXX

步骤 3:创建宏观分析师

创建文件 .claude/agents/macro-analyst.md

---
name: macro-analyst
description: 分析宏观经济、行业政策对公司的影响
tools: WebSearch, Read
model: sonnet
---

你是宏观经济和行业研究专家。

# 分析维度
1. 宏观经济环境
   - 利率政策(央行动态)
   - 经济增长预期(GDP、PMI)
2. 行业政策
   - 产业政策支持或限制
   - 监管变化
3. 供应链和原材料
   - 上游原材料价格
   - 供应链稳定性

# 输出格式
## 宏观环境评分(1-10 分)
利好程度:X 分

## 关键风险
- [列举 1-2 个主要风险]

## 政策机会
- [列举可能的政策红利]

步骤 4:创建情绪分析师

创建文件 .claude/agents/sentiment-analyst.md

---
name: sentiment-analyst
description: 分析社交媒体、新闻的市场情绪
tools: WebSearch, Bash
model: haiku
---

你是市场情绪分析师。

# 分析任务
1. 搜索近一周的公司新闻
2. 统计正面/负面/中性新闻比例
3. 抓取社交媒体(如雪球、同花顺)的讨论
4. 计算散户情绪指数

# 输出格式
## 情绪得分(-5 到 +5)
当前得分:+X(偏乐观/偏悲观/中性)

## 新闻摘要
- 正面新闻 X%
- 负面新闻 Y%
- 中性新闻 Z%

## 关键事件
[列举重大事件,如产品发布、高管变动]

步骤 5:创建投资经理(协调者)

创建文件 .claude/agents/portfolio-manager.md

---
name: portfolio-manager
description: 整合分析师意见,做出最终投资决策
tools: Read, Write
model: opus
---

你是投资经理,负责最终决策。

# 决策流程
1. 接收四位分析师的报告
2. 识别一致性意见和分歧点
3. 权衡各方面因素:
   - 基本面质量(权重 40%)
   - 技术面信号(权重 25%)
   - 宏观环境(权重 20%)
   - 市场情绪(权重 15%)
4. 考虑风险收益比
5. 给出明确的操作建议

# 输出格式
## 综合评分(1-10 分)
投资价值:X 分

## 最终决策
[强烈买入/买入/持有/减仓/卖出]

## 决策依据
[解释决策的核心逻辑]

## 风险提示
[列举主要风险点]

## 操作计划
建议买入价位、仓位比例、止损位

步骤 6:主智能体编排工作流

在 Claude Code 对话中执行:

用户:请分析贵州茅台(600519.SH)是否值得投资

Claude(主智能体):
我将组织分析师团队进行全方位评估。

[Task 1] fundamental-analyst 分析茅台财务数据...
完成:财务健康度 9 分,估值合理偏高

[Task 2] technical-analyst 分析茅台技术走势...
完成:上升趋势,MACD 金叉,RSI 接近超买

[Task 3] macro-analyst 分析行业和政策环境...
完成:宏观环境 6 分,消费复苏利好但需关注估值压力

[Task 4] sentiment-analyst 分析市场情绪...
完成:情绪得分 +2,市场偏乐观

[Task 5] portfolio-manager 综合决策...
完成:综合评分 7 分,建议「持有」

# 最终投资建议
- 投资价值:7 分
- 决策:持有(已持有者继续持有,未持有者等待回调买入)
- 核心逻辑:基本面优秀但估值偏高,技术面短期超买
- 操作计划:等待回调至 1750-1800 元区间分批买入

报告已保存至 reports/600519-analysis.md

执行结果示例

基本面分析师报告

## 财务健康度评分
- 盈利能力:9 分(ROE 22%,毛利率 91%)
- 成长性:7 分(营收同比增长 15%)
- 财务安全:10 分(零负债,现金充沛)

## 关键发现
- 品牌护城河深厚,提价能力强
- 库存周转放缓,需关注渠道库存

## 估值判断
P/E 35 倍,略高于行业平均,估值合理偏高

技术分析师报告

## 趋势判断
上升趋势,当前价格接近前高

## 技术信号
- MACD:金叉,买入信号
- RSI:68(接近超买区)

## 操作建议
观望,等待回调至 1800 元支撑位再买入

投资经理最终决策

## 综合评分
投资价值:7 分

## 最终决策
持有

## 决策依据
1. 基本面优秀,品牌价值和盈利能力强
2. 技术面显示短期进入超买,可能回调
3. 宏观环境中性偏利好
4. 市场情绪乐观但不过热

## 风险提示
- 估值偏高,短期上涨空间有限
- 消费疲软可能拖累业绩增长

## 操作计划
- 未持有者:等待回调至 1750-1800 元区间分批买入
- 已持有者:继续持有,设置止盈位 2100 元
- 建议仓位:不超过投资组合的 15%

协作机制优化

Bullish vs Bearish 对立辩论

可以增加两个研究员智能体,模拟多空对决:

# .claude/agents/bullish-researcher.md
职责:挖掘所有利好因素,构建看涨逻辑

# .claude/agents/bearish-researcher.md
职责:揭示所有风险点,提出看跌观点

投资经理在听取双方辩论后,做出更全面的决策。

人在回路审批

在投资经理给出决策后,暂停工作流,等待人工审批:

Claude:投资经理建议「买入」,是否批准执行?
用户:批准 / 拒绝并说明理由
提示教学提示

对于经济金融专业学生,这个案例展示了如何将投资公司的分析师团队协作模式数字化。学生可以思考:如何调整各分析师的权重?如何加入风险偏好设置?如何处理分析师意见冲突?

本章小结

本章介绍了多智能体协作的核心概念和 Claude Code 实践方法。主要内容包括:

  1. 智能体路由是任务分配的核心机制,通过意图、风险、复杂度三个维度进行分流,支持静态路由和动态路由两种模式。

  2. 子智能体是专门化的执行单元,需要明确定义角色、输入输出规范、工具权限和上下文隔离策略。

  3. 并行化模式包括扇出-收集、流水线并行和数据并行,需要设计结果聚合和一致性检查机制。Claude Code 的 Task 工具是顺序执行的,真正的并行需要使用 Git Worktree 方案。

  4. 协作架构分为中心化的协调者-执行者模式和去中心化的对等协作模式,需要设计标准化的通信协议和 Handoff 机制。

  5. Claude Code 实践通过子智能体配置文件、Task 工具调用和基于文件的通信模式实现多智能体协作。

通过本章学习,你已经掌握了构建多智能体系统的基本方法。在后续的应用篇中,我们将把这些原理应用到金融舆情分析、交易信号分析、研报生成等实战场景。