8.8 案例二:三大经济体 PMI 数据采集与对比
面向经管学生、研究者与从业者的 AI 智能体设计教材

场景:你在准备一份全球宏观经济月度简报,需要同时采集中国、美国、欧元区三大经济体的制造业 PMI(Purchasing Managers’ Index,采购经理指数)数据,并生成横向对比。三个经济体的数据来源和格式各不相同,很适合用子代理分头处理。
项目目录
pmi-monitor-202603/
├── sources/
│ ├── china_caixin_pmi.csv # 财新中国制造业 PMI
│ ├── us_ism_pmi.csv # ISM 美国制造业 PMI
│ └── eu_markit_pmi.csv # S&P Global 欧元区制造业 PMI
├── output/
│ ├── china_pmi_brief.md
│ ├── us_pmi_brief.md
│ ├── eu_pmi_brief.md
│ └── global_pmi_comparison.md # 主代理汇总
├── .claude/
│ └── agents/
│ └── pmi-analyst.md # 子代理配置
└── CLAUDE.mdsources/ 存放三个经济体的 PMI 原始数据。每个子代理读取一份文件,产出写入 output/。
配置文件
.claude/agents/pmi-analyst.md 定义了通用的 PMI 分析子代理。主代理调度时,只需通过任务描述指定具体经济体。
▶ Agent
---
name: pmi-analyst
description: 分析单个经济体的制造业 PMI 数据,输出月度简报
model: sonnet
tools:
- Read
- Write
---
你是一个宏观经济数据分析助手。
## 任务
读取指定经济体的 PMI 数据文件,完成以下分析:
- 最新月份 PMI 数值及荣枯线判断(50 为分界)
- 近 6 个月趋势(上行/下行/震荡)
- 关键分项指标:新订单、产出、就业
- 与上月对比的边际变化
## 输出要求
- 保存到 output/{经济体}_pmi_brief.md
- 数值保留一位小数
- 只返回完成状态和 PMI 读数,不返回完整报告
用户操作
▶ Claude Code
请创建 3 个 `pmi-analyst` 子代理,并行分析 `sources/` 目录下的 PMI 数据。
主代理职责:
- 只负责创建子代理、等待完成和整合结果
- 不自己展开单个经济体的 PMI 分析
子代理 A:只负责中国,读取 `sources/china_caixin_pmi.csv`
子代理 B:只负责美国,读取 `sources/us_ism_pmi.csv`
子代理 C:只负责欧元区,读取 `sources/eu_markit_pmi.csv`
每个子代理都必须:
- 只读取自己负责经济体的 CSV 数据
- 分析 PMI 走势、分项指标和边际变化
- 保存结果到 output/ 目录
- 只返回 PMI 读数和趋势判断
3 个子代理完成后,主代理再汇总三大经济体的 PMI 数据,
生成横向对比表格和全球制造业景气度判断,
写入 `output/global_pmi_comparison.md`。
这个案例与车企分析的结构相同:三个子代理各自独立工作,主代理负责调度和汇总。区别在于,这里通过 .claude/agents/ 目录预定义了子代理配置,但真正执行时,仍然要在提示词里把本轮要创建几个子代理、各自负责哪个经济体写清楚。角色一旦固定下来,预定义子代理就能把重复调度成本降下来。 当分析对象从三个扩展到五个或十个时,只需增加数据文件,调度逻辑基本不用改动。
子代理配置的复用
pmi-analyst.md 的设计思路是通用化:配置文件定义分析能力和输出规范,具体分析哪个经济体则由调用时的任务提示词指定。这种”配置定义能力,提示词指定参数”的模式,让同一个子代理配置可以被不同场景反复调用,无需为每个经济体单独写一份 agent.md。