CORE: 对比反思实现推理能力的快速提升
语言模型可以利用可验证奖励在多种推理任务上提升性能。然而,无论是参数化方法(如RLVR)还是非参数化方法(如提示优化),通常都需要数百个训练样本和数千次模型 rollout,这导致成本高昂甚至难以实现。为了解决这一挑战,我们提出了对比反思(Contrastive Reflection, CORE),一种非参数化学习算法。该方法通过对比过去推理轨迹的成功与失败案例,生成见解:以自然语言描述的推理策略和约束,捕捉成功与失败尝试之间的差异。 在四个推理任务上,我们证明CORE在更少的 rollout 下实现了比参数化方法(GRPO)和非参数化方法(GEPA、episodic RAG、MemRL)更快的性能提升。在固定的 rollout 预算(如仅含五个训练样本)下,CORE也达到了与各基线相当或更优的性能增益。此外,CORE在上下文效率上显著优于非参数化基线:它将所学知识存储为紧凑、可解释的自然语言见解,从而需要更少的提示 token。 因此,我们的结果表明:将成功与失败推理轨迹之间的对比提炼为抽象且有用的见解,相比权重更新、提示优化或直接复用存储的推理轨迹,为模型自我改进提供了一条更高效、可解释的路径。
论文精读
TL;DR CORE 通过对比成功与失败的推理轨迹,自动提炼出可解释的自然语言洞察,以极少的训练样本和模型调用次数,实现了比参数微调(GRPO)和典型非参数方法更快速、更节约上下文的推理自我改进。
问题
问题背景
语言模型在数学、逻辑等可验证奖励的推理任务上正通过自我改进(self-improvement)提升能力,这是当前 AI 对齐与高效学习的热点方向。
现有方法局限
- 参数化方法(如 GRPO)需对模型权重进行更新,即使只解决单一任务也常需成百上千个训练样本与数万次 rollout,计算成本极高,且每次更新后需重新部署模型,灵活性差。
- 非参数化方法(如 GEPA、episodic RAG、MemRL)虽不改变权重,但大多直接复用历史推理轨迹,导致:
- 上下文冗余:存储的完整推理链占用大量 prompt token,推理时成本高;
- 泛化能力弱:简单检索相似案例难以抽象出可跨问题复用的通用策略;
- 样本效率低:仍需大量训练样本才能达到有意义的改进。
为什么这个问题难且重要
核心挑战在于如何从极少量成功/失败经验中自动蒸馏出可解释的推理策略,并将其高效注入模型上下文。这要求算法能:
- 识别关键对比模式:区分成功与失败轨迹的根本差异,而非表面特征;
- 生成抽象洞察:将差异转化为简短的、跨问题有效的自然语言约束或策略;
- 轻量级部署:避免权重更新,同时不显著增加推理时的计算开销。
随着 LLM 在真实世界逐步承担复杂决策任务,样本效率与上下文效率直接决定了自我改进能否从实验走向生产。业界亟需一种既能快速学习、又不对推理资源造成重负的方法,这正是 CORE 试图突破的技术瓶颈。
行业类比
就像在推荐系统中,无需重新训练整个排序模型,仅通过分析少量成功/失败曝光日志提取几条关键规则,便能迅速纠正偏差、提升点击率。
核心洞察
- **对比反思(Contrastive Reflection)** 通过对比成功与失败推理轨迹的差异,提取可复用的推理策略抽象,在极少训练样本(如 5 个)下实现快速性能提升。与 GRPO 等参数方法需大量 rollouts 不同,CORE 作为非参数方法,无需更新模型权重,因此避免了昂贵的梯度计算,同时相比其他非参数方法(如 GEPA 直接重用轨迹)更能捕捉通用模式,实现更高效的知识迁移。
- **洞察(insight)作为紧凑的外部记忆** 将学到的知识存储为自然语言描述,而非完整推理链或提示词,极大减少了推理时的上下文长度。与 episodic RAG 或 MemRL 等存储原始轨迹的方法相比,CORE 的提示 token 消耗显著降低,且保持可解释性,便于调试和分析模型改进过程。这种知识表示形式对大规模部署的成本控制尤为关键。
方法
CORE 方法流程
CORE (Contrastive Reflection) 是一种非参数学习算法,核心思想是通过对比成功与失败的推理轨迹生成自然语言洞察,并将洞察作为可复用的策略知识,指导后续推理。其工作流如下:
输入与记忆构建
- 给定一组训练问题,模型为每个问题生成多条推理轨迹(rollouts),并由可验证奖励判定对错。
- 所有轨迹及结果存入外部记忆库,形成原始经验池。
失败偏置采样
- 训练迭代中,问题采样概率偏向历史上失败次数更多的题目,集中突破难点。
洞察检索与增强推理
- 对采样到的问题,先从记忆库中检索与该问题相关的已有洞察,拼接为提示上下文。
- 模型基于此增强上下文生成新的推理尝试,并获取新奖励。
对比反思(核心模块)
- 选取该问题最新的成功轨迹与失败轨迹进行对比分析。
- 通过提示指令,让模型从差异中提炼出可迁移的抽象策略或约束,形成一条或多条自然语言洞察,例如 “先计算总成本再分摊到每个单元”。
- 新洞察加入记忆库,并参与后续检索。
输出与推理部署
- 最终输出是一个不断增长的结构化洞察集合,推理时只需检索相关洞察作为简洁的提示,无需携带完整历史轨迹。
该流程在迭代中持续优化洞察质量,使模型对同类型问题的推理能力快速上升,所需 rollout 数量远低于参数更新方法。
与同类方法的差异
与参数方法 (如 GRPO) 相比,CORE 不修改模型权重,训练开销极小,仅需少量样本和 rollout 即可实现显著提升。与其他非参数方法 (如 episodic RAG 直接复用完整推理轨迹) 相比,CORE 将成败差异凝练为紧凑、可解释的洞察文本,不仅大幅减少推理时的上下文长度,还提供了可由人类审查的策略知识,更有利于调试和迁移。
实验
实验设计
CORE 在四个推理任务上与参数和非参数基线进行对比。训练样本数量极少(最少 5 个),评估在固定 rollout 预算 下进行。方法流程:通过失败偏置采样从外部记忆中检索相关洞察,然后 对比反思 成功与失败轨迹的差异,生成自然语言洞察,并在后续推理时作为提示前缀。基线包括参数方法 GRPO 和非参数方法 GEPA、情节化 RAG 和 MemRL。评估指标包括:在相同 rollout 数量下的性能提升、所需训练样本数、以及推理时的上下文 token 开销。
关键发现
- 更快的性能增长:CORE 在更少 rollouts 下达到或超越基线的最终性能,特别是在极低训练样本(5 个)下优势明显。
- 上下文高效:CORE 的 insight 记忆 使用紧凑的自然语言,所需的 prompt tokens 远少于基线,显著降低推理成本。
- 可解释的抽象知识:生成的洞察捕获了循环出现的推理模式(如常见错误和策略),而非简单重演过往轨迹,提供了模型自我改进的可解释路径。
与基线的深度对比
与 GRPO 这样的参数更新方法相比,CORE 无需权重更新,完全依赖于少量 rollout 产生的外部记忆,使得模型快速适应新任务而免去昂贵的 RL 训练。与 GEPA 或情节化 RAG 等非参数方法相比,CORE 不直接复用原始推理轨迹,而是从对比中提炼高级策略,从而避免了冗长的上下文和冗余信息。这使得 CORE 在固定 rollout 预算下,能以更短的上下文实现相当甚至更优的性能,同时知识存储为紧凑、可解释的洞察,提高了可靠性和审计能力。
行业影响
落地场景
CORE 为推理成本敏感且需快速适应的应用提供了高效的自改进路径。在智能客服中,利用少量成功/失败的对话案例即可提炼投诉处理策略,动态优化客服机器人的回答模板;在代码辅助工具(如 GitHub Copilot)中,可从代码评审反馈中抽象出编码规范与常见错误模式,直接作为生成约束注入,无需积累大量标注样本进行微调。其他场景还包括教育辅导的解题策略优化、金融报告生成等。
商业价值
CORE 在样本效率和上下文效率上优势显著。它仅需极少训练样本(实验中低至 5 个)和 rollout 次数即可实现可观的推理性能提升,大幅降低了强化学习微调的算力开销。由于不修改模型权重,避免了大规模训练和存储成本。同时,生成的洞察紧凑且可解释,使推理时额外注入的 token 数量远少于其他非参数方法,直接降低了 LLM API 调用费用,并缩短响应延迟,对大规模商用部署极具吸引力。
与现有工作流的集成
CORE 可作为外部记忆模块无缝嵌入现有 LLM 管线。它与 LangChain、LlamaIndex 等框架天然兼容:将洞察向量化存储,按相似度检索后拼入系统提示。它还能与 RLHF 或 DPO 流程互补——先通过 CORE 发现高价值推理策略,再将其融入奖励模型或直接用于在线微调,提升对齐效率。其自然语言输出便于人工审核与迭代,让自改进循环更透明可控。
具体落地案例
- 自动化代码评审:CI/CD 平台集成 CORE,对比代码变更的通过/驳回历史,自动生成"禁止在关键路径使用递归""数据库查询需显式指定索引"等约束,作为 MR 的辅助检查提示。
- 金融合规报告生成:利用过往审计中"通过"与"驳回"的报告样本,CORE 归纳出合规要求的核心逻辑和表述模式,以极简上下文指导模型生成符合监管的报告,大幅减少人工复核工作量。
局限
- CORE 依赖**可验证奖励**(verifiable rewards),仅适用于答案可自动判定的推理任务(如数学、逻辑),对于开放式生成、主观评估等无法定义成功/失败对比的任务则难以应用。此外,insight 的生成质量高度依赖基座模型的**元认知能力**:如果模型初始推理能力较弱,它可能无法有效总结出有价值的策略差异,导致反思空洞或无益。因此,方法在弱模型或非常规任务上的增益有限,泛化边界尚不清晰。
- 作为**非参数方法**,CORE 在推理时需动态检索并注入自然语言 insight 到 prompt 中,虽然比基线上下文效率更高,但随着训练进行 insight 库容量增长,仍可能触及模型上下文窗口限制,且检索机制自身的计算开销和可能的噪声注入未充分分析。此外,实验中仅覆盖四个标准化推理任务,对需要长期规划、多步交互的真实场景(如 agentic 任务)的表现未知,insight 可能过拟合于训练集分布,跨任务迁移性存疑。