配套案例
案例 4A:财报摘要三步生成
| 要素 | 说明 |
|---|---|
| 演示模式 | 提示链(Prompt Chaining)+ 思维链推理(CoT) |
| 案例简述 | 将财报分析分解为数据提取 → 关键指标计算 → 摘要生成三步 |
| 经济学映射 | 生产流程分工——每个环节专注单一任务 |
| 应用衔接 | 第 13 章研报生成系统的分层设计采用类似思路 |
| 预计耗时 | 20-30 分钟 |
为什么使用提示链?
财报分析涉及数据提取、数学计算、语言生成三种不同能力。将其拆分为三个独立步骤有以下优势:
- 降低单次推理复杂度:每个步骤专注于单一任务
- 提高可调试性:每步输出可独立验证
- 增强可控性:可以针对每步精确约束输出格式
三步处理流程:

第一步:数据提取
你是一位专业的财务数据分析师,擅长从财务报告中提取关键数据。
## 任务
从以下财报文本中提取关键财务数据,输出结构化 JSON 格式。
## 财报文本
<financial_report>
贵州茅台 2024 年第三季度财务报告
报告期内,公司实现营业收入 1231.23 亿元,同比增长 16.02%;
归属于上市公司股东的净利润 606.80 亿元,同比增长 15.04%。
主要财务指标:
- 毛利率:92.71%
- 净利率:49.29%
截至报告期末:
- 总资产:2847.56 亿元
- 总负债:851.23 亿元
- 股东权益:1996.33 亿元
</financial_report>
## 输出格式
直接输出 JSON,不要使用代码块。
{
"company_info": {
"name": "公司名称",
"report_period": "报告期"
},
"income_statement": {
"revenue": {"value": 数值, "unit": "亿元"},
"revenue_yoy_growth": 百分比数值,
"net_profit": {"value": 数值, "unit": "亿元"},
"net_profit_yoy_growth": 百分比数值,
"gross_margin": 百分比数值,
"net_margin": 百分比数值
},
"balance_sheet": {
"total_assets": {"value": 数值, "unit": "亿元"},
"total_liabilities": {"value": 数值, "unit": "亿元"},
"shareholders_equity": {"value": 数值, "unit": "亿元"}
}
}第二步:关键指标计算(CoT)
你是一位资深财务分析师,需要根据提取的财务数据计算关键指标。
## 输入数据
[第一步输出的 JSON]
## 计算要求
请计算以下指标,并展示完整的计算过程:
1. 资产负债率 = 总负债 / 总资产 × 100%
2. ROE (净资产收益率) = 净利润 / 股东权益 × 100%
3. ROA (总资产收益率) = 净利润 / 总资产 × 100%
## 输出格式
对于每个指标,请按以下步骤展示:
1. 公式说明
2. 代入数据
3. 计算过程
4. 最终结果
现在开始计算,请一步一步思考:预期的 CoT 输出:
让我一步一步计算各项财务指标。
### 1. 资产负债率
**公式说明**:资产负债率 = 总负债 / 总资产 × 100%
**代入数据**:
- 总负债 = 851.23 亿元
- 总资产 = 2847.56 亿元
**计算过程**:
851.23 ÷ 2847.56 × 100% = 29.89%
**最终结果**:资产负债率 = 29.89%
### 2. ROE (净资产收益率)
**公式说明**:ROE = 净利润 / 股东权益 × 100%
**代入数据**:
- 净利润 = 606.80 亿元
- 股东权益 = 1996.33 亿元
**计算过程**:
606.80 ÷ 1996.33 × 100% = 30.40%
**最终结果**:ROE = 30.40%
### 3. ROA (总资产收益率)
**公式说明**:ROA = 净利润 / 总资产 × 100%
**代入数据**:
- 净利润 = 606.80 亿元
- 总资产 = 2847.56 亿元
**计算过程**:
606.80 ÷ 2847.56 × 100% = 21.31%
**最终结果**:ROA = 21.31%第三步:摘要生成
你是一位资深的证券分析师,需要撰写专业的财务分析摘要。
## 原始数据
[第一步输出的 JSON]
## 计算指标
[第二步的计算结果]
## 写作要求
### 结构要求
1. **核心要点**(1-2 句话概括整体表现)
2. **业绩亮点**(2-3 个正面指标,用数据支撑)
3. **关注风险**(1-2 个需要关注的问题)
### 风格要求
- 使用专业但易懂的语言
- 避免堆砌数据,突出关键信息
- 保持客观中立
- 总字数控制在 200-300 字预期输出:
**核心要点**
贵州茅台 2024 年第三季度业绩稳健增长,营收和利润均实现双位数增长,
盈利能力和资产质量保持行业领先水平。
**业绩亮点**
- **盈利能力突出**:ROE 达 30.40%,ROA 达 21.31%,远超白酒行业平均水平
- **财务结构稳健**:资产负债率仅 29.89%,财务风险可控
- **增长势头良好**:营收同比增长 16.02%,净利润同比增长 15.04%
**关注风险**
- 毛利率已处于行业极高水平(92.71%),继续提升空间有限
- 高端白酒消费受宏观经济影响,需关注消费复苏节奏Skill 配置示例:
在 .opencode/skills/financial-report-analyzer/SKILL.md 中:
---
name: financial-report-analyzer
description: |
财报分析技能,支持三步生成财报摘要。
当用户提到以下内容时使用:
- 分析财报、解读财报、财报摘要
- 财务分析、业绩分析
- 提取财务数据、计算财务指标
---
# 财报分析技能
## 功能说明
本技能实现「数据提取 → 指标计算 → 摘要生成」三步财报分析流程。
## 使用方法
当用户提供财报文本时:
1. **第一步:数据提取**
- 从财报文本中提取结构化数据
- 输出 JSON 格式的财务数据
2. **第二步:指标计算**
- 基于提取数据计算关键比率
- 使用 CoT 展示计算过程
3. **第三步:摘要生成**
- 综合数据和指标生成分析摘要
- 包含业绩亮点、风险提示案例 4B:金融问题分类路由
| 要素 | 说明 |
|---|---|
| 演示模式 | 意图路由(Intent Routing) |
| 案例简述 | 根据用户问题类型自动路由到不同 Skill |
| 经济学映射 | 专业化分工——不同类型任务交给专业化模块处理 |
| 应用衔接 | 第 11 章舆情分析系统的多 Agent 协作基于类似路由逻辑 |
| 预计耗时 | 20-30 分钟 |
为什么需要意图路由?
用户问题类型多样,不同类型需要不同的处理方式:
- 行情查询:需要实时数据接口
- 财报分析:需要深度分析能力
- 政策解读:需要政策知识库
如果用单一提示处理所有类型,会面临以下问题:
- 提示词过长,消耗大量 token
- 专业度不足,难以在每个领域都表现出色
- 资源浪费,简单查询不需要复杂推理
路由架构:

路由器 Skill 设计:
---
name: financial-router
description: |
金融问题智能路由技能。当用户提出金融相关问题时,
自动分类并路由到合适的专业 Skill。
---
# 金融问题路由技能
## 可用路由目标
### 1. market-query (行情查询)
**触发条件**:用户询问股票价格、指数行情、涨跌情况
**示例问题**:
- 茅台现在多少钱?
- 今天大盘涨了多少?
- 沪深 300 最新点位?
### 2. financial-analysis (财报分析)
**触发条件**:用户询问公司财务状况、业绩表现、财务指标
**示例问题**:
- 帮我分析茅台的财报
- 宁德时代的毛利率是多少?
- 这家公司盈利能力如何?
### 3. policy-interpretation (政策解读)
**触发条件**:用户询问政策内容、政策影响、监管规定
**示例问题**:
- 最新的 LPR 调整对股市有什么影响?
- 央行降准意味着什么?
### 4. general (通用咨询)
**触发条件**:不属于以上类别的金融相关问题
**示例问题**:
- 什么是市盈率?
- 基金和股票有什么区别?
## 路由规则
1. 仔细分析用户问题的核心意图
2. 匹配最合适的路由目标
3. 如果问题涉及多个类别,选择最主要的一个
4. 不确定时选择 general
## 输出格式
{
"intent": "路由目标",
"confidence": 0.0-1.0,
"reasoning": "简短说明分类理由"
}路由示例:
用户问题:茅台今天涨了多少?
{
"intent": "market-query",
"confidence": 0.95,
"reasoning": "用户询问股票涨跌幅,属于实时行情查询"
}用户问题:宁德时代去年的净利率和 ROE 是多少?
{
"intent": "financial-analysis",
"confidence": 0.92,
"reasoning": "用户询问财务指标,需要分析财报数据"
}用户问题:最近央行降准对银行股有什么影响?
{
"intent": "policy-interpretation",
"confidence": 0.88,
"reasoning": "用户询问货币政策的市场影响,属于政策解读"
}子 Skill 设计示例(行情查询):
---
name: market-query
description: |
股票行情查询技能,处理实时价格、涨跌幅、成交量等行情相关问题。
---
# 行情查询技能
## 功能范围
- 股票实时价格查询
- 指数行情查询
- 涨跌幅计算
- 成交量/成交额查询
## 回答模板
**{股票名称} ({股票代码})** 最新行情:
- 当前价格:{价格} 元
- 涨跌幅:{涨跌幅}%
- 成交量:{成交量} 手
- 成交额:{成交额} 亿元
## 注意事项
- 明确告知数据更新时间
- 提醒用户数据仅供参考
- 如无法获取实时数据,说明原因目录结构:
.opencode/skills/
├── financial-router/
│ └── SKILL.md # 路由器 Skill
├── market-query/
│ └── SKILL.md # 行情查询 Skill
├── financial-analysis/
│ └── SKILL.md # 财报分析 Skill
└── policy-interpretation/
└── SKILL.md # 政策解读 Skill