AI 核心概念总览:LLM、Agent、RAG、MCP 与系统设计
LLM、Token、上下文窗口、幻觉、温度、系统提示词、Function Calling、RAG、Agent……术语越学越多,孤立地背定义没有意义。这篇教程把核心概念组织成一张依赖关系网:每个术语给一句话定义和”为什么重要”,再讲清谁在谁之上、谁依赖谁。
它解决什么问题
学 AI 应用开发最常见的困境不是”不懂某个概念”,而是”概念之间连不起来”:知道 RAG 是检索增强,却说不清它和长上下文的竞争关系;知道 Function Calling,却搞混它和 MCP 的边界。孤立的知识点撑不起架构决策——面试和评审里真正被追问的,从来都是”这两个概念什么关系””这一层出问题会怎样”。
这篇地图的做法:把术语挂到一次请求的完整链路上,每个概念只讲两件事——一句话定义、为什么重要,然后展示它们的依赖方向。
核心原理:一条链路串起所有概念
一次典型的 LLM 应用请求长这样:
用户提问 →(可选)RAG 检索证据 → 组装系统提示词 + 历史 + 证据 → LLM 逐 Token 生成 →(可选)Function Calling 触发工具执行并回填 → 结构化或自然语言输出 → 日志与评测。
链路上每个环节对应一组概念。下面按依赖顺序逐个击破,最后把它们连成网。
深入机制:概念逐个击破
地基层:模型与生成
LLM(大语言模型):在海量文本上以”预测下一个 Token”为目标训练出的概率模型。
为什么重要:认清它是”条件概率拟合器”而非”知识数据库”,才能解释幻觉的来源,也才能理解为什么需要检索和对齐。
Token:Tokenizer 把文本切成的最小处理单元,是计量成本、窗口和生成步数的基本货币。
为什么重要:计费、窗口预算、延迟估算全部以 Token 为单位;不理解切分机制,就无法解释算术与拼写类任务的翻车。
上下文窗口(Context Window):单次调用中模型可见的 Token 总量上限,相当于模型的”工作记忆”。
为什么重要:系统提示、历史消息、检索片段、输出全部挤在同一个桶里;窗口管理直接决定成本、质量和”会不会忘事”。
温度(Temperature):采样时缩放概率分布形状的参数——低温尖锐确定,高温平坦发散。
为什么重要:它是输出”确定性 vs 多样性”的总开关;结构化任务配高温,是新人最常犯的错误之一。
幻觉(Hallucination):模型对不知道的内容也会流畅编造、且语气自信的现象。
为什么重要:它是生成机制的结构性副产品而非偶发 bug;RAG、引用校验、低分拒答等工程手段,几乎都是围绕它展开的。
控制层:提示与结构化
系统提示词(System Prompt):优先级最高的全局指令,定义角色、边界与输出格式,对用户不可见但占用窗口。
为什么重要:它是应用层控制模型行为的主入口;但约束力是”软”的——守不住格式契约,也挡不住提示注入,硬边界必须靠代码。
Function Calling(函数调用):模型根据工具描述输出”调用哪个工具、参数是什么”的结构化意图,由业务侧执行并回填结果。
为什么重要:它是模型连接真实世界的通道;理解”模型只产出意图、不执行动作”,是一切工具安全设计的前提。
扩展层:知识与行动
RAG(检索增强生成):生成前先从外部知识库检索相关片段,连同问题一起交给模型。
为什么重要:它补上模型”知识截止”与”私有数据不可见”两个结构性缺口,并提供可溯源的答案依据,是企业知识问答的默认架构。
Agent(智能体):让模型在”决策 → 调工具 → 观察结果 → 再决策”的循环中完成多步任务的系统,常概括为 LLM + 规划 + 记忆 + 工具。
为什么重要:单次问答解决不了需要多步交互的任务;Agent 是把模型能力转化为任务完成能力的范式跃迁,同时也引入循环失控、成本爆炸、工具越权等新风险。
MCP(模型上下文协议):标准化”工具如何被发现、描述、调用”的应用层协议。
为什么重要:各家的 Function Calling 格式不一,MCP 把工具生态从特定供应商解耦出来;它与 FC 是”通道”与”意图”的关系,不是替代关系。
治理层:工程保障
评测(Evaluation):用标注好的 Golden Set 对输出质量做自动化度量,而不是凭感觉。
为什么重要:没有评测集,任何”优化”都无法验证,Prompt 改动只能靠运气回归。
可观测性(Observability / Trace):记录一次请求经历了哪些模型调用、检索与工具执行,以及各自的耗时与成本。
为什么重要:AI 接口返回 200 不代表答对;没有 Trace,线上问题只剩一句”模型不行”。
工程实践:概念依赖关系网
把概念按依赖方向连起来,才是这篇地图的核心:
- Token → 上下文窗口 → 成本:一切计量从 Token 开始,窗口是容量的桶,两者共同决定账单与延迟。
- LLM 生成机制 → 幻觉 → RAG:幻觉源于”预测下一个词”的目标本身,RAG 是主流缓解架构,但不是根治。
- 温度 + 系统提示词 → 输出控制:前者管随机性,后者管行为边界,都是软约束;硬约束靠 Schema 与服务端校验。
- Function Calling → Agent:FC 解决”一次调用一个工具”,Agent 在 FC 之上叠加循环、规划与记忆,解决”多步任务”。
- RAG vs Agent 的 Memory:技术上都用向量检索,但 RAG 检索共享的外部知识,Memory 沉淀与特定用户的交互经验——数据来源与生命周期不同,存储逻辑应分开。
- MCP → 工具生态:为 FC 与 Agent 提供跨供应商、跨宿主的工具接入标准。
- 评测与可观测性 → 横切全链路:不挂在某个具体概念上,但任何一层上线前都需要它们兜底。
这张网的实用价值在于:新术语出现时,先问”它挂在链路哪一环、替代或增强了哪个旧概念”,学习速度会快很多。
对比与权衡
| 概念对 | 核心区别 | 选型要点 |
|---|---|---|
| 长上下文 vs RAG | 前者把材料全塞进窗口,后者按需检索 | 单份长文档精读用前者;海量知识库、要权限与溯源用后者 |
| Function Calling vs MCP | 模型侧的意图生成机制 vs 工具接入的协议标准 | FC 解决”模型怎么表达调用”,MCP 解决”工具怎么跨宿主复用” |
| RAG vs Memory | 共享外部知识 vs 用户专属的交互沉淀 | 服务对象、数据来源、更新方式都不同 |
| 系统提示词 vs Schema 校验 | 软约束 vs 硬约束 | 格式与权限等硬边界不能只靠提示词 |
| 单 Agent vs 多 Agent | 一个循环 vs 多个有独立 Prompt、工具、权限的执行者 | 角色真正需要不同工具与上下文时才值得拆,否则只是徒增调用与归并成本 |
面试视角
用一条链路解释 LLM 应用如何处理一次请求? 用户输入 → 按需 RAG 检索 → 组装系统提示词与上下文(受窗口约束、按 Token 计量)→ 模型逐 Token 生成(温度控制随机性)→ 需要时经 Function Calling 调工具并回填 → 输出经校验后返回 → 全程写 Trace 并抽样回流评测集。
幻觉能彻底消除吗? 不能。它是”预测下一个 Token”这一训练目标的结构性副产品。RAG、引用校验、低分拒答能大幅压低发生率,但残余幻觉永远存在,高风险场景必须留人工兜底。
RAG 和 Agent 的 Memory 有什么区别? 技术上相似(都用 Embedding 加向量检索),但 RAG 检索的是共享外部知识,Memory 保存的是与特定用户交互中沉淀的偏好与历史;服务对象、数据来源、更新方式都不同。
Function Calling 和 MCP 是竞争关系吗? 不是。FC 是模型输出调用意图的机制,MCP 是工具发现与调用的通信协议。常见组合是:Runtime 通过 MCP 发现工具,转成模型供应商的 FC 格式喂给模型。
为什么结构化输出不能只靠系统提示词? 提示词是软约束,复杂上下文与注入攻击下模型都可能偏离;JSON 需要生成期约束加服务端校验的硬契约,权限边界更是如此。
小结
- 概念不是背的,是挂的——把每个术语挂到请求链路的对应环节,孤立知识才会变成体系。
- 地基层(LLM、Token、窗口、温度、幻觉)解释模型”是什么”;控制层(系统提示词、Function Calling)解决”怎么控制它”;扩展层(RAG、Agent、MCP)补齐知识与行动;治理层(评测、可观测性)保障可持续迭代。
- 依赖关系比定义更重要:幻觉源于生成机制,RAG 用于压制幻觉,Agent 立于 FC 之上,评测横切一切。
- 新 buzzword 出现时先定位层级——大多数只是某层的替换件,而非颠覆。

