MBE 链式推理(CoT)分析与离线训练策略

版本: v1.0
日期: 2026-02-10


一、现状:MBE 当前无显式 CoT

经代码库全面检视,MBE 没有任何显式 Chain-of-Thought 实现

模块 当前推理方式 CoT 缺口
答案生成 (ai_bot.py) 直接生成答案 没有要求模型展示推理过程
Self-Critique (self_critique.py) "逐步验证"但直接输出 JSON 验证过程不透明
Answer Evaluator (answer_evaluator.py) 按 6 维直接打分 评分无推理依据
Path Generator (paths.py) 生成路径→批评→修正 路径生成时无分步推理
Dialogue MoE (dialogue_moe.py) 关键词匹配选策略 策略选择无推理链
Auto Prompt Optimizer 模板式指令增强 没有 CoT 优化模板

所有模块都是"直接输出结构化 JSON",没有任何模块要求 LLM 先展示中间推理步骤再给出结论。


二、CoT 对 MBE 的价值

2.1 五大核心增强场景

# 场景 当前方式 CoT 增强后 预期提升
1 复杂问答 LLM 直接回答 分步推理→逐步验证→最终答案 幻觉率 -15~25%
2 Self-Critique 黑箱评分 逐步审计推理链每一步 验证精度大幅提升
3 路径规划 生成路径不透明 显式推理约束/权衡/选择 路径质量提升
4 知识图谱多跳 程序化遍历 推理链可解释化 用户可追溯推导
5 评估打分 直接输出分数 推理后打分,评分有理有据 SCST 奖励更精确

2.2 CoT 与 SCST 的特殊协同

# 无 CoT 时,SCST 奖励粒度
reward = final_answer_score(sample) - final_answer_score(greedy)
# → 只知道最终答案好不好,不知道哪一步推理出了问题

# 有 CoT 时,SCST 奖励粒度
reward = (
    w1 × (step_correctness(sample_steps) - step_correctness(greedy_steps))
  + w2 × (final_answer_score(sample) - final_answer_score(greedy))
  + w3 × (reasoning_coherence(sample_chain) - reasoning_coherence(greedy_chain))
)
# → 知道哪一步推理出问题,SCST 可以精准优化那一步

三、策略选择:离线 CoT(策略 C)

3.1 三种策略对比

策略 在线成本 SCST 训练质量 选择风险
A. 等 SCST 训练好再启用 CoT 🟢 零增加 🟡 只有答案级奖励
B. 上线就全量 CoT 🔴 2-3 倍 🟢 步骤级精细奖励
C. 在线不用,离线训练时用 🟢 零增加 🟢 步骤级精细奖励

3.2 决策理由

采用策略 C,原因:

  1. 在线零成本增加:用户交互时不启用 CoT,不多花 LLM API 费用
  2. 离线获得精细奖励:后台批量重跑时用 CoT,获得步骤级奖励信号
  3. 成本完全可控:离线抽样比例和预算可灵活调整
  4. 无选择风险:不需要 Router 判断是否启用(全离线,全启用)
  5. 为未来在线 CoT 铺路:积累数据后可训练 Router 做精准在线选择

3.3 架构设计

在线服务(面向用户,零额外成本):
  ┌─────────────────────────────────────────────────┐
  │  用户提问 → LLM 直接回答(无 CoT)→ 返回用户     │
  │  同时记录: 问题 + 答案 + 评分 → 训练数据库        │
  └─────────────────────────────────────────────────┘

离线训练(后台批量,可控预算):
  ┌─────────────────────────────────────────────────┐
  │  每天/每周从数据库抽样 N 条                       │
  │  → 对同样问题用 CoT 模式重新生成                  │
  │  → 得到推理链 + 答案                             │
  │  → Self-Critique 逐步验证推理链每一步             │
  │  → 产生步骤级奖励信号                            │
  │  → 喂给 SCST 训练                               │
  └─────────────────────────────────────────────────┘

SCST 训练成果反哺在线:
  ┌─────────────────────────────────────────────────┐
  │  · 模型生成质量提升 → 在线答案变好                │
  │  · Router 学会哪些问题受益于 CoT                  │
  │  · 达标后可选择性在线启用 CoT(精准投放)          │
  └─────────────────────────────────────────────────┘

3.4 成本估算

假设每天在线交互 1000 次:
  离线 CoT 重跑 20% = 200 条
  每条 CoT 额外 ~1000 output tokens
  按 DeepSeek 价格 ≈ $0.01/条
  
  离线成本: 200 × $0.01 = $2/天 ≈ $60/月
  
  换来:
  · SCST 训练精度从"答案级"升级为"步骤级"
  · 1-2 个月后 Router 可做精准 CoT 在线投放

3.5 演进路线

Phase 1 (Month 1-2): 纯离线 CoT
  · 在线: 无 CoT,零额外成本
  · 离线: 20% 抽样 CoT 训练 SCST
  · 产出: 步骤级奖励信号 + Router 训练数据

Phase 2 (Month 3+): 精准在线 CoT
  · SCST 训练出 Router CoT 选择能力(准确率 90%+)
  · 只对高收益问题在线启用 CoT
  · 成本: 基准 + ~15% CoT 增量(仅复杂问题)

Phase 3 (Month 5+): 自适应 CoT
  · HOPE 学习用户偏好(偏好详细推理 vs 直接结论)
  · TITANS 记忆场景级 CoT 策略
  · 完全自适应,按需启用

四、离线 CoT 的技术实现要点

4.1 CoT Prompt 设计

# Self-Critique CoT 化
COT_CRITIQUE_PROMPT = """
请对以下回答进行逐步验证。

## 要求
对每个验证步骤,先展示你的推理过程,再给出该步骤的判断。

## 验证步骤
Step 1: 检查事实准确性
  <thinking>你的推理过程</thinking>
  <judgment>正确/错误 + 理由</judgment>

Step 2: 检查逻辑连贯性
  <thinking>你的推理过程</thinking>
  <judgment>正确/错误 + 理由</judgment>

Step 3: 检查完整性
  <thinking>你的推理过程</thinking>
  <judgment>正确/错误 + 理由</judgment>

## 最终评分
<score>0-1 综合分数</score>
"""

4.2 步骤级奖励提取

class CoTRewardExtractor:
    """从 CoT 输出中提取步骤级奖励"""
    
    def extract(self, cot_output: str) -> Dict:
        steps = self.parse_steps(cot_output)
        return {
            'step_scores': [s.score for s in steps],     # 每步评分
            'step_issues': [s.issues for s in steps],     # 每步问题
            'overall_score': self.aggregate(steps),       # 综合评分
            'weakest_step': min(steps, key=lambda s: s.score),  # 最弱环节
            'reasoning_coherence': self.coherence(steps), # 推理连贯性
        }

4.3 离线批量处理

class OfflineCoTTrainer:
    """离线 CoT 训练管理器"""
    
    async def daily_batch(self):
        # 1. 从在线日志抽样
        samples = self.db.sample_interactions(
            n=200,
            strategy='priority_complex',  # 优先复杂问题
            exclude_simple=True           # 排除简单问答
        )
        
        # 2. CoT 重跑
        for sample in samples:
            cot_output = await self.llm.generate(
                prompt=self.cot_prompt(sample.question),
                system=COT_CRITIQUE_PROMPT
            )
            
            # 3. 提取步骤级奖励
            rewards = self.extractor.extract(cot_output)
            
            # 4. 存入 SCST 训练数据
            self.training_db.store(
                question=sample.question,
                original_answer=sample.answer,
                cot_answer=cot_output,
                step_rewards=rewards
            )
        
        # 5. 触发 SCST 增量训练
        await self.scst_trainer.train_batch(self.training_db.latest())

五、CoT 在全协同架构中的位置

CoT 不是独立的一层,而是贯穿所有层的推理增强剂

  感知层 (MIRAS)     + CoT → 检索时解释"为什么选这些文档"
  推理层 (图谱)      + CoT → 多跳推理可解释化
  记忆层 (TITANS)    + CoT → 记忆推理链模式(不只记答案)
  学习层 (HOPE)      + CoT → 学习用户偏好的推理风格
  验证层 (Critique)  + CoT → 从黑箱验证变为推理审计
  优化层 (SCST)      + CoT → 步骤级奖励替代答案级奖励
  决策层 (Router)    + CoT → 未来学会何时需要在线 CoT

六、相关文档

文档 说明
MBE_LEVEL6_FULL_SYNERGY_ANALYSIS.md Level 6 全协同能力分析(CoT 为第七力)
MBE_LEVEL5_LEVEL6_IMPLEMENTATION_ROADMAP.md Level 5→6 实施路线图(含离线 CoT 阶段)
MBE_SCST_ENGINE_WIDE_ENHANCEMENT.md SCST 提升全引擎能力研究

文档版本: v1.0
更新日期: 2026-02-10