AI核心概念工程手册

AI 核心概念工程手册

先说结论

很多 AI 时代的新名词,本质上都能在传统软件工程里找到影子。它们不是凭空出现的新魔法,而是老工程概念换到了“模型作为决策核心”的系统里。

AI 时代叫法 更接近的软件工程本质 一句话理解
LLM 推理引擎 / 概率模型运行时 根据上下文生成下一步输出的核心引擎
Tokenizer 编码器 / 词法切分器 把人类文本转成模型能计算的数字序列
Token 计算单位 / 文本颗粒 模型处理文本的最小片段
Context 请求上下文 / 运行时输入 模型这一次能看到的全部信息
Context Window 请求大小限制 / 内存上限 一次请求最多能塞多少 Token
Prompt 指令 + 参数 + 约束 告诉模型这次要做什么、怎么做
Function Calling 工具调用中的函数调用形式 让模型按结构化参数请求调用某个函数
Tool 能力接口 / 外部能力 模型可请求使用的函数、平台内置能力或外部服务
MCP 客户端 / 服务端协议 标准化 AI 应用连接工具和数据源的方式
Agent 工作流编排器 / 控制循环 让模型能规划、执行、观察、再执行
Skill 插件 / 操作手册 / 按需加载模块 把某类任务的流程和规则固化下来
RAG 搜索索引 + 上下文注入 先检索相关资料,再交给模型回答

1. LLM:大语言模型

LLMLarge Language Model,中文通常叫大语言模型。它是生成式 AI 应用里的核心推理与生成引擎,但不是整个 AI 的全部。AI 还包括计算机视觉、语音识别、推荐系统、传统机器学习、强化学习等方向。

现代 LLM 多基于 Transformer 架构。Transformer 由 Google 研究团队在 2017 年论文《Attention Is All You Need》中提出,后来被 OpenAI、Google、Meta、Anthropic 等公司广泛用于大模型训练和产品化。

从工程角度看,LLM 更像一个“概率驱动的运行时”:输入上下文,输出下一个 Token 的概率分布,再通过采样、解码、安全策略和工具结果逐步生成完整回答。

需要避免一个误解:把 LLM 说成“文字接龙”可以帮助入门,但它不是简单选择概率最高的词。实际生成受训练数据、模型参数、上下文、系统规则、采样策略、工具调用结果和安全策略共同影响。

2. Token 与 Tokenizer

Token 是模型处理文本的基本单位。它可能是一个汉字、一个词、一个词的一部分、一个标点,甚至是一段常见字符串。Token 不等于人类语言里的“字”或“词”。

Tokenizer 是文本和数字之间的转换器。它负责把文本切成 Token,再把 Token 映射成 Token ID,供模型计算。模型输出后,还要把 Token ID 再解码成人类可读文本。

经验估算只能用于粗略判断成本和长度:

文本类型 粗略估算 注意事项
中文 很多场景接近 1 字 1 Token,也可能多个字合成 1 Token 取决于模型和 tokenizer
英文 常见估算约 3 到 4 个字符 1 Token 单词、空格、标点都会影响
代码 波动较大 符号、缩进、长变量名都可能增加 Token
表格 / JSON 通常更耗 Token 标点和结构字符也会计入

传统软件工程类比:Tokenizer 有点像编译器前端里的词法分析器,但它不是按编程语言语法切分,而是按模型训练时采用的分词规则切分。

3. Context 与 Context Window

Context 是模型在一次推理中能看到的全部信息。它通常包括系统规则、开发者指令、用户问题、对话历史、上传文件、RAG 检索片段、工具调用结果等。

在传统软件工程里,Context 很像一次请求的上下文对象:里面放着当前任务需要的参数、状态、权限、历史记录和外部返回值。

Context Window 是一次请求最多能容纳的 Token 数量。它不是永久记忆,只是“这次请求的输入输出容量上限”。有些平台会把最大输入长度和最大输出长度分开限制。

长上下文并不自动等于高质量理解。上下文越长,成本、延迟和信息干扰都可能上升;关键不是塞得越多越好,而是把真正相关的信息放进去。

4. Prompt:提示词

Prompt 是给模型的任务说明、背景、输入数据和约束条件。它不只是“用户问的一句话”,也可以包括角色设定、示例、输出格式、工具使用规则、安全边界和评价标准。

常见层级如下。不同平台的命名和优先级可能不同,但思想类似:

Prompt 类型 谁提供 作用
System Prompt 平台或系统 规定模型的总体身份、边界和安全规则
Developer Prompt 应用开发者 规定产品内的行为规则、工具策略和输出格式
User Prompt 用户 表达本次具体任务
Few-shot Examples 开发者或用户 用示例告诉模型希望模仿的模式

传统软件工程类比:Prompt 像函数调用时传入的参数、配置和执行说明。区别在于,普通函数严格按代码执行;LLM 会根据自然语言指令进行概率推理,因此 Prompt 越清晰,行为越可控。

一个好的 Prompt 通常会说明:目标、背景、输入、限制、输出格式和验收标准。

5. Function Calling:函数调用形式

Function Calling 是很容易漏掉的一层。更准确地说,它是 Tool Calling 中最常见的一种形式,解决的问题是:模型如何用结构化方式告诉宿主程序“我想调用哪个函数,以及参数是什么”。

它的关键点:

  • 模型不会直接执行函数。
  • 开发者先把可调用函数的名称、描述、参数结构提供给模型。
  • 模型根据用户问题判断是否需要调用函数。
  • 如果需要,模型输出函数名和参数。
  • 宿主程序解析这个调用请求,真正执行函数。
  • 执行结果再放回上下文,让模型生成最终回答。

OpenAI 文档把 Function Calling 放在工具调用体系里,用来让模型连接外部系统和访问训练数据之外的信息;函数通常用 JSON Schema 描述输入参数。也就是说,Function Calling 不是独立于 Tool 的另一套机制,而是 Tool Calling 的一种具体表达方式。

传统软件工程类比:Function Calling 像“接口契约 + RPC 调用请求”。模型负责生成调用意图和参数,应用程序负责校验、授权、执行和返回结果。

Function Calling 和普通函数调用的区别:

对比项 普通函数调用 Function Calling
调用者 程序代码 模型生成调用请求
参数来源 程序变量 模型从自然语言和上下文中提取
是否必然执行 调用即执行 需要宿主程序确认和执行
风险控制 类型、权限、业务逻辑 还要防提示注入、误调用、越权调用
返回值处理 程序继续执行 返回给模型,再由模型组织语言输出

6. Tool:工具执行

Tool 是模型可请求使用的能力接口。Function Calling 描述“怎么请求调用某个函数”,Tool 则是“模型实际可用的能力集合”。

Tool 可以是:

  • 一个本地函数。
  • 一个 HTTP API。
  • 一个数据库查询。
  • 一个搜索引擎。
  • 一个文件读写接口。
  • 一个代码执行环境。
  • 一个浏览器或电脑控制能力。
  • 一个企业内部系统操作。
  • 一个平台内置工具。

传统软件工程类比:Tool 就是函数实现、服务接口、脚本、命令行工具、平台内置能力或外部系统。它承担真实副作用,因此必须有权限、审计、参数校验和错误处理。

Tool 与 Function Calling 的关系可以这样记:

概念 负责什么 类比
Function Calling 模型生成函数名和参数 调用协议 / RPC 请求
Tool 模型可请求使用的能力 函数实现 / 服务端方法 / 平台能力
Tool Result 执行后的返回值 函数返回值 / API 响应

7. MCP:模型上下文协议

MCP 全称是 Model Context Protocol,即模型上下文协议。它是一个开放协议,用来标准化 AI 应用连接外部工具、数据源和工作流的方式。

如果 Function Calling 解决的是“模型怎样请求调用一个函数”,MCP 解决的是“不同 AI 应用怎样统一发现、连接和使用一批外部能力”。

MCP 的核心角色:

角色 工程类比 作用
Host 应用宿主,如 IDE、聊天应用、Agent 平台 发起连接、管理用户交互
Client SDK 客户端 / 连接器 在 Host 内部连接 MCP Server
Server 服务端 / 插件服务 暴露 Tools、Resources、Prompts
Tools 服务端函数 供模型请求执行
Resources 数据源 / 文件 / 上下文资源 供模型或用户读取
Prompts 模板 / 工作流片段 可复用的提示模板

MCP 很像 AI 时代的 LSP。LSP 让不同编辑器用统一协议接入不同语言服务;MCP 让不同 AI 应用用统一协议接入不同工具和数据源。它标准化的是上下文交换与能力接入方式,并不规定应用内部必须如何组织 LLM 推理流程。

需要注意:MCP 提高了复用性,但不等于“开发一次,所有平台完全无差别运行”。实际效果还取决于客户端是否支持 MCP、支持哪些能力、权限如何配置、运行环境是否允许访问对应资源。

8. RAG:检索增强生成

RAG 全称是 Retrieval-Augmented Generation,即检索增强生成。它的核心不是让模型“记住所有资料”,而是在回答前先从外部知识库中检索相关片段,再把片段放进 Context。

传统软件工程类比:RAG 像“搜索索引 + 查询召回 + 请求时注入”。它不是训练模型,也不是扩大模型永久记忆,而是在运行时给模型补充相关材料。

RAG 的价值:

  • 降低把整本文档塞进 Context 的成本。
  • 让回答更贴近指定资料。
  • 方便接入企业内部知识库。
  • 资料更新时不一定要重新训练模型。

RAG 的限制:检索错了,模型也容易答错;片段太少会漏信息,片段太多会增加噪音。所以 RAG 的关键工程点不是“有没有向量库”,而是切分、召回、排序、引用、权限和评测。

9. Agent:智能体

Agent 不是一种单独的模型,而是一套围绕模型构建的任务执行系统。它能根据目标进行规划、调用工具、观察结果、调整下一步,并循环推进任务。

传统软件工程类比:Agent 像工作流引擎、任务编排器、状态机和控制循环的组合。LLM 提供推理和决策能力,Agent 框架负责把决策变成可执行步骤。

Agent 常见能力:

  • 理解目标。
  • 拆解任务。
  • 制定计划。
  • 选择工具。
  • 调用工具。
  • 观察结果。
  • 更新计划。
  • 验证完成度。
  • 在必要时请求用户补充信息。

常见模式:

模式 核心思想
ReAct 边推理边行动,观察工具结果后继续下一步
Plan and Execute 先制定计划,再按步骤执行
Reflection / Critic 执行后自我检查或引入评审模型
Multi-Agent 多个 Agent 分工,如规划、执行、测试、审查

10. Skill:技能配置

Skill 是预先写好的任务操作手册或能力包,通常以 Markdown 说明为核心,也可以配合脚本、模板、示例和配置文件。

图里说 Skill 的本质是“按需加载”,这个判断很准确。Skill 不是每次都塞进上下文,而是在任务匹配时加载相关说明,让 Agent 知道这一类任务应该怎么做。

传统软件工程类比:Skill 像插件、策略文件、Runbook、操作手册、任务模板。它不是模型能力本身,而是给模型和 Agent 的可复用执行规范。需要注意的是,Skill 是 Agent / Coding Assistant 生态里常见的工程化概念,不是所有 AI 平台都会使用同一个命名。

Skill 通常会说明:

  • 什么时候使用这个 Skill。
  • 任务执行步骤。
  • 需要读取哪些资料或模板。
  • 可以调用哪些脚本或工具。
  • 输出格式是什么。
  • 风险和验证要求是什么。

Prompt 和 Skill 的区别:

概念 面向范围 作用
Prompt 当前这一次任务 告诉模型现在要做什么
Skill 某一类重复任务 告诉 Agent 遇到这类任务应该怎么做

11. 从传统软件系统看 AI 应用架构

一个典型 AI 应用可以按下面方式拆解:

如果用一句工程话概括:

AI 应用 = 传统软件系统 + LLM 推理引擎 + 上下文管理 + 工具调用协议 + 外部能力执行 + 验证与安全控制。

12. 容易混淆的概念

容易混淆项 正确区分
Function Calling vs Tool Function Calling 是“调用请求格式”;Tool 是“真正执行的能力”。
Tool vs MCP Tool 是一个具体能力;MCP 是连接和暴露这些能力的协议。
LLM vs Agent LLM 是推理模型;Agent 是围绕模型构建的执行系统。
Context vs Memory Context 是本次请求可见内容;长期记忆需要额外存储和检索。
RAG vs Context Window RAG 是检索相关片段;Context Window 是容量限制。
Prompt vs Skill Prompt 面向单次任务;Skill 面向可复用流程。
Token vs 字词 Token 是模型切分单位,不等于自然语言的字或词。

13. 最小记忆版

  • LLM:语言推理和生成引擎。
  • Token:模型处理文本的颗粒。
  • Tokenizer:文本和 Token ID 的转换器。
  • Context:这次请求模型能看到的全部信息。
  • Prompt:给模型的任务说明和约束。
  • Function Calling:模型用结构化方式请求调用函数。
  • Tool:真正执行外部能力的函数、API 或系统。
  • MCP:AI 应用连接工具和资源的客户端 / 服务端协议。
  • RAG:先检索资料,再把相关片段交给模型。
  • Agent:会规划、调用工具、观察结果、持续推进的执行系统。
  • Skill:按需加载的任务操作手册或插件。

14. 参考资料