5.2 推理技术(Reasoning)

推理技术的核心是让 AI 展示思考过程,而不是直接给出答案。展示过程不仅让答案更可信,还便于发现和纠正中间环节的错误。

5.2.1 思维链(Chain-of-Thought)原理

思维链(Chain-of-Thought, CoT)是最基础也最实用的推理技术。它通过引导 AI 逐步展开推理过程,将复杂问题分解为一系列中间步骤。

触发 CoT 最简单的方式是在提示词中加入让我们一步一步思考。这句看似简单的指令能显著提升模型处理复杂问题的准确率,特别是数学计算和逻辑推理任务。

CoT 的四个核心特性:

  • 问题分解:将复杂问题拆解为可管理的子步骤
  • 过程透明:展示推理的每个环节,便于理解和验证
  • 错误定位:如果结论有误,可以追溯到具体哪一步出了问题
  • 通用适用:适用于算术、逻辑、常识等多种推理任务

在金融分析中,杜邦分析是 CoT 的典型应用场景。不要让 AI 直接说 ROE 是多少,而是让它逐步计算:

请使用链式思维分析该公司的盈利能力:

已知数据:
- 净利润:500万元
- 营业收入:5000万元
- 总资产:10000万元
- 股东权益:4000万元

第一步:计算净利润率
净利润率 = 净利润 / 营业收入 = 500 / 5000 = 10%
分析:10%的净利润率说明每100元收入转化为10元净利润。

第二步:计算资产周转率
资产周转率 = 营业收入 / 总资产 = 5000 / 10000 = 0.5次
分析:资产周转率0.5次,说明资产运营效率偏低。

第三步:计算权益乘数
权益乘数 = 总资产 / 股东权益 = 10000 / 4000 = 2.5
分析:权益乘数2.5,债务占总资产的60%。

第四步:计算ROE
ROE = 净利润率 × 资产周转率 × 权益乘数 = 10% × 0.5 × 2.5 = 12.5%

结论:该公司ROE为12.5%,主要由净利润率和财务杠杆驱动,资产周转效率有提升空间。

这样的分析过程清晰可查,如果某个指标算错了,很容易发现是哪一步出了问题。

5.2.2 思维树(Tree-of-Thought)结构

思维树(Tree of Thought, ToT)是 CoT 的扩展。如果说 CoT 是沿着一条路径走到底,ToT 则是同时探索多条路径,选择最优的那条。

ToT 的核心组件:

  • 思维生成:在每个节点生成多个候选方案
  • 状态评估:对每个方案进行打分或投票
  • 搜索算法:使用广度优先或深度优先策略探索

ToT 特别适合需要比较多个方案的决策问题,比如投资组合配置:

问题:100万元资金,在股票、债券、货币基金中如何配置?

思维树展开:

根节点:100万待配置资金
├── 方案A(激进型):股票70%,债券20%,货基10%
│   ├── 牛市情景(概率30%):预期收益+25%
│   ├── 震荡情景(概率40%):预期收益+5%
│   └── 熊市情景(概率30%):预期收益-15%
│   └── 期望收益 = 5.0%,波动性:高
│
├── 方案B(平衡型):股票40%,债券40%,货基20%
│   ├── 牛市情景:预期收益+15%
│   ├── 震荡情景:预期收益+6%
│   └── 熊市情景:预期收益-5%
│   └── 期望收益 = 5.4%,波动性:中
│
└── 方案C(保守型):股票20%,债券50%,货基30%
    ├── 牛市情景:预期收益+8%
    ├── 震荡情景:预期收益+5%
    └── 熊市情景:预期收益+2%
    └── 期望收益 = 5.0%,波动性:低

决策建议:
- 风险中性投资者:选择方案B(期望收益最高)
- 风险厌恶投资者:选择方案C(无负收益情景)

ToT 的优势在于系统化对比,让决策有据可依。但它的计算成本比 CoT 高很多,适合重要决策而非日常任务。

警告实现限制

上述思维树示例展示的是 ToT 的理想效果。在 Opencode 中实际实现时,需要通过多次对话迭代:先让 AI 生成候选方案,再对每个方案分别评估,最后汇总对比。这意味着更多的 API 调用和更长的执行时间。

对于简单决策问题,直接使用 CoT 配合人工选择往往更高效。ToT 适合需要系统化对比多个方案的重要决策场景。

5.2.3 ReAct 模式(推理+行动)

ReAct(Reasoning and Acting)将推理与行动交替进行。

ReAct 的基本循环是:Thought(思考)→ Action(行动)→ Observation(观察)→ Thought → …

与 CoT 的关键区别在于,CoT 完全依赖模型内部知识,而 ReAct 可以调用外部工具获取实时信息。这对金融分析至关重要,因为市场数据时刻变化。

问题:分析某只股票当前的投资价值

Thought: 需要了解该股票的基本面数据和当前估值水平

Action: 查询该股票最新财报数据

Observation: 2024年报显示营收增长15%,净利润增长20%...

Thought: 基本面不错,接下来需要看估值是否合理

Action: 查询当前股价和市盈率

Observation: 当前股价25元,动态市盈率18倍...

Thought: 需要与行业平均水平对比

Action: 查询行业平均市盈率

Observation: 行业平均市盈率22倍...

Thought: 估值低于行业平均,基本面良好,可以得出结论

Final Answer: 该股票基本面稳健,当前估值低于行业平均,具有一定投资价值...
提示选型建议

如何在 CoT、ToT、ReAct 之间选择?

  • 如果问题是算的问题(财务计算、指标推导)→ 优先 CoT
  • 如果问题需要比较多个方案 → 优先 ToT
  • 如果问题需要查询实时数据 → 优先 ReAct

推理技术对比

5.2.4 Extended Thinking 深度推理

Extended Thinking(扩展思考)是让模型在回答前进行更深入的内部思考。与标准回复相比,扩展思考模式允许模型花更多时间分析问题,从多个角度审视,进行自我检查。

注记知识卡片:Extended Thinking 模式

Extended Thinking 是部分大语言模型支持的特性。不同于普通对话的即时响应,扩展思考允许模型在内部进行更多推理步骤后再输出最终答案。思考过程对用户不可见,但输出结果更可靠。Opencode 支持配置具备此特性的模型。

Opencode 支持不同级别的思考深度,通过在提示词中加入特定关键词触发:

触发词 思考时间 适用场景
think 10-15 秒 中等复杂度问题
think hard 20-30 秒 需要多角度分析
think harder 30-45 秒 架构设计、全面权衡
ultrathink 60 秒以上 高复杂度深度分析

ultrathink 是最深度的思考模式。使用时只需在提示词中加入这个关键词:

ultrathink 请分析这家公司的并购价值,需要考虑:
财务层面、战略层面、风险层面的综合评估
警告成本提示

ultrathink 模式会消耗更多 token,成本约为普通对话的 3-5 倍。建议只在真正需要深度分析的场景使用,日常简单任务使用普通模式即可。

案例 5B:财务比率分析推理(推理)

要素 说明
演示模式 推理技术(Reasoning)
案例简述 给定企业财务数据,使用 Extended Thinking 模式(ultrathink)逐步推导杜邦分析。体验思维链如何提升复杂计算的准确性。
应用衔接 第 13 章研报生成的 Financial CoT Skill 采用类似推理技术

实践步骤

ultrathink 请对以下公司进行完整的杜邦分析,逐步展示计算过程:

公司:示例制造有限公司
净利润:2000万元
营业收入:20000万元
总资产:50000万元
股东权益:20000万元
年初股东权益:18000万元

请计算并分析:
1. 净利润率及其含义
2. 总资产周转率及其含义
3. 权益乘数及其含义
4. ROE的分解计算
5. 与行业平均水平的对比分析
6. 改进建议

通过 ultrathink 模式,你会看到模型进行深度思考的过程,包括对每个指标的多角度分析和综合判断。