8.5 并行执行与结果集成

面向经管学生、研究者与从业者的 AI 智能体设计教材

作者

李学恒、林建浩、严翊歆

发布于

2026-05-11

8.5 配图

能并行的前提,不是任务多,而是任务彼此独立。

识别独立任务

并行执行的前提是任务之间相互独立——一个任务的输出不被另一个任务所需要。判断方法:如果去掉任何一个任务,其他任务仍然能正常执行,这些任务就是独立的。

适合并行的场景 原因
多公司对比分析 各公司数据互不依赖
多维度评审 评审维度独立
多数据源采集 数据源互不影响
不适合并行的场景 原因
先提取数据再计算指标 计算依赖提取结果
先分析再写报告 报告依赖分析结论

并行分派与两层并行

在 Claude Code 中,并行分派通常是在一条指令中同时描述多个独立任务:

▶ Claude Code
请创建 3 个财务分析子代理,并行分析以下三家公司的 2024 年度财务报表:

1. 贵州茅台(600519)- 数据文件 data/600519-2024.csv
2. 比亚迪(002594)- 数据文件 data/002594-2024.csv
3. 宁德时代(300750)- 数据文件 data/300750-2024.csv

主代理职责:
- 只负责创建这 3 个子代理、等待完成并整合结果

每个子代理的分析内容相同:
- 计算盈利能力(毛利率、净利率、ROE)
- 计算偿债能力(资产负债率、流动比率)
- 计算运营效率(总资产周转率)
- 只写入 `output/{股票代码}-financial-analysis.md`
- 只返回一句状态摘要

仅在主代理层面做并行,有时还不够快。Anthropic 把并行拆成两层:第一层,主代理同时拉起多个子代理,每个负责一个研究方向;第二层,每个子代理内部也并行发起多个工具调用。这种做法让复杂研究任务的耗时最多降低了 90%。

两层并行示例:新能源行业深度研究

第一层并行(主代理调度):
├── 子代理 1:负责比亚迪
├── 子代理 2:负责宁德时代
└── 子代理 3:负责理想汽车

第二层并行(每个子代理内部):
子代理 1 同时发起:
├── 搜索 `比亚迪 2024 年报 盈利`
├── 搜索 `比亚迪 海外市场 销量`
└── 搜索 `比亚迪 电池技术 专利`
启用两层并行

在给子代理的任务提示词中加一句:如果多个搜索之间互不依赖,请在同一轮中并行发起。这样可以鼓励子代理利用并行工具调用能力。

结果收集与整合

子代理完成后,主代理需要收集结果并完成整合。整合时主代理做三件事:统一格式(确保指标名称和计算口径一致)、横向对比(将相同指标放在一起比较)、综合判断(基于对比结果给出整体评估)。

# 三家公司财务对比报告(2024 年度)

## 关键指标对比

| 指标 | 贵州茅台 | 比亚迪 | 宁德时代 |
|------|---------|-------|---------|
| 毛利率 | 91.5% | 21.3% | 26.8% |
| 净利率 | 49.2% | 5.2% | 12.1% |
| ROE | 25.3% | 18.7% | 16.2% |
| 资产负债率 | 22.1% | 77.4% | 65.3% |

处理结果冲突

当多个子代理的分析结果出现矛盾时,有三种常见处理策略:

  • 投票制:多个子代理从不同角度分析同一问题,以多数结论为准。适用于判断类任务
  • 加权制:根据子代理的专业领域赋予不同权重。财务分析师的盈利能力评估权重高于市场分析师
  • 留存制:保留所有分析结果,标注来源和分歧点,交给人类决策者判断
金融分析中的冲突处理

在金融分析场景中,不同分析维度得出相反结论并不少见,例如基本面优秀但估值偏高。这不一定是错误,更可能反映了市场的复杂性。高风险决策里,留存分歧往往比强行统一更稳妥。