推导提示:一种基于逻辑的增强检索生成改进方法

arXiv cs.CL 论文

摘要

推导提示引入了一种受逻辑启发的提示方法,用于检索增强生成,该方法构建可解释的推导树,从而改善推理并减少知识密集型问答任务中的幻觉。

arXiv:2605.14053v1 公告类型:新 摘要:大型语言模型在问答任务中的应用显示出巨大潜力,但在使用这些模型时,尤其是在知识密集型、特定领域的任务中,会出现幻觉和错误推理等重要挑战。为了解决这些问题,我们引入了推导提示,这是一种针对检索增强生成框架生成步骤的新型提示技术。受逻辑推导启发,该方法通过系统应用预定义规则从初始假设中推导出结论。它构建了一个可解释的推导树,并增强了对生成过程的控制。我们在一个具体案例研究中应用了该方法,与传统RAG和长上下文窗口方法相比,显著减少了不可接受的答案。
查看原文
查看缓存全文

缓存时间: 2026/05/15 06:18

# 推导提示:一种基于逻辑的检索增强生成改进方法
来源:https://arxiv.org/html/2605.14053
11institutetext:Instituto de Computación, Facultad de Ingeniería, Universidad de la República
蒙得维的亚,乌拉圭
11email:\{isastre,gmonce,aialar\}@fing\.edu\.uy###### 摘要

大型语言模型在问答任务中的应用展现了巨大潜力,但在使用这些模型时,特别是在知识密集、特定领域的任务中,会出现幻觉和错误推理等重大挑战。为了解决这些问题,我们引入了推导提示(Derivation Prompting),这是一种针对检索增强生成框架中生成步骤的新颖提示技术。该方法受逻辑推导启发,通过系统应用预定义规则,从初始假设中推导出结论。它构建了一个可解释的推导树,并增加了对生成过程的控制。我们在一个具体案例研究中应用了该方法,与传统RAG和长上下文窗口方法相比,显著减少了不可接受的答案。¹¹包含所有提示的仓库:https://github.com/nsuruguay05/derivation-prompting

## 1 引言

随着大型语言模型(LLM)的出现,问答(QA)技术得到了显著提升。然而,这些模型仍面临重要挑战,特别是在知识密集型、特定领域的任务中,例如幻觉和错误推理[13(https://arxiv.org/html/2605.14053#bib.bib21),5(https://arxiv.org/html/2605.14053#bib.bib20)]。检索增强生成(RAG)框架通过从可信的领域特定文档库中检索最相关的文档片段,并将LLM的生成过程基于检索到的信息,从而解决了这些局限性[2(https://arxiv.org/html/2605.14053#bib.bib13)]。

<参考图例>图1:使用推导提示构建的推导树示意图。

大量工作致力于提升LLM的推理能力[3(https://arxiv.org/html/2605.14053#bib.bib14)]。诸如思维链(CoT)[15(https://arxiv.org/html/2605.14053#bib.bib15)]等技术已在各种任务中稳定地提升了性能,包括QA。然而,这些技术并未明确定义模型应如何推理,因为中间推理步骤的构建方式没有限制。

在这项工作中,我们提出了推导提示,这是一种受逻辑推导启发的、用于RAG框架生成步骤的替代方法。在该方法中,通过应用定义良好的规则来转换和/或组合初始假设,从而推断出结论。这种新颖的方法相比现有方法具有一些优势,主要是:

- •**可解释性:** 该方法不仅生成最终答案,还生成一个树形结构,称为推导(见图1(https://arxiv.org/html/2605.14053#S1.F1))。推导中的每个节点代表应用一个易于解释的规则,该规则转换其某些子节点。这种结构提供了一种直接的方式来识别模型可能犯的错误,并理解其如何得出最终答案。
- •**受控生成:** 通过按顺序应用预定义规则来生成答案,该方法为模型提供了一个更清晰的推理路径。这减少了幻觉和错误推理,同时确保生成的答案始终基于文档中的信息。

本文结构如下:第2节(https://arxiv.org/html/2605.14053#S2)介绍相关工作。第3节(https://arxiv.org/html/2605.14053#S3)详细解释推导提示。第4节(https://arxiv.org/html/2605.14053#S4)描述所进行的案例研究。第5节(https://arxiv.org/html/2605.14053#S5)说明所使用的评估方法。第6节(https://arxiv.org/html/2605.14053#S6)展示结果与分析。最后,第7节(https://arxiv.org/html/2605.14053#S7)包含结论并概述未来工作。

## 2 相关工作

**检索增强生成**

本文提出的推导提示是一种应用于检索增强生成(RAG)框架内的提示技术。RAG通过一个检索组件增强LLM,该组件从外部知识库中恢复最相关的信息[8(https://arxiv.org/html/2605.14053#bib.bib16),4(https://arxiv.org/html/2605.14053#bib.bib17),11(https://arxiv.org/html/2605.14053#bib.bib18)]。

朴素RAG范式包括两个主要步骤:检索和生成。首先,文档被分割成更小的单元,称为块(chunks),然后转换为向量表示。在用户查询时,检索步骤将查询转换为向量表示,并计算查询与索引块之间的相似度分数。检索出前k个块,并将其作为生成步骤中提示的上下文[2(https://arxiv.org/html/2605.14053#bib.bib13)]。

另一种替代使用向量表示的方法是采用交叉编码器模型,该模型直接处理每个块与查询,并返回相似度分数[9(https://arxiv.org/html/2605.14053#bib.bib24),10(https://arxiv.org/html/2605.14053#bib.bib23)]。虽然这种方法往往能产生更好的结果,但计算效率显著降低,因为每个查询需要与块数量相同的模型推理次数,而使用句子嵌入时只需要一次推理。

**增强推理的提示技术**

大量工作致力于提升LLM的推理能力[3(https://arxiv.org/html/2605.14053#bib.bib14)]。思维链(CoT)[15(https://arxiv.org/html/2605.14053#bib.bib15)]涉及提示模型生成一系列连贯的中间推理步骤,这些步骤最终导向最终答案。应用少样本提示[1(https://arxiv.org/html/2605.14053#bib.bib4)],并在每个示例中添加思维链。他们证明,足够大的LLM可以生成这些推理链,在算术、常识和符号推理任务中取得了有前景的结果。

思维树(ToT)框架[17(https://arxiv.org/html/2605.14053#bib.bib19)]是CoT的演进,使模型能够探索多种不同的推理路径。在该方法中,推理被概念化为搜索一棵树,其中每个节点代表一个想法。该框架解决了CoT的一些局限性,例如无法在同一推理链中探索不同的延续,或在得出错误结论时无法回溯。

虽然这些方法在各种任务上显著提高了性能,但无法控制每个想法在链中是如何生成的,因为模型没有必须遵循的系统方法论。这种控制的缺失可能导致错误推理并容易产生幻觉,这是使用LLM时众所周知的问题[13(https://arxiv.org/html/2605.14053#bib.bib21),5(https://arxiv.org/html/2605.14053#bib.bib20)]。

**逻辑与LLM**

与推导提示类似,一些工作探索将经典逻辑与提示技术相结合以提高推理能力。逻辑思维(LoT)提示框架[18(https://arxiv.org/html/2605.14053#bib.bib1)]使用逻辑等价,以各种逻辑等价形式表达前提,以鼓励探索不同的解决方案。这是通过为每个想法添加一个验证步骤来实现的,其中为想法本身及其逻辑否定都生成解释。然后要求LLM在两者之间做出决定。

符号CoT(SymbCoT)[16(https://arxiv.org/html/2605.14053#bib.bib22)]是另一种提出的方法,涉及四个LLM模块:(i)翻译器:将前提和问题翻译成一阶逻辑公式,(ii)规划器:将原始问题分解为更小的子问题并制定逐步计划,(iii)求解器:通过逻辑推理过程推导答案,以及(iv)验证器:验证翻译和求解器输出的正确性。

## 3 推导提示

该技术专注于检索增强生成(RAG)框架的生成步骤。它基于一个前提:给定查询的预期答案必须通过组合和/或转换从文档库中提取的最相关信息来获得,因为我们的目标是仅依赖文档中的可用信息,而不是模型在训练阶段可能学到的信息。

该技术的灵感来源于命题逻辑中推导树的构建方式。在此上下文中,结论φ\\varphi是从一组前提或假设Γ=\{δ1,...,δn\}\\Gamma=\\\{\\delta\_\{1\},\\dots,\\delta\_\{n\}\\\}中推导出来的。如果存在这样的推导,我们记作Γ⊢φ\\Gamma\\vdash\\varphi。推导类构成一个归纳定义集,其特征是一系列推理规则,这些规则明确规定了如何从现有结论中推导出新结论。这些规则通过系统地对前提应用逻辑运算来构建一棵树,其中每个节点代表一条规则的应用,最终在根节点得到结论[14(https://arxiv.org/html/2605.14053#bib.bib3)]。图2(https://arxiv.org/html/2605.14053#S3.F2)展示了一个逻辑推导的示例。

<参考图例>图2:证明语句p1∧p2⊢p2∧p1p\_\{1\}\\wedge p\_\{2\}\\vdash p\_\{2\}\\wedge p\_\{1\}的推导示例,其中p1p\_\{1\}和p2p\_\{2\}是命题符号,E∧E\\wedge和I∧I\\wedge分别是∧\\wedge的消去和引入规则,如[14(https://arxiv.org/html/2605.14053#bib.bib3)]中所定义。

在典型的RAG框架中,文档被分成称为块(chunks)的更小单元。给定一个查询,选择最相关的n个块,并将其用作生成答案的上下文。遵循逻辑推导的类比,在推导提示中,我们将这些最相关的块视为一组假设\{h1,...,hn\}\\\{h\_\{1\},\\dots,h\_\{n\}\\\}。目标是使用预定义的自然语言规则构建一个推导树,最终推导出结论c,使得h1,...,hn⊢ch\_\{1\},\\dots,h\_\{n\}\\vdash c,如图1(https://arxiv.org/html/2605.14053#S1.F1)所示。

与逻辑推导不同(我们通常从候选结论开始并寻找构建证明),在这种情况下,结论是事先未知的。因此,需要一个查询qq来指导推导树的构建,目标是使最终结论成为查询qq的答案。

在推导构建的每一步中,LLM需要完成的任务包括:决定应用哪条规则,选择合适的假设,并生成应用所选规则后得出的结论。虽然让LLM决定应用哪条规则可能看起来违反直觉,但由于LLM能够在规则解释和假设中消除自然语言的歧义,这是使该方法可行的关键方面。

### 3.1 规则

对于推导提示,必须定义一组推导规则。这些规则用自然语言指定,并由语言模型用于构建推导树。我们根据我们的用例(第4节(https://arxiv.org/html/2605.14053#S4))定义了一组方便的推导规则。需要注意的是,这些规则是针对该特定问题的,可以根据不同用例中所需的组合和/或转换类型定义任何一组最合适的规则。表1(https://arxiv.org/html/2605.14053#S3.T1)展示了每条规则及其描述,图3(https://arxiv.org/html/2605.14053#S3.F3)展示了每条规则的一个简单示例。

表1:定义的规则列表及简要描述。

<参考图例>图3:每条规则应用的简单示例。为便于理解,示例(E)和(F)包含了查询信息。

### 3.2 算法

算法1(https://arxiv.org/html/2605.14053#alg1)展示了构建推导的伪代码。在详细查看算法时,需要注意的是,第3、4和5行对应LLM应执行的步骤。LLM的职责是决定应用哪条规则以及使用哪些假设,并构建应用所选规则后得出的结论。此外,LLM还用于确定结论是否是用户查询的最终答案。

算法1 推导提示伪代码

1:
    hypotheses\_list=\{h1,...,hn\}hypotheses\\\_list=\\\{h\_\{1\},\\dots,h\_\{n\}\\\}: 假设列表,
    qq: 查询

2:
    final\_answer←Falsefinal\\\_answer\\leftarrow\\textbf{False}
3: 当 not
    final\_answerfinal\\\_answer 时执行

4:    决定应用哪条规则
    rr

5:    决定对哪些假设
    \{hi,...,hk\}\\\{h\_\{i\},\\dots,h\_\{k\}\\\} 应用
    rr

6:
    conclusion←conclusion\\leftarrow 在
    \{hi,...,hk\}\\\{h\_\{i\},\\dots,h\_\{k\}\\\} 和查询
    qq 上应用规则
    rr

7:    如果
    conclusionconclusion 是最终答案则

8:
    final\_answer←Truefinal\\\_answer\\leftarrow\\textbf{True}
9:    否则

10:
    hypotheses\_list.append(conclusion)hypotheses\\\_list.append(conclusion)
11:    结束如果

12: 结束循环

13: 返回
    conclusionconclusion

算法的其余部分很简单。如果结论被认为是最终答案,则推导完成,并将最后一个结论用作答案。如果不是,则将结论添加到假设列表中,并可在后续规则应用中(尽管可能永远不会被使用)。可选地,可以存储每次规则应用及其参数和结论的指针,以便以后重建推导树。

我们探索了实现上述算法的不同方式,并考虑了两种主要替代方案:

1. 1.**单步提示:** 这种方法将每次规则应用作为一个独立的LLM调用。给定推导过程中的假设列表,模型被提示在一次推理中输出要应用的规则、要使用的假设、得出的结论以及是否是最终答案。该算法的实现类似于算法1(https://arxiv.org/html/2605.14053#alg1),其中第3、4和5行被对LLM的单一调用所取代,然后解析结果。
2. 2.**完整推导提示:** 与前一种替代方案不同,这种方法允许LLM在一次推理调用中构建完整的推导,有效地模拟算法1(https://arxiv.org/html/2605.14053#alg1)的执行。为此,我们应用了少样本策略[1(https://arxiv.org/html/2605.14053#bib.bib4)],精心制作了六个手动执行算法的完整示例,以使用所有规则创建不同的推导(附录0.A(https://arxiv.org/html/2605.14053#Pt0.A1)显示了其中一个示例)。然后提示模型使用新的查询和初始假设遵循相同的步骤。然后解析结果以获得每个规则执行和中间假设。

在我们的实验中,第二种方法的结果与第一种方法一样好,但速度更快,计算成本更低,因为它用一次LLM推理替换了n次推理。因此,我们决定广泛使用完整推导方法。

## 4 案例研究

我们在一个特定的用例背景下研究了这一想法:开发一个行政领域问答平台。

相似文章

发散诱导提示:零样本推理的多理由归纳

arXiv cs.AI

发散诱导提示(DIP)通过首先生成多个多样化的理由,将每个理由详细阐述为一个详细计划,然后归纳出最终计划,从而增强零样本推理,其性能优于单一策略提示方法。

基于外部子图生成的大语言模型逐步推理增强

arXiv cs.CL

本文提出了SGR框架,通过查询相关的子图生成将外部知识图谱与大语言模型相结合,融合基于Cypher的推理与协同推理集成,从而增强大语言模型的逐步推理能力。在CWQ、WebQSP、GrailQA和KQA Pro上的实验表明,该框架相比标准提示方法和知识增强基线具有更高的推理准确性。

提示词基础

OpenAI Blog

OpenAI Academy 关于提示词基础的指南,教导用户如何编写清晰、有效的提示词,通过诸如明确具体、添加背景、指定输出格式以及分解复杂任务等技巧,从 ChatGPT 获得更好的回复。

为什么检索增强生成会失败:图视角

arXiv cs.CL

本文探讨了检索增强生成(RAG)系统即使在获取到正确证据的情况下仍然失败的原因。通过电路追踪和归因图,作者发现正确的预测展现出更深的推理路径和更分散的证据流,而失败则表现为浅层、碎片化的模式。他们提出了一个基于图的错误检测框架和有针对性的干预措施,以提高RAG的可靠性。