AI相关概念简单介绍

介绍一些AI相关的概念

📝 备注

前言:概念都是个人理解,如有错误欢迎指出。

LLM (大语言模型)

  • 含义:LLM是一个参数量巨大的数学模型(统计概率模型);本质上是词语接龙不断去预测下一个字。
  • 诞生:分为两个阶段
    • 训练
    • 推理
  • 涌现: 当参数达到一定规模时,AI 会突然获得原本不具备的复杂逻辑推理、代码理解等高级能力。
📝 备注

注意:大模型本身没有记忆。

Context Window(上下文窗口)

  • 含义:AI 一次能处理的最大 Token 数,也就是你能够输入的最大token数。

Token(词元)

  • 含义:AI 能理解的最小文本单位(约 ¾ 个英文单词),介于单词与字符之间,同时也是大模型计费和上下文长度的计量单位

Token 和 字、 词 有什么区别?

很多人以为Token = 单词,但其实不完全是。因为Token的划分是基于算法的。

文本 Token数 备注
cat 1 常见词,一个词一个Token
ChatGPT 3 Chat + G + PT
你好 约 2~3 中文比英文会消耗更多的Token

Tokenizer(分词器)

  • 作用:把文本切割成一块一块的碎片,每一块就叫做一个 Token(词元)。

Embedding(嵌入)

  • 作用:把文本/图片转成数字向量,用于相似度计算,同时也是RAG的基础。embedding模型属于LLM模型中的一部分。

为什么要引入高维数据向量?

  • 主要是为了从更多的维度描述单词。
📝 备注

例如:维度1表示颜色;维度2表示形状;苹果和西瓜在向量坐标中虽然编号不同;但是空间位置很相近。

Function Call(方法调用)

  • 含义:Agent 调用外部工具/API 执行动作
  • 作用:允许模型在需要时调用预定义的函数来获取数据或执行操作。
  • 缺点:
    • Function Call的平台依赖性强,没有一个统一的标准,不能做到即插即用。
    • 一般是本地程序调用,外界无法使用;也因此MCP应运而生。

MCP(模型上下文协议)

什么是MCP?

  • 含义:Agent 连接外部工具/数据源的标准化协议。
  • 作用:主要是为增强AI的能力,作为使用者通过MCP我们可以轻松接入别人已经写好的服务。

核心架构

  • Host(主机):用户使用的 AI Agent,管理多个Client。
  • Client(客户端):Host的内部组件,与Sever一对一连接,负责将模型的工具调用请求翻译为标准协议消息。注意:Host 每连接一个 Server 就会创建一个 Client
  • Server(服务器):包一层标准协议,暴露某个具体工具或数据源的能力,注意:不直接大模型对话,通过Client传递对话。

底层通信统一使用 JSON-RPC 2.0 消息格式。

三大核心原语

原语 定义 典型场景
Tools(工具) 可执行的动作,模型可主动调用,会产生副作用(如写数据、发消息) 发送邮件、创建工单、执行数据库查询、操作文件
Resources(资源) 只读数据,供模型读取上下文,不涉及执行 日志文件内容、数据库表快照、API 文档
Prompts(提示词模板) 预先写好的可复用提示词模板,用户或应用可以直接调用 “帮我总结这份合同的关键条款”、“分析这段代码的性能问题”

传输方式

支持两种传输方式一种stdio,一种Streamable HTTP

  • stdio(标准输入输出):本地工具,Host 以子进程方式启动 Server
  • Streamable HTTP:远程生产环境,Server 作为 HTTPS 服务部署
💡 提示

Function Calling和MCP的区别?

Function Calling 是模型调用工具的底层机制,MCP其实就是在上加了一层标准化协议罢了,规定协议后就可以让多个AI Agent共同调用了。
注意:MCP只是一个标准协议,并不提供特定的服务,你可以按照要求编写自己的MCP服务。

Skills (技能)

Skills 在技术上是一个 Markdown 文件(SKILL.md),写着该任务的完整执行指南。它由人类编写,然后被智能体在执行任务时自动读取和遵循。

  • 含义: Agent 可调用的专项能力模块

  • 核心思想:将人类的专业知识封装成技能包,让 AI 在需要时自行加载和使用。

    💡 提示

    行为规范 + 专业知识 + 使用时机的组合

  • 组成:其实就是一个文件夹(相当于打包好的提示词工程);里面必须有一个 SKILL.md 文件(包含说明和元数据),可选其他资源文件(如脚本、示例、参考文档)。

  • 使用:Skills 的关键是渐进式披露,分三层加载:

    • 技能发现 :AI 先读取所有技能的元数据(name 和 description),判断任务是否相关,注意:这些元数据始终在系统提示中。
    • 加载核心指令 : 如果相关,AI 自动读取 SKILL.md 的正文内容,获取详细指导。
    • 加载资源文件 :按需读取,执行脚本。
📝 备注

Skills和MCP的区别?

核心:Skills 用于知识复用,MCP 用于能力扩展。
简单来讲:
Skills相当于懒加载,是按需加载自动决定上下文。
MCP是启动就加载,每次请求都会占用上下文。

大模型的幻觉

1.什么是幻觉?

其实就是大模型生成不合理或完全虚构的内容,简单来说就是大模型瞎编。

2.为什么会出现幻觉?

  • 一方面,跟模型的训练时间有关,比如模型的训练数据中可能包含错误或过时的信息。
  • 另一方面,大语言模型本质上是 预测下一个词的概率 模型,它们倾向于生成流畅而未必准确的内容。

RAG(检索增强生成)

  • 含义:先从知识库检索,获取信息后添加到提示词,然后再让模型生成。
  • 作用:减少大模型的幻觉和知识截止日期。

一个完整的 RAG 系统由两条流水线组成:离线索引流水线(将文档预处理存入向量库)和在线查询流水线(接收用户问题、检索、生成)。

具体实现步骤如下:

  1. 离线索引流水线
  • 文档收集和切割
  • 向量转换和存储
  1. 在线查询流水线
  • 文档过滤和检索
  • 查询增强和关联

核心工作流程:

  1. 用户提问
  2. 问题向量化
  3. 向量检索
  4. LLM生成
  5. 返回结果

数据预处理与文档切分(Chunking)

在离线索引流水线中,我们要把文档预处理进向量数据库,因此我们需要对数据进行预处理,还要进行文档切分。(因embedding模型有token限制)

复杂文档解析

数据要保证语义完整,但是对于复杂文档如PDF、Word、图片等,普通的文本提取极易造成语义错乱。因此一般使用解析器,转成结构化的 Markdown。

文档切分策略(重点)

文档切分是 RAG 效果的基础,切分粒度直接影响检索质量。块太大会引入噪声,块太小会丢失上下文。常用策略如下:

切分策略 适用场景 优点 缺点
固定大小切分 通用文本 实现简单,速度快 可能切断语义完整的句子
递归字符切分 结构化文本(Markdown、代码) 优先按段落、句子等语义边界切分 实现略复杂,需设定合理的分隔符列表
语义切分 (Semantic) 长文档、书籍 利用 Embedding 计算相邻句子的相似度,自动寻找语义转折点切分 计算成本高,预处理速度慢
父子文档检索 (Small-to-Big) 全面覆盖场景 用"小块"进行高精度向量检索,命中后返回对应的"大块"(父文档)给 LLM,兼顾了检索精度和上下文完整性。 数据库设计和维护成本翻倍

注意:实践中常在切分时加入重叠,即相邻块之间共享若干字符,防止重要信息在边界处被截断。典型配置:块大小 512 tokens,重叠 50~100 tokens。

📝 备注

注意:RAG进行向量转换的Embedding模型和LLM的Embedding的模型并不一致。LLM的Embedding模型是随着训练一起出来的,而RAG进行向量转换的Embedding模型是需要单独去训练的。

差异:

  • RAG Embedding:对整段文本做语义压缩,输出一个向量。
  • LLM Embedding:对每个 token 编码,再通过 Transformer 整体理解整句话。

AI Agent(智能体)

  • 含义:Agent = LLM (大脑) + Planning (规划) + Tool use (执行) + Memory (记忆)。
  • 分类:
    • 反应式智能体
    • 目标导向智能体
    • 实用性智能体
    • 有限规划智能体
    • 自主规划智能体
    • 多智能体系统(多个智能体协同工作)

AI Agent 构成

一个典型的 AI Agent 由三个关键部分协同工作。

1.大型语言模型 (LLM)

  • 功能:理解用户的目标,然后进行分析做出决策,是决策者相当于大脑。

2.工具 (Tools) - 可执行的动作

  • 功能:一个个具体的函数或 API,让 Agent 能够与外部世界互动。比如读取文件、调用高德地图API获得位置信息等

3.记忆 (Memory) - 对话与经验的存储

  • 功能
    • 短期记忆:保存当前对话的历史、工具调用的结果等,让 Agent 记得之前说过什么、做过什么。就好比你跟朋友聊天,不需要每句话都重新自我介绍。
    • 长期记忆:可以存储更持久的信息(例如用户偏好、历史任务结果),供未来任务参考。就像你有一本专属于你的用户档案。
⚠️ 警告

这里要和大模型的上下文窗口区分开来。
短期记忆:直接对应大模型的上下文窗口,相当于当前的工作台。
长期记忆:是存储在数据库或者向量数据库中,需要时检索出来塞进大模型的上下文窗口中,相当于外部存储数据。
总结:AI Agent 的记忆核心在于 管理大模型上下文窗口。

总结:简答来说大脑负责思考,工具负责行动,记忆保证连贯,三者缺一不可。

AI Agent的工作流程

AI Agent 通常遵循一个名为 ReAct = Reasoning(推理)+ Acting(行动) 的经典思维范式。

  • 含义:Reasoning + Acting 交替进行,边想边干,是 Agent 的核心范式。

具体流程如下:

  1. Thought (思考): 模型描述当前要做什么,为什么要这么做。
  2. Action (行动): 模型选择一个工具(如:Google Search)。
  3. Observation (观察): 模型读取工具返回的结果。
  4. Repeat (循环): 重复上述步骤,直到得出最终答案。

这个 思考 → 行动 → 观察 → 再思考 的循环,就是 AI Agent 自主完成复杂任务的核心动力机制。

另外具体到实际项目中的流程如下:

  1. 用户输入
  2. 记忆增强:从Memory和RAG中取出数据,补充上下文和专业知识信息
  3. LLM推理
  4. Agent进行规划:进行决策,拆解任务、判断分几步完成、调用哪些工具等
  5. 执行工具:本地函数调用、MCP、API调用等
  6. 输出结果:汇总工具返回数据与模型推理结果,整理后返回用户,同时写入记忆存档。

CoT(思维链)

  • 含义:引导模型产生中间推理过程,提升复杂推理能力。(思维链的实现主要是通过prompt实现,比如可以给出答题示例,然后再问问题,从而引导大模型推理)
  • 核心思想:强制要求模型在输出最终答案前,先显式地输出中间的推理步骤

Agent Loop(智能体循环)

  • 含义:是一种思考→行动→观察→再思考的迭代机制,核心就是React。

向量数据库

向量数据库(Vector Database)是一种专门用于存储、索引和检索高维向量数据的数据库系统。
你可以把它理解为:把意思相近的东西存在一起,并能快速找到和这个最像的那些东西。
与传统数据库的不同之处:传统数据库通过精确匹配来查询(WHERE name = ‘张三’),向量数据库通过相似度来查询。

为什么需要向量数据库

传统数据库擅长处理结构化数据,但是无法理解语义。比如你听歌时的推荐系统,会推荐符合你喜好的歌曲,这时候需要理解语义,而非字面意义上的匹配。
总结:向量数据库解决了传统数据库处理的语义相似性搜索问题。

核心概念:向量与嵌入

什么向量

在数学上,向量就是一组有序的数字。

1
[0.12, -0.54, 0.87, 0.03, ..., 0.61]   ← 这就是一个向量

在机器学习中,这组数字代表某个对象的语义特征,维度通常在 128 到 4096 之间。

什么是嵌入

嵌入(Embedding)是将现实世界的对象(文字、图片、音频等)转换成向量的过程和结果。这个转换由嵌入模型完成,其核心思想是:语义相近的对象,其向量在空间中的距离也更近。

应用

  • RAG
  • 个性化推荐系统
  • 去重
  • 图片
  • 人脸

常见问题

问题 说明 解决方案
嵌入模型要统一 插入和查询必须用同一个模型 在配置文件中固定模型版本
维度不匹配 换了embedding模型但没重建集合 换模型时删除重建集合
文本过长 大多数embedding模型有 token 限制(512~8192) 超长文本先分块(chunking)
相似度不准确 文本没有分块,语义被稀释 按段落或固定长度切分文档
冷启动慢 数据量大时首次加载索引耗时 提前预热,或使用持久索引

参考

AI Agent(智能体) 教程 | 菜鸟教程

最后更新于 2026-10-14