模型边界02:推理与检索

从模型记忆、外部知识、RAG 到工具调用,理解推理和检索的职责边界,以及如何让模型在合适的场景使用合适的能力。

字数 1782 阅读时长 ≈ 6 分钟 2026-7-21 2026-7-27
模型边界02:推理与检索

推理和检索是大模型的两种核心能力,但它们的职责不同。理解它们的边界,才能正确使用模型。

推理能力:模型的内在能力

推理能力是模型从训练数据中学到的知识和逻辑推理能力。

推理的类型

类型描述示例
常识推理基于常识的推理”天要下雨了,应该带伞”
逻辑推理基于逻辑规则的推理”如果 A > B,B > C,那么 A > C”
数学推理数学计算和推导”2+2=4”
类比推理基于类比的推理”鸟会飞,飞机也会飞,所以飞机像鸟”
因果推理基于因果关系的推理”因为下雨了,所以地面湿了”

推理能力的边界

模型的推理能力是有限的:

限制描述示例
精确计算复杂计算可能出错”12345 × 6789” 可能算错
长链推理多步推理可能出错复杂数学证明可能出错
因果推断可能混淆相关性和因果性”吸烟的人更容易得肺癌,但不一定是因果关系”
常识缺失缺乏某些领域的常识对特定文化的常识可能缺失
逻辑漏洞推理过程中可能出现逻辑漏洞”所有鸟都会飞,企鹅是鸟,所以企鹅会飞”(错误)

提高推理能力的方法

方法原理适用场景
Chain-of-Thought让模型一步步推理,展示中间过程复杂推理任务
Self-Consistency多次推理,选择最一致的答案高风险推理任务
Verification让模型验证自己的推理结果需要准确结果的场景
Tool Use将复杂计算交给专门工具数学计算、精确查询

Chain-of-Thought 示例

问题:小明有 5 个苹果,给了小红 2 个,又买了 3 个,现在有几个?

推理过程:
1. 小明原来有 5 个苹果
2. 给了小红 2 个,剩下 5-2=3 个
3. 又买了 3 个,现在有 3+3=6 个

答案:6 个

检索能力:获取外部知识

检索能力是模型获取外部知识的能力,通常通过 RAG(检索增强生成)实现。

检索的类型

类型描述适用场景
向量检索基于语义相似度的检索语义搜索、问答
关键词检索基于关键词匹配的检索精确搜索
混合检索结合向量和关键词检索需要精确和语义匹配
结构化检索基于结构化数据的检索数据库查询

检索的流程

用户查询 → Embedding → 向量检索 → Top-K 结果 → 重排序 → 上下文 → LLM → 回答

关键步骤

  1. 查询处理:将用户查询转换为向量
  2. 向量检索:在向量数据库中查找相似文档
  3. 结果重排序:对检索结果进行重排序
  4. 上下文构建:将检索到的文档作为上下文输入模型
  5. 答案生成:模型基于上下文生成答案

检索的挑战

挑战描述影响
召回率能否检索到相关文档影响答案的准确性
精度检索结果是否精确影响答案的质量
时效性文档是否是最新的影响答案的时效性
完整性是否覆盖所有相关信息影响答案的完整性
噪声是否包含不相关信息影响答案的准确性

推理与检索的职责边界

理解推理和检索的职责边界,才能合理分工。

什么时候用推理

场景描述示例
常识问题不需要外部知识”水的沸点是多少”
逻辑推理需要逻辑分析”如果 A 是 B 的子集,B 是 C 的子集,那么 A 是 C 的子集”
创意生成需要创造力”写一首关于春天的诗”
语言理解需要理解语言”这句话是什么意思”
代码生成需要编程知识”写一个排序算法”

什么时候用检索

场景描述示例
事实查询需要最新信息”今天的天气怎么样”
专业知识需要领域知识”如何治疗糖尿病”
文档问答需要基于特定文档”根据这份文档,项目的目标是什么”
代码理解需要理解代码上下文”这段代码的功能是什么”
历史信息需要历史数据”去年的销售额是多少”

推理与检索的配合

大多数复杂任务需要推理和检索的配合:

用户查询 → 检索相关知识 → 推理分析 → 生成答案

示例

用户:如何优化 MySQL 查询性能?

检索:找到 MySQL 性能优化的相关文档
推理:分析文档中的优化策略,结合用户场景给出建议
答案:根据文档,你可以通过以下方式优化 MySQL 查询性能...

RAG:检索增强生成

RAG 是将检索和推理结合的技术,是当前最常用的 AI 应用架构。

RAG 的优势

优势描述示例
减少幻觉答案基于真实文档避免模型编造事实
时效性可以获取最新信息回答关于最新事件的问题
可追溯答案可以追溯到来源提高答案的可信度
领域适配可以针对特定领域医疗、法律等专业领域
成本控制可以使用较小的模型降低推理成本

RAG 的架构

┌─────────────────┐
│   知识库构建    │
│ 文档 → 切分 →   │
│ Embedding →     │
│ 向量数据库      │
└────────┬────────┘


┌─────────────────┐
│    用户查询      │
└────────┬────────┘


┌─────────────────┐
│   向量检索      │
│ 查询 → Embedding│
│ → Top-K 结果    │
└────────┬────────┘


┌─────────────────┐
│   上下文构建    │
│ 检索结果 →      │
│ 上下文          │
└────────┬────────┘


┌─────────────────┐
│   LLM 推理      │
│ 上下文 →        │
│ 答案生成        │
└─────────────────┘

RAG 的优化方向

方向方法效果
检索优化优化切分策略、模型选择提高召回率和精度
重排序使用 Cross Encoder 重排序提高精度
上下文压缩对上下文进行压缩节省 token
多轮检索多次检索,逐步精化提高准确性
混合检索结合关键词和向量检索兼顾精确和语义

工具调用:扩展模型能力

工具调用是让模型使用外部工具的能力,是扩展模型能力的重要方式。

工具的类型

类型描述示例
API 调用调用外部 API天气 API、股票 API
数据库查询查询数据库SQL 查询
文件操作读写文件读取文档、保存结果
代码执行执行代码运行 Python 脚本
搜索引擎搜索互联网获取最新信息

工具调用的流程

用户查询 → 模型分析 → 选择工具 → 调用工具 → 获取结果 → 生成答案

关键步骤

  1. 意图识别:模型识别用户是否需要使用工具
  2. 工具选择:模型选择合适的工具
  3. 参数生成:模型生成工具调用的参数
  4. 工具执行:执行工具调用
  5. 结果处理:将工具返回的结果作为上下文
  6. 答案生成:基于工具结果生成最终答案

工具调用的挑战

挑战描述影响
意图识别能否正确识别是否需要工具影响用户体验
工具选择能否选择合适的工具影响结果准确性
参数生成能否生成正确的参数影响工具调用成功率
结果理解能否正确理解工具返回的结果影响答案质量
错误处理能否处理工具调用失败影响系统稳定性

项目判断清单

  • 需要最新信息 → 使用检索或搜索引擎
  • 需要领域知识 → 使用 RAG
  • 需要精确计算 → 使用计算器工具
  • 需要逻辑推理 → 使用 Chain-of-Thought
  • 需要代码执行 → 使用代码执行工具
  • 需要数据库查询 → 使用数据库工具
  • 答案需要可追溯 → 使用 RAG
  • 减少幻觉 → 使用 RAG + 低 Temperature