微信扫码
添加专属顾问
我要投稿
AI推理技术的革新突破,让模型推理更可靠、更透明!核心内容:1. 论文提出的三个主要创新点:知识图谱、RAG和伪程序式提示2. 知识图谱驱动的链式思维生成,提升推理可靠性和可解释性3. 可学习的知识案例式RAG和伪程序式提示执行,降低逻辑错误和歧义
❝一句话概括:当大模型开始学会用知识图谱当"脚手架"、RAG当"外挂知识库"、伪代码当"防摸鱼进度表",从此推理不再放飞自我,妈妈再也不用担心我的幻觉啦!
从论文内容来看,它主要提出了三个创新或改进点,每个点都围绕如何让大型语言模型在复杂推理时更可信、更可控,以及如何在保持可解释性的同时,提升推理准确度和执行效率。
知识图谱驱动的链式思维生成(Knowledge Graph-driven CoT Generation)
可学习的知识案例式RAG(Learnable Knowledge Case-aware RAG)
伪程序式提示执行(Pseudo-Program Prompting Execution)
综合而言,论文的三个主要创新点都指向一个核心目标:在大型语言模型做多步推理时,通过“知识图谱”+“RAG”+“伪程序”这三种机制,既能保障推理链的正确性,又能让推理细节清晰透明。
从论文整体内容和作者给出的实验可以看出,有几个关键概念对理解整个方法至关重要,并且相对抽象或容易让人困惑:
决策树到知识图谱的转换
在知识图谱中融合RAG检索思路
伪程序(Pseudo-Program)形式的提示与执行
在上述三个关键概念里,“决策树→知识图谱的拆解与结构化”与“伪程序化的链式思维执行”这两个部分,通常是读者理解时会遇到的主要难点,需要格外关注。
基于论文的三个创新点,可以把它们的关系简单梳理为如下顺序:
因此,在后续更深入的解释和展开中,最合适的切入点往往是“先理解决策树如何转化为知识图谱”这个流程,之后才能自然过渡到“在知识图谱上如何进行检索增强”,最后才能明白“伪程序式提示”是如何将前面两步的成果执行出来的。
第一阶段总结
接下来,读者如果想要深度掌握论文的思想,需要先对“决策树与知识图谱的对应关系”以及“伪程序提示”的具体形式有清晰认知。
❝提示:下一步(第二阶段)会深入讲解其中最具有挑战性或最不直观的概念,并通过生活化比喻和对应到实际技术细节的方式,让读者获得更清晰的理解。随后(第三阶段)会用更加细节的流程描述,帮助读者掌握论文提出的完整方案如何一步步把输入转化为最终输出。
在本阶段,我们将针对第一阶段中所提到的两个最具挑战性的概念——决策树到知识图谱的转换以及伪程序式提示——进行更深入的阐释。为了帮助读者理解,我们先用一个生活化比喻来直观展示这些概念的核心机制,再将比喻与论文中的实际技术内容进行对应,最后结合论文中唯一接近公式化的内容(时间复杂度分析)来展开技术细节的解释。
比喻主题:盖一座分步骤完成的“拼装房”
日常场景/活动:想象你要在空地上盖一座房子,但房子不是一次性盖好的,而是先通过“建筑师”设计了一个粗略蓝图(决策树),随后由一个“工程承包商”将这个蓝图细化为详细的施工图(知识图谱),并且每个细节在施工时还可能需要额外的材料或信息(RAG部分)。最后,在正式动工时,施工方会按照“程序化”的工程进度表一步步执行(伪程序式提示),从而高效率且有条理地完成盖房子这件事。
为何选择此比喻:
下面列出比喻中的关键元素,并说明与论文中主要技术概念的对应关系:
蓝图(粗粒度决策树)
施工图(知识图谱)
临时调配材料(RAG中的检索)
施工进度表(伪程序式提示)
为什么对应关系合理?
接下来,我们从这个房子比喻过渡到论文中的实际技术原理。论文的核心流程主要包括以下几点:
决策树到知识图谱
RAG检索
伪程序执行
这篇论文并未提供完整的数学方程,但在附录A.1中给出了对整体流程的时间复杂度估算。我们可以把它看作论文中最接近“原版公式”的内容:
❝原始数学形式
其中 代表决策树(或知识图谱)中的节点总数,表明整体运行时间与节点数量线性相关。
❝符号替换后的自然语言描述“整个方法的运行时间,会随着知识图谱中节点数目的增多而线性增长。”
换句话说,如果在房子施工的比喻中,房间数量(节点)越多,整个施工进度表也会变长,所需时间就会线性增加。
回到“盖拼装房”的场景,我们可以这样对应每一个技术点:
决策树转知识图谱 = 蓝图转施工图
RAG检索 = 及时购买或调用材料
伪程序执行 = 依照施工进度表逐步建造
关于时间复杂度 = 房屋施工所需人力物力也会线性增加
比喻的局限性
以上就是第二阶段对核心概念的深度解释。接下来,在第三阶段,我们会结合这一理解,为读者详细描述论文提出的完整模型或方案是如何一步步处理输入信息并得出最终结果的。届时会提供更流程化的描述,方便读者真正“复现”这一思路。
本阶段将对论文提出的完整模型或方案进行更具体、更流程化的描述,帮助读者从输入到输出一步步还原方法。将使用伪代码形式呈现,保证读者在没有阅读原论文的情况下,也能根据此说明重现核心流程。
以下描述分为三个主要步骤,与论文的三大模块(知识图谱驱动、RAG检索、伪程序执行)相对应。这里以一个示例“计算一个人需要几趟才能搬完所有桌上物品”为例,说明从输入到输出的关键处理过程。
1.识图谱驱动的CoT生成:从决策树到知识图谱
❝节点1:询问“目标搬运物品的数量是多少?” 节点2:询问“每次能搬运多少?” 节点3:输出“搬运多少趟?”
2.可学习的知识案例式RAG:检索填充信息
伪程序式提示执行:按序计算并输出结果
# Sub-question 1: 获取物品总数
total_items = 12
# Sub-question 2: 获取每次可搬运数量
items_per_trip = 4
# Sub-question 3: 计算总趟数
total_trips = total_items / items_per_trip # = 3
print("最终需要搬运的趟数是:", total_trips)
通过上面三个步骤,读者可以看到: 1)先利用“专家决策树”+“LLM拆解”生成知识图谱, 2)对用户输入进行“RAG检索”并填充实体, 3)将知识图谱转化为“伪程序”供LLM依次执行、得出结果。
在整个流程中,每一步的输出都可以自然地作为下一步的输入:
决策树→知识图谱
RAG检索
伪程序执行
这种“环环相扣”的结构让读者可以通过一系列中间产物(图中的每个节点、检索结果、伪程序文本),直观地检查或修改推理过程,实现可解释与可控的多步推理。
以下示例融合了论文提出的核心思路,给出一段“高层伪代码”。读者可将其改写为Python、C++或其他语言的版本,以便在实际系统中使用:
# -----------------------------------------
# 初始化:知识图谱驱动的CoT Generation
# -----------------------------------------
function KnowledgeGraphDrivenCoTGeneration(field, expert_modify):
decision_tree = ExpertBuildDecisionTree(field)
knowledge_graph = LLMDecompose(decision_tree) # 将粗粒度决策树拆成图
initial_pkg = LLMGeneratePseudoProgram(knowledge_graph)
if expert_modify:
initial_pkg = ExpertModify(initial_pkg)
return initial_pkg
# -----------------------------------------
# 第二步:可学习的案例式RAG
# -----------------------------------------
function KnowledgeCaseAwareRAG(initial_pkg):
user_description = GetUserInput() # 从用户获取长文本
updated_pkg = LLMExtractSubDescriptions(initial_pkg, user_description)
return updated_pkg
# -----------------------------------------
# 第三步:伪程序执行
# -----------------------------------------
function PseudoProgramExecution(updated_pkg):
final_answer = LLMExecutePseudoProgram(updated_pkg)
return final_answer
# 主流程:整体调用
function CoT_RAG_Main():
# 1) 知识图谱
pkg_stage1 = KnowledgeGraphDrivenCoTGeneration(field="carry_problem", expert_modify=False)
# 2) RAG检索填充
pkg_stage2 = KnowledgeCaseAwareRAG(pkg_stage1)
# 3) 伪程序化执行
answer = PseudoProgramExecution(pkg_stage2)
print("最终答案:", answer)
KnowledgeGraphDrivenCoTGeneration
:从领域专家构建的决策树出发,借助LLM生成一个包含所有子问题和依赖关系的“初始伪程序”。KnowledgeCaseAwareRAG
:对用户输入进行“检索”,将必要的子描述放入对应的子问题“槽”里。PseudoProgramExecution
:让大模型逐步“执行”这些子问题,输出最终答案。通过这样一个完整的分步流程,读者无需事先阅读论文原文,也能了解该方法从构建决策树、转换成知识图谱,到检索填充,再到最终伪程序执行的全过程。每一步都在强调可解释、可控、可扩展,对实际的大型语言模型多步推理任务具有很强的可操作性和通用性。
本文题目:CoT-RAG: Integrating Chain of Thought and Retrieval-Augmented Generation to Enhance Reasoning in Large Language Models
欢迎Deep Learning同好与我交流、讨论、合作!
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-05-10
拆解智能体系统的能力和构成,我们需要的是可靠的AI系统,而不是Agents
2025-05-10
如何构建基于n8n的RAG日报工作流(手把手教程)
2025-05-10
“深度搜索”远不止搜索,更像人人都能用的Agent
2025-05-10
参数不到1B竟碾压大模型?工具调用RAG黑马问世
2025-05-10
RAGFlow实践:快速实现知识库的智能检索
2025-05-10
关于大模型应用过程中的记忆功能管理问题,以及解决方案
2025-05-10
GraphRAG 工作步骤详解:从图的创建到搜索的实战示例
2025-05-10
Coze搭建RAG应用,解锁数据分析知识库
2024-10-27
2024-09-04
2024-05-05
2024-07-18
2024-06-20
2024-06-13
2024-07-09
2024-07-09
2024-05-19
2024-07-07
2025-05-08
2025-05-05
2025-04-30
2025-04-29
2025-04-29
2025-04-26
2025-04-25
2025-04-22