Skip to content

与现代方法的关系

本页说明符号主义这条线为什么没有死:它的核心思想以 RAG、神经符号 AI 等形式嵌入了今天的深度学习与 LLM 系统。2025 年,神经符号 AI 被称为”第三次 AI 浪潮”——第一次是基于逻辑的符号 AI(1980s—2000s),第二次是连接主义(Connectionism,即神经网络与深度学习,2015 至今),第三次正是两者的融合。

Kahneman 在《思考,快与慢》中把人类思维分为两个系统:

  • System 1(快思考)= 直觉、模式识别——你一眼认出朋友的脸,不用思考。≈ 深度学习:擅长感知(perception),快但不可解释。
  • System 2(慢思考)= 推理、规划、逻辑——你算 17×2417 \times 24 要一步步推导。≈ 符号推理:慢但精确、可验证。

从工程角度看,两者各有硬伤:纯神经网络(如 LLM)会出现幻觉(Hallucination,模型生成看似合理但实际错误的内容),因为它只是在拟合统计模式、没有真正的逻辑约束;纯符号系统(如经典专家系统)则过于刚性、无法处理模糊的感知输入。今天的 AI 正在把两者结合:用神经网络做感知(System 1),用符号方法做推理和验证(System 2)。这就是”神经符号 AI(Neuro-Symbolic AI)“的核心动机——用神经网络的泛化能力弥补符号系统的脆弱性,用符号推理的精确性约束神经网络的随意性。

Gary Marcus 的观点很有代表性:他说”如果不掌握符号操作的工具,我们就无法构建稳健的、知识驱动的 AI”,因为”大量有用的知识是抽象的,而迄今唯一能可靠操作这些抽象知识的机制就是符号操作”。

RAG(Retrieval-Augmented Generation,检索增强生成)把”知识”从模型参数中搬到了外部检索库——这正是专家系统”知识库与推理机分离”思想在 LLM 时代的延续:

理解 RAG 的关键是区分两种”知识存储”方式:

  • 参数化知识(Parametric Knowledge):知识编码在神经网络的权重参数中。优点是查询快;缺点是更新困难——要修改一个事实就必须重新训练或微调整个模型,而且无法精确控制模型”知道”什么。
  • 非参数化知识(Non-parametric Knowledge):知识存储在外部结构中(数据库、文档、知识图谱),通过检索访问。优点是更新只需改文档,且可以精确引用来源;缺点是依赖检索质量。

传统 LLM 把知识”烤”进参数里(更新知识要重新训练),RAG 把知识放在外部库中(更新只需改文档)。这和 MYCIN 把诊断规则存在知识库中而非硬编码在推理机里,是同一个设计哲学。MYCIN 的推理机只负责推理流程,规则可独立增删;RAG 的 LLM 只负责语言理解和生成,知识也可独立增删。

用 scikit-learn 的 TF-IDF(Term Frequency-Inverse Document Frequency,词频-逆文档频率,一种衡量词语对文档重要程度的统计方法)+ 余弦相似度(Cosine Similarity,通过计算两个向量夹角的余弦值来衡量相似度,值越接近 1 越相似)实现一个最小 RAG(实际生产用 embedding 模型替代 TF-IDF):

from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
import numpy as np
# 1. 准备知识库——在实际 RAG 系统中,这些文档来自 PDF、网页、数据库等,
# 需要经过清洗、分块(chunking)后存入向量数据库
docs = [
"Transformer 是大语言模型的基础架构,由 Google 于 2017 年提出",
"CNN 卷积神经网络擅长图像识别",
"RAG 通过检索外部知识库来增强生成质量",
"强化学习通过奖励信号学习最优策略",
]
vectorizer = TfidfVectorizer()
doc_vecs = vectorizer.fit_transform(docs) # 文档向量化:每篇文档变为一个高维向量
# 2. 检索:找到与问题最相关的文档
# 核心思路:把问题也转为向量,然后计算与每个文档向量的相似度
def retrieve(query, top_k=2):
q_vec = vectorizer.transform([query]) # 用同样的词表将查询向量化
scores = cosine_similarity(q_vec, doc_vecs).flatten() # 计算与每篇文档的余弦相似度
top = np.argsort(scores)[-top_k:][::-1] # 按相似度降序排列,取前 top_k 个
return [docs[i] for i in top]
# 3. 生成:把上下文 + 问题拼接(实际交给 LLM)
# 生产系统中,这里会调用 GPT/Claude 等模型的 API
def answer(query):
ctx = retrieve(query)
# 提示词工程的关键:明确告诉 LLM "根据以下信息回答",减少幻觉
prompt = f"根据以下信息回答:\n{ctx[0]}\n\n问题:{query}"
return f"[模拟 LLM]\n检索到: {ctx[0]}"
print(answer("Transformer 是什么?"))
# 检索到: Transformer 是大语言模型的基础架构...

为什么 TF-IDF 只是教学示例? TF-IDF 基于词频统计,无法理解语义——“汽车”和”轿车”是不同的词,相似度为 0。实际 RAG 使用 embedding 模型(如 OpenAI text-embedding-3、BGE 等),它将文本映射到连续向量空间,语义相近的文本向量距离也近,因此能匹配同义但不同字面的文档。

以下系统都属于神经符号混合架构。Henry Kautz 在 AAAI 2020 的演讲中提出了一个经典的六类分类法,根据神经和符号组件的组合方式区分这些架构——下表列出的是其中最具代表性的工业级系统:

系统神经部分(System 1)符号部分(System 2)效果
AlphaGo卷积网络评估棋盘价值MCTS(Monte Carlo Tree Search,蒙特卡洛树搜索)符号搜索击败围棋世界冠军
LLM 工具调用 / AgentLLM 理解用户意图调用 PDDL 规划器、代码解释器精确计算、多步规划
AlphaGeometry语言模型提出辅助构造(如”作一条辅助线”)符号推理引擎(DDAR)严格验证每一步推导IMO 金牌水平
AlphaProof Nexus语言模型生成证明思路Lean 定理证明器形式化验证证明多个 Erdős 开放问题
推理模型(o3 / DeepSeek-R1)Transformer 生成候选推理步骤RL 训练的搜索与验证机制数学/编程竞赛级推理

以上系统之所以能超越纯神经网络,关键在于分工互补:

  1. 神经网络负责”猜”:LLM 或 CNN 从海量数据中学到了模式和启发式知识(heuristics),擅长在巨大搜索空间中快速提出有希望的候选方向——比如 AlphaGeometry 中语言模型建议”在 A 点作一条平行线”。
  2. 符号引擎负责”验”:定理证明器、约束求解器等符号工具基于严格的数学规则,能保证推理的每一步都正确——比如 AlphaGeometry 的符号引擎验证那条辅助线确实能导出结论。
  3. 闭环迭代:如果符号引擎验证失败,反馈结果交给神经网络重新提出新思路,如此反复直到成功或资源耗尽。这种”生成-验证”循环(generate-and-verify loop)是当前神经符号架构的核心范式。

推理模型:System 2 的新范式(2024—2025)

Section titled “推理模型:System 2 的新范式(2024—2025)”

2024 年以来出现了一批推理模型(Reasoning Models)——OpenAI o1/o3、DeepSeek-R1 等,代表了 LLM 向 System 2 思考的跨越。

传统 LLM 是”快思考”:输入问题后直接逐 token 生成回答,中间没有显式的推理过程。推理模型则引入了测试时计算(Test-time Compute):模型在给出最终答案前,先生成大量的”思考 token”——展开思维链、自我纠错、尝试不同策略,本质上是把推理过程从”隐式参数计算”变成了”显式搜索”。

其训练方法的核心是强化学习(Reinforcement Learning, RL):用数学题和编程题的正确性作为奖励信号,训练模型学会”如何思考”而非仅仅”记住答案”。这与强化学习与 LLM 训练中讨论的 RLHF 方法一脉相承,但奖励不再是人类偏好,而是可精确验证的正确性——这本身就是一种符号验证。

推理模型可以看作神经符号融合的一种特殊形式:神经网络负责生成推理步骤(System 1 的感知与联想能力),RL 训练的搜索与验证机制约束推理的正确性(System 2 的逻辑与规划能力)。与 AlphaGeometry 不同的是,推理模型把这种搜索-验证循环”内化”到了单一神经网络中,而非依赖外部符号引擎。

  • RAG 比纯 LLM 优势在哪:知识可随时更新(改文档不用重新训练)、可引用来源(回答有据可查)、适合私有数据(不泄露给公开模型)。
  • RAG 的检索质量是瓶颈:如果检索器找不到正确的文档,再强的 LLM 也答不对。实际生产中检索器的调优(embedding 模型选择、chunk 策略、重排序)比生成模型更重要。
  • GraphRAG(2024):把知识图谱的精确关系查询和向量检索的模糊语义匹配结合起来——这是符号主义与深度学习融合的最新实践。
  • 神经符号是前沿方向:纯神经网络仍不擅长多步逻辑推理(数学证明、复杂规划),符号引擎在这些场景有不可替代的价值。

AI 搜索与企业知识库

  • RAG 问答系统:Perplexity AI 搜索引擎用 RAG 架构检索实时网页内容后由 LLM 生成带引用的回答,企业知识库 AI 助手(如 Glean、钉钉 AI 助理)用 RAG 在公司内部文档中检索答案,员工问”差旅报销标准是多少”即可获得精确到文档段落的结果。
  • GraphRAG 复杂关系分析:微软 GraphRAG 在传统向量检索之上叠加知识图谱关系查询,能回答”公司 A 的供应商和公司 B 的投资方是否有共同关联”这类需要多跳关系推理的问题,纯向量检索无法胜任。

智能 Agent

  • LLM 工具调用 Agent:ChatGPT、Claude 等通过 function calling 调用外部计算器、数据库、代码解释器等符号工具——LLM 负责理解用户意图(System 1),工具负责精确计算和逻辑验证(System 2),这正是神经符号架构在产品中的落地。
  • 代码生成与验证:GitHub Copilot、Cursor 等 AI 编程助手在 LLM 生成代码后调用编译器和测试用例做符号验证,神经网络负责”猜”代码、符号引擎负责”验”正确性,形成完整的生成-验证闭环。
类库语言说明
LangChainPython/JS最流行的 LLM 应用开发框架,内置 RAG 流水线、工具调用(Agent)与文档加载组件
LlamaIndexPython专注数据连接与 RAG 的框架,提供文档索引、检索与查询引擎的完整抽象
Z3Python/C++微软的 SMT 求解器,可用于 LLM Agent 的约束验证与形式推理模块
LarkPython轻量级解析库,适合为 LLM 工具调用构建自定义语法解析与结构化输出验证
Neo4j + GraphRAGCypher/Python图数据库配合微软 GraphRAG 方案,将知识图谱关系查询嵌入检索增强生成
术语英文解释
检索增强生成Retrieval-Augmented Generation (RAG)先从外部知识库检索相关文档,再拼入提示词交给 LLM 生成回答的架构
神经符号 AINeuro-Symbolic AI将神经网络(感知)与符号推理(逻辑验证)结合的混合架构
快慢思考System 1 / System 2Kahneman 提出的二元认知框架,常用于类比神经网络与符号推理的分工
工具调用Tool Use / Function CallingLLM 通过调用外部工具(计算器、数据库、代码解释器)完成精确推理的能力
GraphRAGGraph-based RAG在向量检索之上叠加知识图谱关系查询的 RAG 变体,能处理多跳推理问题
思维链Chain-of-Thought引导 LLM 逐步展开推理过程的提示技术,模拟 System 2 的慢思考
  • RAG:Lewis et al., NeurIPS 2020;Microsoft GraphRAG(2024)直接把知识图谱嵌入检索增强生成。RAG 在生成分类中的位置详见其他交叉分支。
  • 神经符号 AI 分类:Kautz(AAAI 2020 主席)的分类体系是常用的参考框架。
  • Kahneman System 1 / System 2:出自《思考,快与慢》(Thinking, Fast and Slow, 2011),这一二元框架常被用来描述神经符号混合架构的动机。