AI 推理入门:从 token 生成到 reasoning model、RAG 与 Agent
这篇是总览版。后续持续迭代会优先落在 AI 推理系列总览 和对应分篇里。
AI 推理入门
一开始我对“推理”这个词很混乱。
我会把很多东西混在一起:
- 给模型一段输入,然后它输出 token,这算不算推理?
- 大模型能回答复杂问题,是不是说明它真的像人一样在思考?
- reasoning model、思维链、RAG、memory、agent 这些词之间到底是什么关系?
聊下来以后,我发现理解 AI 推理,关键不是背术语,而是先把几个容易混淆的层次拆开。
一、什么是推理?
先不谈 AI,只用最朴素的话说:
推理 = 根据已有信息,推出一个没有被直接写出来的结论。
比如:
小明比小红高,小红比小刚高,所以小明最高。
题目里没有直接写“小明最高”,这个结论是根据已有关系推出的,所以这是推理。
推理的核心不是“内容看起来复杂”,而是:
输入里有条件和关系,输出里出现了一个新的结论。
二、推理和记忆有什么区别?
这个区分很重要。
记忆:直接取出已有事实。
推理:根据已有事实和规则推出新结论。
比如:
法国的首都是什么?
这更像记忆。
而:
今天是周五,三天后是周几?
这更像推理,因为需要根据“一周顺序”做一步处理。
现实中的任务往往不是纯记忆或纯推理,而是两者混合。区别只在于,最终答案更依赖哪一部分。
三、大模型里的“推理”是什么?
这里最容易混淆。
从底层机制看,大模型本质上仍然是在:
预测下一个 token
这一点非常重要。模型并没有突然跳出 token 生成,去启动一个独立的“思考器官”。
但从外部表现看,大模型有时会表现出推理能力,也就是:
它能根据输入中的条件、关系和上下文,
对问题做多步处理,
最后生成一个相对合理的结论。
所以更稳妥的理解是:
token 生成是机制,
推理是这种生成过程中表现出来的一种能力。
也可以压缩成一句:
大模型本质上是在预测 token,但这个过程有时会表现出推理能力。
四、演绎、归纳、溯因分别是什么?
这三个词听起来抽象,其实核心区别很简单:结论的来源不同,确定性也不同。
1. 演绎
从一般规则推出具体结论。
如果前提为真,结论必然为真。
例子:
所有人都会死。
苏格拉底是人。
所以苏格拉底会死。
2. 归纳
从多个具体观察总结一般规律。
结论通常是大概率成立,不是必然成立。
例子:
我见过的天鹅都是白色的。
所以天鹅大概都是白色的。
后来发现黑天鹅,就说明归纳可能被新证据推翻。
3. 溯因
从一个现象倒推出最可能的原因。
例子:
地面是湿的。
最可能的原因是刚下过雨。
但也可能是洒水车,所以这不是必然结论,而是“当前最合理解释”。
可以先把三者记成:
演绎:规则 -> 结论
归纳:样本 -> 规律
溯因:现象 -> 原因
大模型并不是只会其中一种。更接近事实的说法是:
模型可能表现出类似演绎、归纳、溯因的推理形式,但并不总是稳定。
五、什么样的问题才真正考验推理?
一个很有用的判断标准是:
如果答案可以直接从记忆中取出,更像知识调用。
如果答案需要把当前输入中的条件组织起来、经过中间步骤才能得到,更像推理。
比如:
法国的首都是什么?更像记忆。一个 API 请求经过网关、鉴权、服务层、数据库;如果网关正常、鉴权正常、服务层空指针,最可能问题在哪一层?更像推理。
真正考验推理的问题通常有几个特点:
- 答案没有直接写在输入里
- 需要处理多个关系或条件
- 可能涉及多步依赖
- 换一种表述、换一组元素之后,逻辑结构仍然能保持
所以判断模型是否真的在推理,不能只看它说得像不像,还要看:
- 结果是否正确
- 是否真的用了输入中的条件
- 换个表述后还能不能做对
- 多步过程里是否稳定,不自相矛盾
其中一个特别重要的指标是:
对结构相似但表面不同问题的泛化能力。
六、为什么模型“说得像模像样”,却不一定是真的在推理?
因为模型特别擅长生成很流畅、很像分析过程的文字。
它会写:
首先……
其次……
因此……
综上……
这很容易让人产生一种错觉:
它说得这么顺,应该是真的想明白了。
但问题在于:
语言形式像推理,不等于真的完成了可靠推理。
它可能只是:
- 把一个简单知识点展开说得很像分析
- 模仿了“推理文本”的表达风格
- 给错误答案也配上一段看起来合理的解释
所以判断模型是否真的在推理,关键不在于回答看起来多像分析过程,而在于:
它是否真的利用了输入条件,
是否真的经过了有效的中间处理,
是否真的得到了可靠结论。
七、什么是思维链?为什么“一步一步想”仍然会幻觉?
我最开始会把“推理”理解成“把问题拆成若干步骤”,后来发现这不完全对。
更准确地说:
推理是目标,
拆步骤是常见手段。
思维链可以先用最朴素的话理解为:
把从条件到结论之间的中间步骤显式写出来。
比如:
小明比小红高。
小红比小刚高。
所以小明最高。
这就是很简单的思维链。
所以三者关系可以先记成:
推理:根据条件推出结论
拆步骤:把求解过程分成中间环节
思维链:把这些中间环节表达出来
但这里有一个很重要的边界:
有思维链,不代表一定有可靠推理;
没有显式思维链,也不代表一定不会推理。
“让模型一步一步想”通常有帮助,因为它能:
- 更清楚地组织条件
- 更容易处理复杂问题
- 更方便人类检查错误在哪一步
但它仍然会幻觉,主要原因有四类:
- 某个中间步骤本身就错了
- 模型会模仿“推理的样子”,不等于真的完成了可靠求解
- 它没有像形式逻辑系统那样的严格事实校验器
- 链条一长,误差会积累
所以更准确的说法是:
一步一步想,能增加推理成功率,但不能保证推理正确。
八、为什么 reasoning model 有价值?
reasoning model 的价值,不是第一次让模型“拥有推理”,而是通常让模型在复杂任务上表现出更强的中间处理能力。
更合理的区分不是:
普通模型不会推理,reasoning model 才会推理
而是:
普通模型也可能表现出一定推理能力,
只是面对复杂、多步、强约束问题时通常更不稳定。
可以把两者粗略理解成:
普通模型:更容易直接给出一个看起来合理的答案。
reasoning model:更倾向于先处理问题结构,再给答案。
它通常更擅长:
- 拆解问题
- 保持约束条件
- 分步骤推进
- 在一定程度上检查自己的答案
但这里也要保留边界:
reasoning model 不是一定正确,只是通常在复杂问题上更可靠一些。
九、知识量和推理能力,谁更重要?
更接近事实的回答是:
两者都重要,但扮演的角色不同。
知识量决定“有什么材料”;
推理能力决定“怎么用这些材料”。
一个很直观的类比是:
知识像砖块,
推理像用砖块搭房子。
砖块很多,不代表房子一定搭得稳。
所以常见现象是:
模型知道很多,但一推就错。
这并不矛盾,因为:
- 记忆型问题更像直接取答案
- 推理型问题需要组织多个信息、保持条件、经过若干中间步骤
模型可能知道:
- HTTP 500 是服务端错误
- 空指针异常通常来自空对象访问
- 数据库事务是什么
但如果让它综合日志、链路、发布记录、依赖关系去定位故障,它就不一定稳定。
一句更适合记下来的话是:
知识提供可调用的材料,推理负责把材料按当前问题重新组织起来。
十、LLM 出现之前,AI 没有推理能力吗?
不是。
更准确地说:
LLM 出现之前,AI 并不是没有推理能力,而是不同系统的推理方式和范围差异很大。
比如:
- 规则系统可以做很强的演绎推理
- 搜索和规划系统可以做决策推理
- 传统视觉模型和分类模型更偏感知和判断,不一定擅长多步通用推理
这也解释了为什么像 YOLO 这样的模型仍然属于 AI,但通常不被看作强推理模型。它们更擅长的是:
图像特征提取
目标定位
目标分类
而不是:
处理复杂条件关系
做多步推导
分析因果
显式排除多个假设
十一、推理能力和 agent 能力是什么关系?
一句话先说结论:
推理能力是 agent 能力的重要组成部分,但两者不是一回事。
因为 agent 不只是“想”,还要“做”。
可以先这样分:
推理能力更偏向什么?
- 理解问题
- 分析条件
- 生成计划
- 做判断
- 排除错误选项
agent 能力还要再加什么?
- 调用工具
- 读写文件
- 查资料
- 执行命令
- 根据环境反馈调整下一步动作
- 把多步任务真正完成
所以可以压缩成一句:
推理更像“脑内处理问题”,
agent 更像“边想边行动,并根据外部世界反馈继续推进任务”。
也就是说:
推理能力决定 agent 会不会想清楚;
agent 能力决定它能不能把事情真正做完。
十二、为什么小模型接上工具后看起来很聪明,但长任务容易崩?
因为工具会把一部分难度外包掉,但长任务考验的不只是调用工具,而是持续推理和持续控制。
短任务通常更像:
提问 -> 调工具 -> 整合结果
这时工具能显著补能力。
但一到长任务,难点会变成:
- 状态保持
- 长程规划
- 前后步骤一致性
- 错误恢复
- 噪声过滤
所以本质上:
短任务更像“会不会用一次工具”;
长任务更像“能不能持续管理一个问题求解过程”。
这也是为什么:
上下文窗口大,不等于长任务能力强。
上下文窗口大,只表示“能放进来的信息更多”;不代表模型真的能长期、稳定、正确地管理这些信息。
十三、编程 agent 真正需要什么样的记忆?
编程 agent 变得可靠,并不是因为它“什么都记住了”,而是因为它把记忆分层了。
最有用的不是一个“大记忆”,而是几类不同的记忆:
- 规则记忆:项目规范、构建命令、禁忌操作、代码风格
- 状态记忆:当前目标、做到哪一步了、哪些假设被推翻、下一步是什么
- 经验记忆:仓库的常见坑、用户偏好、稳定工作流
- 外部事实记忆:代码、git diff、日志、测试结果、文档
这里还要再区分两种东西:
- 软记忆:提示模型“应该怎么做”,比如项目规则文件、偏好记忆
- 硬约束:真正拦住危险行为或强制检查,比如 sandbox、approval、hooks、tests
一句很适合放到 blog 里的总结是:
编程 agent 不是靠“记住更多”来变可靠,而是靠“把记忆分层外置,把约束做成机制,把正确性交给可验证系统”。
十四、context、memory、session summary、RAG 分别是什么?
这几个词最容易被混为一谈,可以先用一句很粗但很好记的话区分:
context = 当前工作台
memory = 长期便签
session summary = 会议纪要
RAG = 去资料库找资料,再摆到工作台上
1. Context
上下文窗口是模型这次回答时“眼前能看到的所有东西”,包括:
- 你的问题
- 系统提示
- 历史消息
- 工具返回
- 检索结果
- 当前读到的文件
它是短期的、易失的,窗口满了就得压缩或丢弃一部分。
2. Memory
memory 是跨会话保留的少量稳定信息,比如:
- 用户偏好
- 项目规范
- 常用命令
- 常见坑
它不是整段聊天历史,而是“下次还值得带上的东西”。
3. Session Summary
会话摘要是为了省上下文,把已经发生过的一长段对话压成一份结构化摘要。它解决的是“窗口不够大”,不是“长期记住一切”。
4. RAG
RAG 是运行时去外部知识库检索相关内容,再把结果放进当前 context,让模型据此回答。
所以一句话区分是:
memory 是把以后大概率还要用的规则和偏好留下来;
session summary 是把刚刚发生过的长对话压缩一下;
RAG 是在回答当下问题时,临时去外部知识库取资料补进 context。
截至 2026-04,RAG 当然还在被大量使用,只是今天很多系统不再满足于早期那种粗糙的“切块 + embedding + top-k”,而是会把检索、过滤、引用、工具使用和 reasoning model 整合在一起。
十五、fine-tuning、post-training、distillation 是什么关系?
这三个词也很容易被混。
可以先粗暴地区分成:
post-training = 训练阶段
fine-tuning = 一类继续训练的方法
distillation = 一种“老师带学生”的训练策略
1. Post-training
post-training 指模型在预训练完成之后,为了提升可用性、安全性、对齐性、推理表现和任务能力而进行的一系列后续训练。
它是一个大伞,里面可能包括:
- instruction tuning / SFT
- preference tuning
- RLHF / RLAIF
- safety tuning
- tool-use training
- reasoning-oriented tuning
- distillation
2. Fine-tuning
fine-tuning 是在一个已经预训练好的模型上,再用更有针对性的数据继续训练,让它更适合某类任务、领域或输出风格。
它更适合:
- 固定输出格式
- 特定语气风格
- 稳定的任务模式
- 用小模型替代大模型
但它不适合拿来补最新事实。知识经常变的场景,通常更适合 RAG。
3. Distillation
distillation 的核心是:
让一个较小或较便宜的 student model,去学习较强 teacher model 的行为。
teacher 可以提供:
- 最终答案
- 中间步骤
- 偏好排序
- 工具使用方式
- 推理轨迹
所以可以压缩成一句:
post-training 是“什么时候训”,
fine-tuning 是“怎么继续训”,
distillation 是“跟谁学”。
十六、为什么推理能力很难被完整蒸馏?
蒸馏有时能把推理能力传下去,有时又传不完整,核心原因通常不是老师会不会说,而是学生有没有足够容量去承载这种能力。
更准确地说:
蒸馏更容易复制老师的外部表现,
不一定能完整复制老师的内部能力结构。
原因通常包括:
- student 模型容量有限
- 推理是长链条能力,压缩损失更大
- 蒸馏到的往往是“表现”,不一定是“机制”
- teacher 数据质量不稳定时,student 也会学偏
- student 容易学到局部模式模仿,难以学到更深层的可迁移结构
一句适合记下来的总结是:
蒸馏更容易传下“解题样子”,更难传下“解题上限”。
十七、那现在的大模型发布,是不是基模不变,只做 fine-tuning?
不能一概而论。
更接近事实的说法是:
“全新一代模型”通常不是只做 fine-tuning;
“同一家族的某些变体”有时更像是在已有基础上继续做 post-training、蒸馏、推理强化或产品化封装。
所以把所有新模型都理解成“只是 fine-tuning 一下”是过度简化。
更合理的理解是:
- 有些发布是新 base model + 新 post-training 一起升级
- 有些发布更像是在现有家族上做衍生变体
十八、最后,我现在怎么理解“AI 推理”?
如果让我现在重新总结,我会这样说:
AI 里的推理,不是指模型像人一样有意识地思考,
而是指模型能够根据输入中的条件、关系和上下文,
对问题进行多步处理,并生成一个相对合理的结论。
从底层机制看,大模型仍然是在逐个预测 token;
但从外部表现看,这个生成过程有时会呈现出类似演绎、归纳、溯因的推理形式。
模型是否能较好地分解问题、保持条件并按步骤求解,
通常取决于它在预训练中学到的模式、后续是否接受过高质量推理数据训练、
训练反馈和推理时计算资源,以及系统层面的工具、记忆和验证机制。
我现在觉得,理解 AI 推理最重要的不是把它神秘化,而是记住下面这几句话:
- 推理不是“说得像在分析”,而是能不能真正利用条件推出新结论。
- token 生成是机制,推理是这种机制表现出来的一种能力。
- 思维链是过程的外显形式,不等于可靠推理本身。
- reasoning model 的价值不是“第一次会推理”,而是通常在复杂任务上更稳定。
- RAG 提供材料,工具提供手段,推理负责把它们变成答案。
- 编程 agent 的可靠性,不只来自模型本身,也来自外部记忆、硬约束和可验证系统。
参考资料
下面这些官方资料对我理解后半部分概念很有帮助:
- OpenAI Codex Memories
- OpenAI Codex AGENTS.md
- OpenAI Codex Subagents
- OpenAI Codex Worktrees
- OpenAI Codex Sandboxing
- OpenAI File Search
- OpenAI Retrieval
- OpenAI Fine-tuning 文档
- Anthropic Claude Code Memory
- Anthropic Claude Code Context Window
- Anthropic Claude Code Subagents
- Anthropic Claude Code Hooks
- Anthropic RAG / Search Results 文档
如果以后继续往下学,我觉得最值得接着追问的问题会是:
- 模型的“内部推理”到底能不能被真实观察?
- 为什么“可解释”不等于“真实理解”?
- 为什么 benchmark 很强的小模型,实际长任务里还是不如大模型?
- 推理能力和多代理系统之间到底是什么关系?
修改历史1 次提交
- content(ingest): AI 推理系列 4 篇 + Zsh 一键复刻配置xiaocheng··
be9ef88