MBE 系统中 Self-Critical Sequence 方法的应用与增强建议
基于论文 "Enhancing LLM Planning Capabilities through Intrinsic Self-Critique" 及 MBE 既有实现,本文档梳理 Self-Critical Sequence(自我批评序列) 在 MBE 中的现状与可扩展应用。
一、Self-Critical Sequence 在 MBE 中的含义
Self-Critique 指:模型生成输出后,由同一模型对输出进行验证、发现问题并修正的迭代过程。核心流程为:
生成 (Generate) → 验证 (Critique) → 修正 (Revise) → [可迭代]
MBE 中已实现多种 Self-Critique 变体,覆盖问答、路径规划、意图理解、专家匹配等场景。
二、MBE 中已有的 Self-Critique 应用
| 模块 | 位置 | 功能 | 状态 |
|---|---|---|---|
| QASelfCritique | knowledge/qa_critique.py |
答案幻觉检测、 grounding 验证、修正 | ✅ DynamicExpert 已用(非 fast 模式) |
| 路径生成 Self-Critique | core/self_critique.py, core/paths.py |
米塞斯行为学路径验证(前置条件、价值一致性等) | ⚠️ engine 中 SELF_CRITIQUE_ENABLED=False |
| 愿望分析 Self-Critique | core/desires.py |
analyze_with_self_critique |
⚠️ 同上 |
| 意图验证 | core/extended_critique.py → critique_integration |
IntentCritique | ✅ 可异步后台 |
| 专家匹配验证 | 同上 | ExpertMatchCritique | ✅ expert_router 已导入 |
| 对话一致性 | 同上 | ConversationConsistencyCritique | ✅ 可异步后台 |
| 知识更新验证 | 同上 | KnowledgeUpdateCritique | ✅ knowledge_manager 可调用 |
| 用户画像验证 | 同上 | ProfileCritique | ⚠️ 默认关闭(性能) |
| QA 质量优化 | quality/auto_optimizer.py, quality_loop.py |
QASelfCritique 修正 | ✅ 已集成 |
| 专家信任分 | market/expert_trust_score.py |
统计 self_critique_passes/fails | ✅ 已记录 |
三、可增强的 Self-Critique 应用场景
3.1 IntelligentQAEngine 答案验证
现状:IntelligentQAEngine 有意图推理、专家选择、检索、生成,但未使用 QASelfCritique 验证答案。
建议:在主流程答案生成后增加 Self-Critique 步骤,与 DynamicExpert 一致:
- 验证答案是否 grounded 于检索上下文
- 检测幻觉并修正或降级回答
- 可配置为同步(严格)或异步(延迟反馈)
收益:IntelligentQA 与 DynamicExpert 的答案质量更一致,减少幻觉。
3.2 RAG 检索结果质量验证
现状:检索返回 top-k chunks,未对检索结果做显式质量验证。
建议:新增 RetrievalCritique:
- 输入:query、top-k chunks、chunk 分数
- 验证:chunks 是否覆盖问题、是否包含无关内容、是否遗漏关键信息
- 输出:是否需要重检索、是否应扩大/缩小 top-k、是否应调整 query
收益:在生成前发现检索不足,减少“答非所问”和幻觉。
3.3 知识库建立流程中的分块质量验证
现状:分块后直接向量化,无分块质量自检。
建议:新增 ChunkQualityCritique:
- 在分块完成后、向量化前,对样本 chunks 做 Self-Critique
- 验证:边界是否合理、句子是否完整、是否混入无关内容、重叠是否过大
- 可对低质量 chunk 触发重分块或标记
收益:提升检索质量,减少“截断关键信息”的情况。
3.4 专家配置 AI 建议的验证
现状:_analyze_content_for_expert() 生成专家名称、描述、关键词建议,直接使用。
建议:新增 ExpertConfigCritique:
- 验证:建议关键词是否与文档内容匹配、领域是否准确、描述是否夸大
- 修正:过滤无效关键词、补齐遗漏领域
收益:专家路由更准确,减少错配。
3.5 专家模型训练样本验证
现状:从 chunks 生成训练样本,无样本质量筛选。
建议:新增 TrainingSampleCritique:
- 验证:样本是否歧义、是否过长/过短、是否包含噪声
- 过滤或重写低质量样本后再送入训练
收益:提高训练数据质量,减轻专家模型噪声。
3.6 用户反馈的 Self-Critique 校验
现状:用户点赞/踩直接用于 HOPE 等学习,未过滤异常反馈。
建议:新增 FeedbackCritique:
- 对与“答案质量”明显矛盾的反馈做校验(如:明显幻觉答案却点赞)
- 过滤极端或异常模式,避免噪声污染学习
收益:提升 HOPE 等模块的学习稳定性。
3.7 启用并调优 engine 中的 Self-Critique
现状:engine.py 中 SELF_CRITIQUE_ENABLED = False,愿望分析、路径生成等的 Self-Critique 未启用。
建议:
- 通过配置或环境变量控制启用
- 对高复杂度会话(如多轮、多目标)启用;对简单会话保持关闭
- 可考虑异步/后台执行,避免阻塞首响应
收益:米塞斯行为学路径与愿望分析更符合领域规则。
3.8 Self-Critical Sequence Training (SCST) —— RL 训练
说明:SCST 是 REINFORCE 类方法,用模型自身推理时的输出作为 baseline,优化序列生成。
潜在应用:
- 专家模型微调:用 SCST 优化答案生成策略,使输出更贴近“高 Self-Critique 分数”的序列
- 路径生成:用 SCST 优化路径推荐策略
当前:MBE 训练流程以知识蒸馏/监督为主,SCST 尚未实现,可作为中长期研究方向。
四、实施优先级建议
| 优先级 | 场景 | 实现难度 | 收益 | 建议 |
|---|---|---|---|---|
| IntelligentQA 答案验证 | 低 | 高 | 已实现:intelligent_qa.py 中复用 QASelfCritique |
|
| 启用 engine 愿望/路径 Self-Critique | 低 | 中高 | 已实现:engine.py 中配置+条件启用 |
|
| RAG 检索结果验证 | 中 | 高 | 已实现:RetrievalCritique + IntelligentQA 集成 | |
| 专家配置建议验证 | 中 | 中 | 已实现:ExpertConfigCritique + knowledge_manager 集成 | |
| 分块质量验证 | 中 | 中 | 已实现:ChunkQualityCritique + knowledge_manager | |
| 训练样本验证 | 中 | 中 | 已实现:TrainingSampleCritique + training_tasks | |
| 反馈校验 | 低 | 低 | 已实现:FeedbackCritique + feedback API | |
| 研究 | SCST 训练 | 高 | 待评估 | 作为后续研发方向 |
五、相关代码位置速查
| 功能 | 文件路径 |
|---|---|
| QASelfCritique | private/core/src/knowledge/qa_critique.py |
| 路径/愿望 Self-Critique | private/core/src/core/self_critique.py, paths.py, desires.py |
| 扩展验证器(意图、专家、一致性等) | private/core/src/core/extended_critique.py |
| 集成与配置 | private/core/src/core/critique_integration.py |
| DynamicExpert 调用 | private/core/src/knowledge/dynamic_expert.py (约 717–746 行) |
| Engine 配置 | private/core/src/core/engine.py (SELF_CRITIQUE_ENABLED, 约 25–28 行) |
六、总结
MBE 已在 QA、路径规划、意图、专家匹配、一致性、知识更新等环节使用 Self-Critique。仍有明显增强空间:
- IntelligentQAEngine 补上答案验证,与 DynamicExpert 质量一致
- RAG 检索 增加检索结果验证,在生成前发现不足
- 知识库建立 对分块、专家配置、训练样本做 Self-Critique
- Engine 在合适条件下启用愿望/路径 Self-Critique
- SCST 作为长期方向,探索基于 Self-Critique 的强化学习训练
按上述优先级逐步落地,可系统性提升 MBE 的可靠性与可控性。