混合符号与神经代理
将经典人工智能(规划器、求解器)与 LLM 结合,实现可验证的推理。
混合符号与神经代理 是 CoddyKit 上的免费 AI Agents 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AI Agents 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AI Agents 课程共包含 4 节课。
本课时的部分内容尚未翻译,以英文显示。
超越纯 LLM
纯 LLM 智能体十分灵活,但在需要精确推理的任务(数学、规划、逻辑)上并不可靠。混合系统将 LLM 与经典符号工具结合起来,从而兼具灵活性和精确性。
符号工具示例
- 计算器 — 精确算术
- SAT 求解器 — 布尔可满足性
- SMT 求解器(Z3)— 约束系统
- 定理证明器(Lean、Coq)— 形式化证明
- 经典规划器(PDDL、STRIPS)— 带有保证的多步骤规划
模式:LLM 作为翻译器
LLM 将自然语言翻译为形式化语言;符号系统负责求解;LLM 负责解释:
user_query = 'Three students, three rooms, each room one student, Alice not in room 3, Bob in room 1 or 2...'
formal_constraints = llm_to_smt(user_query) # produces Z3 input
solution = z3_solve(formal_constraints)
explanation = llm_explain(solution)模式:符号规划器 + LLM 执行器
使用 PDDL 制定高级规划;由 LLM 执行每个步骤:
plan = pddl_planner.solve(domain, initial_state, goal)
for step in plan:
llm_execute(step) # LLM figures out HOW to do it模式:LLM 调用定理证明器
对于数学证明:
- LLM 提出证明概要
- Lean / Coq 检查每个步骤
- LLM 在被拒绝后进行修订
可以处理研究级数学问题(AlphaProof、DeepSeek-Prover)。
模式:知识图谱 + LLM
对于事实性查询,query 知识图谱(Neo4j、Wikidata)——获取经过验证的事实——然后让 LLM 组织答案:
facts = kg.query('SELECT ?spouse WHERE { :Einstein :spouse ?spouse }')
answer = llm.invoke(f'Format these facts: {facts}')模式:基于规则的 fallback
如果查询匹配已知规则,请直接使用该规则。仅对超出规则集的查询使用 LLM:
if rules.match(query):
return rules.apply(query)
return llm_fallback(query)为什么采用混合方案?
- 可靠性 — 符号系统不会产生幻觉
- 可验证性 — 可以检查解决方案
- 效率 — 在合适的任务上,精确方法更快
- 可解释性 — 形式化追踪信息能够展示推理过程
为什么纯符号方法无法单独工作
- 无法轻松读取自然语言
- 对细微变化十分脆弱
- 难以扩展
LLM 处理混乱的人类一侧;符号系统处理严谨的机器一侧。
神经符号研究
- DeepMind AlphaGeometry — 奥林匹克竞赛几何题
- AlphaProof — IMO 级数学
- OpenAI o1 — 在推理中进行隐式搜索 / 符号推理
- Google AlphaEvolve — 与验证器共同演化代码
自行构建
将符号系统封装为 LLM 工具:
tools = [
{'name': 'sat_solver', 'description': 'Solve a SAT problem in DIMACS format', 'parameters': ...},
{'name': 'symbolic_math', 'description': 'Solve an equation symbolically with sympy', 'parameters': ...}
]Tool: Sympy for Math
import sympy
from sympy import solve, symbols
x, y = symbols('x y')
result = solve([2*x + y - 5, x - y - 1], [x, y])
print(result)
# {x: 2, y: 1}Tool: Z3 for Constraints
from z3 import Solver, Int, And
s = Solver()
x = Int('x')
s.add(And(x > 5, x < 15, x % 3 == 0))
print(s.check()) # sat
print(s.model())生产环境注意事项
- 符号引擎可能会挂起 — 请设置超时
- 来自 LLM 的输入必须经过验证(语法有效的 PDDL、有效的 SMT)
- 构建紧密的反馈循环:求解器错误 -> LLM 修复输入
混合方案的优势
将 LLM 与符号系统结合,主要能带来什么?
回顾
混合智能体是一个重要的研究方向。LLM 作为翻译器,符号引擎作为求解器;LLM 作为规划器,符号检查器作为验证器。为智能体添加 sympy、Z3、PDDL 工具,就能获得全新类别的能力。
常见问题解答
「混合符号与神经代理」课时是免费的吗?
是的 — 「混合符号与神经代理」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AI Agents 课程的其余内容,请升级到 CoddyKit PRO。 AI Agents 课程共包含 4 节课。
「混合符号与神经代理」这节课中我会学到什么?
将经典人工智能(规划器、求解器)与 LLM 结合,实现可验证的推理。 你通过在浏览器中直接运行的动手代码来练习 AI Agents,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 AI Agents 需要有经验吗?
无需任何先前经验。CoddyKit 上的 AI Agents 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「混合符号与神经代理」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 AI Agents 课中编写并运行代码吗?
能。每节 AI Agents 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。