跳到主要内容

第四部分:练习 —— 配置宏观经济分析 MCP + Skill

  • 问题描述: 你现在是一家跨国企业的战略分析师。在平时的业务中经常需要分析国家间的 GDP 增长趋势有何异同?这种趋势是否预示着某种宏观周期?然后向Leader进行汇报。

  • 技术痛点:

    1. 手动查阅世界银行数据太慢。
    2. 单纯调用接口返回的 JSON 数据(Raw Data)汇报效率低。
    3. 你需要为你的blog撰写的智能体添加一个能力,既能自动获取数据,又能按照专业分析师的逻辑输出对比报告。
  • 技术路径:

    1. 配置worldbank MCP 以获得读取世界各国宏观数据相关的工具
    2. 撰写 Skill 来传递 MCP 中工具的正确使用方式 和 分析方式

练习的示例答案存放在 skills\macro-economic-analysis.7z,解压即用

DeepAgent构建练习

4.1 任务目标

配置wordbank MCP 并创建 skills/macro-economic-analysis/SKILL.md,让 Agent 能够自动使用 worldbank MCP 获取数据,进行中美 GDP 走势对比。

4.1 配置 World Bank MCP

参考文档docs/WORLD-BANK-MCP.md(包含所有工具的详细说明)

确保 MCP 已配置

文件src/cufel_deepagent/mcp/mcp.py

MCP_SERVERS_CONFIG = {
# ... 其他配置
"worldbank": {
"command": "npx",
"args": ["worldbank-mcp"],
"transport": "stdio",
},
}

4.2 撰写Skill

步骤 1:创建目录

mkdir -p skills/macro-economic-analysis
touch skills/macro-economic-analysis/SKILL.md

步骤 2:填写 SKILL.md 内容

参考项目文件 skills\macro-economic-analysis

SKILL.md 核心结构

点击展开:完整 SKILL.md 示例(共38行)
---
name: macro-economic-analysis
description: 当用户需要分析国家宏观经济数据(GDP、CPI、通胀等)时使用此技能。
---

## 工作流程

当需要分析宏观经济时,请按以下步骤:

1. 使用 `search-indicators` 搜索正确的指标代码
2. 使用 `get-economic-data` 获取数据(设置 years=10)
3. 解析 JSON 结果,提取年份和数值
4. 对比分析两国数据
5. 输出 Markdown 格式报告


| 工具名 | 功能 | 示例参数 |
|-------|------|---------|
| `get-country-info` | 获取国家详细信息 | `{"countryCode": "CN"}` |
| `search-indicators` | 搜索经济指标 | `{"keyword": "GDP"}` |
| `get-economic-data` | 获取经济数据 | `{"countryCode": "CN", "indicator": "GDP_GROWTH"}` |
| `get-social-data` | 获取社会数据 | `{"countryCode": "CN", "indicator": "POPULATION"}` |

**常用指标代码**
- `GDP` - 国内生产总值(美元)
- `GDP_GROWTH` - GDP 增长率(%)
- `GDP_PER_CAPITA` - 人均 GDP(美元)
- `INFLATION` - 通胀率(%)
- `UNEMPLOYMENT` - 失业率(%)


## 注意事项

- 国家代码:中国=CN,美国=US
- 默认查询 10 年数据
- GDP 单位是美元,注意转换展示

步骤 3:验证

重启 Agent,进入交互模式,输入:

uv run main.py -i

请查找合适的 skill,分析中国和美国近10年的GDP走势对比

预期输出:一份包含数据表格、趋势分析的 Markdown 报告 具体示例见教学视频

🔥 进阶挑战:不仅要看,还要存 你的 Leader 提出了新要求:他不需要阅读 Markdown 报告,而是需要你直接提供包括2015-2025 年中美 GDP 数据的 Excel 表(xlsx 格式)请尝试修改 Skill 或 Prompt,让 Agent 仅输出纯净的 JSON 数据,并利用 tool 转换为 xlsx 格式

💡 点击查看:你可能会遇到的问题

你会发现什么?

  1. Agent 经常会在 JSON 外面包裹 "Here is the data..." 这样的废话。
  2. 有时 JSON 的 Key(键名)会不稳定,一会儿叫 "gdp",一会儿叫 "value"。

结论:让擅长聊天的 LLM 做"填表"工作非常痛苦。这就是为什么我们需要下一讲的"结构化输出(Structured Output)"技术。