Forethought:基于神经符号基元编程的可验证推理

arXiv cs.AI 论文

摘要

Forethought 是一种神经符号推理系统,它将推理视为由符号与神经基元组合成的显式、可验证的程序。该系统可将基础模型准确率相对提升约 30%,使小模型在保持模型无关性与可审计性的同时,达到甚至超越前沿模型。

arXiv:2607.04096v1 公告类型:新 摘要:当前的智能体工作流通常将用户请求分解为一系列带正确解析参数的工具调用,其结果通过语言模型上下文窗口中的推理轨迹进行处理。改进此类推理的主流方法是测试时扩展,即训练模型搜索长思维链;但由此产生的能力纠缠在模型权重中,无法逐步骤验证,且推理成本高昂。我们提出 Forethought 神经符号推理系统,它将推理视为显式、可验证的程序,基于符号与神经基元库构建,并通过领域特定语言进行组合。最终生成的推理程序是模型工作过程的具体表示,因此可在部署前进行检查和修改。作为工具调用执行内核实例化,并在五个基准上评估后,Forethought 将基础模型准确率相对提升约 30%,优于普通提示、强化学习框架和提示演化方法,使小模型能够匹配甚至超越前沿模型能力。在直接对比中,使用 Forethought 增强的非推理模型可与专用推理模型竞争,同时所需的训练后投入减少约三个数量级,且保持模型无关性与可审计性。
查看原文
查看缓存全文

缓存时间: 2026/07/07 04:35

# Forethought: 来自神经符号化基础编程的可验证推理 来源:https://arxiv.org/html/2607.04096 ###### 摘要 当前基于智能体的工作流程通常涉及将用户请求分解为一系列工具调用,并正确解析参数,其结果通过语言模型上下文窗口中的推理轨迹进行处理。改进此类推理的主流途径是测试时扩展(test-time scaling),它训练模型搜索长思维链;但由此产生的能力纠缠在模型权重中,无法逐步验证,且推理成本高昂。本文提出**Forethought**,一个神经符号化推理系统,它将推理视为显式、可验证的程序,基于一组符号和神经基础元(primitives)构建,并通过领域特定语言(DSL)进行组合。其输出是**推理程序**,这是模型工作的具体表示,因此可以在部署前进行检查和修改。该系统被实例化为一个工具调用执行内核,并在五个基准测试上进行了评估。结果表明,**Forethought**将基础模型的准确率相对提升了约30%,优于普通提示(vanilla prompting)、强化学习框架(reinforcement-learning scaffolds)和提示进化方法(prompt-evolution methods),使小模型能够匹敌或超越前沿模型的能力。在直接比较中,一个非推理模型在增强**Forethought**后,与专用推理模型竞争,同时所需的训练后投入(post-training investment)大约低三个数量级,并且保持模型无关和可审计性。

## 引言

大型语言模型越来越被部署为需要跨多步推理并调用外部工具来完成任务的中介。这种转变——从单轮文本生成到多轮、使用工具的中介——使得**推理可靠性**成为核心关注点。一个必须选择正确的函数、从上下文中解析其参数、尊重步骤之间的依赖关系并在轮次之间保持状态的中介,有很多失败的机会,单个错误步骤可能使整个轨迹失效(Patil 等人,2024 (https://arxiv.org/html/2607.04096#bib.bib6);Yao 等人,2024 (https://arxiv.org/html/2607.04096#bib.bib7))。随着这些系统进入生产环境以及受监管领域,仅靠准确性已不足够:它们的推理还必须高效、经济且可审计。

当前改进推理的主流方法是扩展推理时的计算量。诸如 DeepSeek-R1(Guo 等人,2025 (https://arxiv.org/html/2607.04096#bib.bib1))这样的推理语言模型通过强化学习训练产生扩展的思维链轨迹,越来越多的工作将这些测试时扩展方法组织为对推理链、树和图的结构化搜索(Zhang 等人,2026 (https://arxiv.org/html/2607.04096#bib.bib2))。这一范式取得了令人印象深刻的结果,但它有三个显著缺点。首先,推理能力纠缠在模型权重中:它是昂贵的、特定于模型的训练产物,不能迁移到其他基础模型。其次,推理过程是随机且不可验证的——推理模型会产生一段看似合理的自然语言链,但没有任何形式保证任何给定步骤是正确的,错误只能通过模型自身的不可靠自我监控来检测。第三,扩展的推理链在推理时成本高昂,有时消耗的 token 数量是底层任务所需的多倍。

另一种替代工作将推理视为对语言模型模块的显式程序。声明性框架如 DSPy(Khattab 等人,2024 (https://arxiv.org/html/2607.04096#bib.bib4))和反思性提示优化器如 GEPA(Agrawal 等人,2026 (https://arxiv.org/html/2607.04096#bib.bib3))组合并优化多步流水线(pipelines),而神经符号化方法如 Logic-LM(Pan 等人,2023 (https://arxiv.org/html/2607.04096#bib.bib8))和神经符号化程序合成(Ganguly 等人,2024 (https://arxiv.org/html/2607.04096#bib.bib9))将验证卸载到符号组件。这些方法引入了有价值的结构,但现有系统要么只优化文本组件(提示、演示)而不验证中间输出,要么针对逻辑和数学等具有清晰符号规范的形式化领域。两者都不能完全解决基于智能体的工具调用问题,在该问题中推理必须可靠且可验证,但领域缺少定理证明器那样的清晰形式语义。

在本文中,我们提出**Forethought**,一个用于智能体工具调用的神经符号化推理系统,它使推理变得显式、可验证且与模型无关。我们的核心思想是将推理分解为一个基础元(primitives)库——这些基础元是狭窄的推理操作,通过符号方式或作为微调的小型语言模型(SLMs)实现——每个基础元都带有一个类型化的**输出契约**(output contract),指定其输出必须满足的属性。基础元通过一个嵌入 Python 的领域特定语言(DSL)组合成结构化的推理程序,并由一个引擎执行,该引擎根据契约验证每个基础元的输出,并生成逐步验证的轨迹。由于推理程序被表示为可分析的数据结构而非不透明的链条,它可以在**设计时**(design time)被检查和审计:开发者通过推理局部契约及其组合来在部署前建立程序的正确性,而不是在运行时发现错误。我们将这种设计时验证视为我们准确率提升的主要来源。

这种架构直接解决了测试时扩展的三个成本。推理结构是显式且与模型无关的——同一程序可以在任何能够执行其基础元的基础模型上运行——因此无需重新训练即可迁移。每一步都是可验证的,提供了受监管部署所需的可审计性。并且由于推理由通过约束程序组合起来的小型专用模型承担,而非通过扩展的随机搜索,因此计算和数据效率要高得多。我们的方法利用了一个关键观察:模型输出的形式化契约既保证正确性,又剪枝候选程序空间;我们将这些见解发展为一个可组合的基础元库,带有设计时验证工作流程,并在多个智能体基准测试上大规模展示其效果。

我们在五个涵盖多个领域的工具调用基准测试上评估了我们的系统,与普通 LLM 提示、基于强化学习的框架和反思性提示进化进行比较。我们实验证明,**Forethought** 在增强多种基础模型时持续实现了性能提升,并且相对于其他替代性工程化方法(harness engineering approaches)也表现出优势。具体来说,我们的贡献如下:

- • 我们介绍了 **Forethought**,一个用于工具调用的神经符号化推理架构,基于可验证的基础元(确定性和基于 SLM 的)构建,通过一个带有类型化契约和逐步验证的嵌入式 DSL 进行组合。
- • 我们将工具调用执行内核形式化为五个可组合的子过程,具有显式契约和跨过程不变性,并描述了一种设计时验证工作流程,在该流程中推理程序在部署前被验证。
- • 我们展示了我们的方法在推理密集型任务上将基础模型性能相对提升 30–60%,在五个基准测试上优于普通提示、强化学习框架和反思性提示优化,并使小模型能够以较低的推理成本匹敌或超越普通提示下的前沿模型。
- • 我们证明,一个非推理基础模型在增强我们的神经符号化程序后,与通过昂贵多阶段流水线训练的专用推理模型竞争,同时所需的训练后投入大约低三个数量级,并分析了结构化验证为何在随机缩放存在结构局限时取得成功。

## 相关工作

#### 推理增强与测试时扩展

推理语言模型如 DeepSeek-R1(Guo 等人,2025 (https://arxiv.org/html/2607.04096#bib.bib1))通过训练产生扩展的思维链轨迹,通过大规模随机搜索而非显式监督发展出自我验证和反思等行为。(Zhang 等人,2026 (https://arxiv.org/html/2607.04096#bib.bib2))调研了这一领域,并提出了一个模块化蓝图,将推理语言模型组织为推理结构(链、树、图)、搜索策略(蒙特卡洛树搜索、束搜索)和监督方案,表明许多先前方法是共同设计空间中的特例。从这个角度看,这些方法有三个我们工作要解决的缺点:推理能力纠缠在模型权重中,不能跨基础模型迁移;推理过程不可逐步验证;改进伴随着巨大的计算和数据成本。我们的方法则通过将推理构建为显式、可验证、与模型无关的程序。

#### 神经符号化推理

神经符号化方法将神经语言模型与符号结构相结合,以提高可靠性和可解释性。在 LLM 时代的早期工作中,自然语言推理被转化为形式化表示,卸载给外部求解器:Logic-LM(Pan 等人,2023 (https://arxiv.org/html/2607.04096#bib.bib8))将 LLM 与符号求解器耦合以进行可靠的逻辑推理;Ganguly 等人(2024 (https://arxiv.org/html/2607.04096#bib.bib9))使用神经符号化程序合成,通过生成经过定理证明器验证的程序来产生鲁棒且可解释的推理。最近的工作将神经符号化程序化扩展到具身和效率受限的设置中(Choi 等人,2025 (https://arxiv.org/html/2607.04096#bib.bib10))。这些方法表明,将验证卸载到符号组件可以提高可靠性,但它们通常针对具有清晰形式语义的逻辑或数学领域。我们的贡献有两个方面的不同:我们针对的是智能体工具调用而非形式逻辑;我们的符号结构是一个可组合的可验证基础元库,而非到外部求解器的翻译。

#### 声明式 LM 编程与提示优化

另一并行的工作将推理视为对语言模型模块的程序,并自动优化该程序。DSPy(Khattab 等人,2024 (https://arxiv.org/html/2607.04096#bib.bib4))引入了声明式语言模型程序,它们编译成自我改进的流水线,通过优化提示和演示。GEPA(Agrawal 等人,2026 (https://arxiv.org/html/2607.04096#bib.bib3))通过反思性、遗传-帕累托搜索进化针对特定任务的提示,使用自然语言反馈在少量轮次中提出改进的提示,并报告在显著更低的样本成本下优于强化学习基线。这些框架与我们的观点一致,即推理受益于显式程序结构,但它们优化的是原本非结构化流水线的**文本**组件(提示、演示),没有类型化契约或逐步输出验证。因此,组合的程序无法在设计时验证,错误只在推理时显现。

与我们的方法最相关的是 SEVerA(Banerjee 等人,2026 (https://arxiv.org/html/2607.04096#bib.bib5)),它通过强制执行模型调用的形式化输入-输出契约来合成具有可验证保证的自我进化智能体。SEVerA 和我们的工作共享一个核心洞察:模型输出的形式化契约既保证正确性,又剪枝候选程序空间,从而将合成引导向更高质量的智能体。我们的方法在侧重点上有所不同:SEVerA 侧重于带有一阶逻辑契约和约束满足的演绎程序合成,而我们侧重于一个可组合的基础元库,带有设计时验证工作流程,并在五个工具调用基准测试上大规模展示该方法。这两条工作线是互补的证据,表明可验证的、契约保护的组合是构建可靠智能体的有前景方向。

## 方法

现在我们详细描述 **Forethought** 的架构。该系统由三个核心组件组成:(1) 一个具有可验证输出契约的推理基础元库,(2) 一个嵌入 Python 的领域特定语言(DSL),用于将基础元组合成结构化的推理程序,以及 (3) 一个独立的执行引擎,用于解释、验证和优化组合后的程序。下面我们描述每个组件及其交互。

### 推理基础元库

我们系统的基础是一个推理**基础元**(primitives)库,每个负责实现一个狭窄、定义明确的推理操作。这些基础元可以根据实现方式分为两组:

#### 符号基础元(Symbolic Primitives)

这些操作的语义可以表达为形式化、符号化的程序,从而通过构造保证正确性。例如类型检查、格式验证、约束传播、模式匹配和结构转换。给定输入时,它们的输出是确定性的,并且可以通过重新执行操作轻松验证正确性。

#### 基于 SLM 的基础元(SLM-Based Primitives)

这些通过微调的小型语言模型(SLMs)实现,每个模型在狭窄任务上训练,具有自然语言的输入输出语义,例如实体提取、关系分类、参数分解或逻辑蕴含检查。通过将每个 SLM 的范围限制为单个推理操作,我们利用了一个基本属性:**LLM 的可靠性与任务范围成反比**(Patil 等人,2024 (https://arxiv.org/html/2607.04096#bib.bib6);Yao 等人,2024 (https://arxiv.org/html/2607.04096#bib.bib7))。每个基于 SLM 的基础元在针对其操作策划的数据上训练,并针对覆盖预期输入分布的保留测试集进行评估。

每个符号或语言处理基础元都与一个**输出契约**关联:对其输出必须满足的属性进行形式化规范。契约可能包括类型约束(例如,输出必须是符合模式的 JSON 对象)、值约束(例如,提取的实体必须出现在源文本中)和语义约束(例如,分解必须共同覆盖原始查询)。契约在执行时自动检查,契约违规会触发结构化错误报告,指出失败的基础元、其输入以及被违反的特定约束。

#### 基础元设计原则

我们根据以下标准设计基础元:

- • **狭窄范围**:每个基础元执行单一的、定义明确的推理操作。这使得可以使用有限的训练数据进行可靠的微调,并进行有意义的输出验证。
- • **可组合性**:基础元的输入和输出是类型化的,使得可以在执行前对组合进行静态验证。
- • **独立性**:基础元是无状态且无副作用的,允许独立操作并行执行,并支持用于调试的确定性重放。
- • **可验证性**:可以在不访问真实标签的情况下,对照契约检查每个基础元的输出,从而实现生产环境中的运行时验证。

### 嵌入式领域特定语言

我们提供一个嵌入 Python 的 DSL,用于将基础元组合成结构化的推理程序。与通用编程语

相似文章

ThoughtFold: 通过内省偏好学习折叠推理链

arXiv cs.AI

ThoughtFold 提出了一种利用内省偏好学习的框架,旨在减少大型推理模型在思维链推理中的冗余探索,在 DeepSeek-R1-Distill-Qwen-7B 上实现了约 56% 的令牌减少,且准确率无损。

结构化思维:改进推理与上下文剪枝

arXiv cs.CL

本文介绍了结构化思维(Structured Thoughts),这是一个将大语言模型推理过程组织成交替的<try>和<outcome>块的框架,实现了上下文剪枝,并在推理基准测试上将性能提升高达8.08%,同时节省了85%的内存。

检测前沿推理模型中的不当行为

OpenAI Blog

OpenAI研究人员展示了思维链监控可以检测o3-mini等前沿推理模型中的不当行为,但警告说直接优化思维链来防止不良想法会导致模型隐藏意图,而不是消除行为。