7.6 工具组合与金融场景应用
前面几节分别介绍了 API、Function Call、MCP、CLI 命令和内置工具。单个工具能解决的问题有限,真正的威力在于组合。本节将这些工具层次整合起来,展示如何在经济金融场景中完成端到端的分析任务。
7.6.1 工具组合的基本模式

智能体在执行复杂任务时,通常需要调用多个工具。根据工具之间的关系,组合模式分为四种。
顺序组合
工具 A 的输出作为工具 B 的输入,形成流水线。这是最常见的模式。
MCP 获取财务数据 → Bash 计算财务比率 → Write 保存分析报告并行组合
多个工具同时执行,各自独立获取数据,最后合并结果。
┌→ MCP 获取股价数据 ──┐
│ │
├→ WebFetch 获取新闻 ──┼→ 合并分析 → 生成报告
│ │
└→ Read 读取行业基准 ──┘条件组合
根据中间结果决定下一步调用哪个工具。
Bash 计算涨跌幅
├→ 涨幅 > 5% → 调用风险评估工具
├→ 跌幅 > 5% → 调用止损检查工具
└→ 波动平稳 → 调用常规监控工具循环组合
反复调用工具,直到结果满足预设条件。
while 报告质量评分 < 80:
Read 读取当前报告
Bash 执行质量检查脚本
Edit 修改不合格部分四种组合模式可以嵌套使用。一个完整的金融分析任务往往同时包含顺序、并行和条件组合。理解这些模式,就能用自然语言精确描述你需要智能体完成的工作流。
7.6.2 案例一:上市公司财务分析
任务描述
对贵州茅台(600519)进行全面财务分析,计算核心财务比率,与行业基准对比,生成结构化报告。
工具组合方案
| 步骤 | 工具 | 层次 | 作用 |
|---|---|---|---|
| 1 | MCP(A-Stock-Server) | 协议层 | 获取财务数据 |
| 2 | Bash(Python 脚本) | CLI 层 | 计算财务比率 |
| 3 | Read | 内置工具 | 读取行业对比基准 |
| 4 | Write | 内置工具 | 保存分析报告 |
组合模式:步骤 1-2 为顺序组合,步骤 2 和步骤 3 可并行执行。
对话流程
用户发出指令:
你:请对贵州茅台(600519)做一份财务分析报告,包括
盈利能力、偿债能力和运营效率三个维度,并与白酒行业
平均水平对比。智能体的工具调用序列如下:
第一轮:获取原始数据
[MCP 调用] get_stock_quote_cn(symbol="600519")
→ 返回:最新价 1680.50 元,市盈率 35.6
[MCP 调用] get_financial_statements(symbol="600519")
→ 返回:营业收入、净利润、总资产、总负债等数据
第二轮:计算财务比率
[Bash] python calculate_ratios.py --data financial_data.json
→ 输出:
ROE = 33.2%
ROA = 21.5%
毛利率 = 91.5%
资产负债率 = 20.3%
流动比率 = 3.82
第三轮:读取行业基准并对比
[Read] industry_benchmark_liquor.csv
→ 行业平均 ROE = 18.7%,毛利率 = 65.3%
第四轮:生成报告
[Write] 保存至 output/600519_financial_report.md最终输出的报告核心内容:
贵州茅台(600519)财务分析报告
一、盈利能力
ROE:33.2%(行业平均 18.7%,高出 14.5 个百分点)
毛利率:91.5%(行业平均 65.3%)
结论:盈利能力显著优于行业
二、偿债能力
资产负债率:20.3%(行业平均 38.5%)
流动比率:3.82(行业平均 1.65)
结论:财务结构稳健,偿债风险极低
三、运营效率
ROA:21.5%(行业平均 9.8%)
总资产周转率:0.62(行业平均 0.55)
结论:资产使用效率高于行业水平ROE(Return on Equity,净资产收益率)= 净利润 / 股东权益。ROE 衡量股东每投入一元资本能获得多少利润,是巴菲特最看重的财务指标之一。ROE 长期高于 20% 的公司通常具备持久竞争优势。
7.6.3 案例二:金融研报自动生成
任务描述
基于多源数据,生成一份新能源汽车行业研究报告。这个案例整合了全章介绍的所有工具层次。
工具组合方案(全层次覆盖)
| 工具层次 | 具体工具 | 任务 |
|---|---|---|
| API 层 | 金融数据 API | 获取行业营收、产销量等原始数据 |
| 协议层 | MCP Server | 获取上市公司财务数据和股价走势 |
| CLI 层 | Bash + Python | 数据清洗、统计分析、图表生成 |
| 内置工具层 | Read / Write / Grep | 读取模板、搜索关键信息、生成最终报告 |
完整工具链
阶段一:数据采集(并行组合)
├→ [API] 行业协会数据接口 → 产销量、渗透率
├→ [MCP] A-Stock-Server → 比亚迪、宁德时代等财务数据
└→ [WebFetch] 券商研报网站 → 行业观点摘要
阶段二:数据处理(顺序组合)
[Bash] python clean_data.py → 数据清洗、缺失值处理
[Bash] python analyze.py → 增长率计算、趋势分析
[Bash] python charts.py → 生成 5 张分析图表
阶段三:报告组装(条件 + 顺序组合)
[Read] report_template.md → 读取报告模板
[Grep] 搜索关键政策文件中的补贴信息
[条件判断] 若行业增速 > 30% → 标注为高景气赛道
[Write] industry_report_nev.md → 输出完整研报
阶段四:质量检查(循环组合)
[Read] 读取生成的报告
[Bash] python check_quality.py → 检查数据一致性
[Edit] 修正发现的问题
→ 重复直至通过质量检查这个案例展示了四种组合模式的综合运用:并行采集多源数据、顺序处理和分析、条件判断行业定性、循环优化报告质量。
金融研报涉及投资建议,生成内容必须经过人工审核。智能体擅长数据整理和初稿撰写,但行业判断和投资结论需要分析师把关。这是人在回路(Human-in-the-Loop)原则的典型应用场景,第 9 章将详细讨论。
7.6.4 工具选择的决策框架
面对一个具体任务,如何选择合适的工具?以下决策矩阵提供参考。
按任务性质选择
| 任务性质 | 推荐工具 | 理由 |
|---|---|---|
| 读写本地文件 | Read / Write / Edit | 内置工具,无需配置,安全可靠 |
| 搜索项目内容 | Grep / Glob | 专用搜索工具,效率高于 Bash |
| 获取外部数据 | MCP Server | 标准化协议,支持身份认证和错误处理 |
| 执行计算或脚本 | Bash | 灵活性最高,可运行任意命令 |
| 浏览网页 | WebFetch / Browser Use | 获取网页内容或模拟浏览器操作 |
| 调用第三方 API | MCP 或 Bash(curl) | MCP 更规范,Bash 更灵活 |
按使用频率选择
| 使用频率 | 推荐方案 | 说明 |
|---|---|---|
| 一次性任务 | Bash + 临时脚本 | 快速完成,无需长期维护 |
| 每周重复 | Skill + MCP | 将流程封装为 Skill,数据接口用 MCP |
| 每日高频 | Plugin | 打包为可复用的插件,跨项目共享 |
最佳实践原则
- 优先使用内置工具。Read、Write、Grep 等内置工具最简单、最安全,能用内置工具解决的问题就不要引入外部依赖。
- 需要外部数据时使用 MCP。MCP 提供标准化的认证、错误处理和数据格式,比手动调用 API 更可靠。
- 需要灵活执行时使用 Bash。数据清洗、统计计算、图表生成等任务,Bash 调用 Python 脚本是最灵活的方案。
- 高频任务封装为 Skill 或 Plugin。避免每次重复描述同一个工作流程,让智能体自动按预设流程执行。
选择工具时,先确定任务性质(需要什么能力),再考虑使用频率(一次性还是高频),最后权衡配置复杂度。没有最好的工具,只有最适合当前场景的工具。