🧠 AI 基本概念详解
从「下一个 Token」到「Agent 工程框架」——一篇文章搞懂 AI 的核心概念与工程全景
✦ 本文目录
先搞清楚几个基本概念
在深入之前,先把高频出现的术语过一遍。这些概念之间的关系比定义本身更重要。
基础术语大模型(LLM)
Large Language Model。基于 Transformer 架构、用海量文本训练出的语言模型。核心能力是「理解语言 + 生成语言」,不是存储知识然后查表。
Agent(智能体)
以大模型为「大脑」,能自主感知环境、制定计划、调用工具、执行动作的系统。模型只负责「想」,Agent 负责「想 + 做」。
MCP
Model Context Protocol,Anthropic 提出的开放协议。标准化了「模型 ↔ 外部工具/数据源」的连接方式,类似 AI 应用的 USB-C 接口。
Harness
模型的「驱动框架」。管理上下文、调度工具、控制执行流程的那层工程代码。模型是引擎,Harness 是整车控制系统。
Prompt(提示词)
你给模型的输入文本。包括指令、上下文、问题等。Prompt 工程就是研究怎么把话说清楚,让模型给出更好的回答。
Token
模型处理文本的最小单位。一个 Token 大致对应 0.75 个英文单词或 1-2 个汉字。模型按 Token 计费,也按 Token 计算上下文长度。
RAG
Retrieval-Augmented Generation,检索增强生成。先从知识库检索相关文档,再把文档塞进 Prompt 让模型基于它回答。解决模型「不知道私有数据」的问题。
Function Calling / Tool Use
让模型能调用外部工具(搜索、计算、数据库查询等)。模型输出结构化的调用请求,由外部代码执行后把结果返回给模型。
Tool(工具)
Tool 是模型可调用的具体能力单元——一个 API、一个函数、一段脚本。每个 Tool 有明确的输入输出约定。模型通过 Function Calling 机制来选择和调用 Tool。
Skill(技能)
Skill 是 Tool 的更高层封装——一个 Skill 可以包含多个 Tool、预设的 Prompt 模板、领域知识和固定工作流。比如「发邮件」是一个 Skill,内部调用了地址解析、内容生成、发送 API 等多个 Tool。
CLI(命令行界面)
Command Line Interface。让开发者在终端里和 AI 交互的方式——敲命令、AI 执行、结果输出到终端。代表:Claude Code CLI、Codex CLI、GitHub Copilot CLI。比 Chat 界面更贴近开发工作流。
Workflow(工作流)
把多个步骤串联成一个确定性的执行流程——先做 A,再做 B,最后做 C,中间可能分支或循环。与 Agent 不同,Workflow 的路径是预先定义的;Agent 是自主决策路径。
Embedding(嵌入向量)
把文本、图片等非结构化数据映射成高维空间中的向量。语义相近的内容向量距离近,语义无关的内容距离远。RAG 检索、语义搜索、聚类分析的基础技术。
Temperature(温度)
控制模型输出「创造力」的参数,范围 0~2。Temperature 越低回答越确定、稳定(适合事实问答),越高越有创意、随机(适合写作、头脑风暴)。设成 0 意味着每次都选概率最高的 Token。
Fine-tuning(微调)
在预训练模型基础上,用特定领域的数据再训练几轮。让模型学会特定风格、格式或领域知识。比从头训练便宜,但比 Prompt 工程成本高。适合需要稳定输出格式的场景。
一句话串起来:大模型是引擎,Tool 是单个能力零件,Skill 是把多个 Tool + Prompt + 领域知识打包成的能力模块。模型通过 MCP 协议连接这些 Tool,Agent 在此基础上自主决策和行动,Harness 是整个系统的调度框架。Workflow 按预设路径执行,Agent 自主规划路径。CLI 是开发者与这套系统的交互界面。RAG 和 Embedding 负责知识检索,Temperature 调节创造力,Fine-tuning 让模型学会特定领域能力。
模型本质:不是查答案,是预测下一个 Token
这是理解一切 AI 应用的基石。大模型不是数据库,不存储标准答案——它是一个超级强大的「续写机器」。
核心原理大模型的本质极其简单:给定前面的文本,预测下一个 Token 是什么。就这一件事,反复重复。每一次「预测下一个 Token」就是一次推理,把几百亿个这样的预测串起来,就形成了看起来像「思考」的回答。
常见的误解
❌ 误解:模型在查数据库
- 模型训练时把知识「背」进了参数里
- 问问题时,它在参数中「查找」最匹配的答案
- 所以模型知道的就是它训练数据里有的
- 就像一个超级百科全书
✅ 实际:模型在做概率续写
- 模型学到的是「语言的统计规律」
- 问问题时,它根据上下文预测最可能出现的下一个词
- 一个词接一个词地生成,形成完整回答
- 像一个超级强大的输入法联想
• 产生看似合理但实际不存在的「幻觉」(Hallucination)
• 对同一个问题可能给出不同的回答(每次生成的概率路径不同)
• 被好的 Prompt 引导出更好的回答(因为上下文影响生成方向)
• 在训练数据截止后的事情上「不知道」(但可以靠 RAG 补充)
从 Token 到回答的完整流程
"什么是 Agent?"
切分成 Token
预测下一个 Token
一个一个吐 Token
遇到结束符停止
每一次「预测下一个 Token」都要跑一遍完整的神经网络前向传播(几百亿参数的矩阵运算)。所以生成长回答比短回答贵——Token 越多,计算量越大,费用越高。
记忆与上下文
模型本身没有记忆——每次调用都是全新的。所谓的「记忆」,全靠工程手段在 Prompt 里实现。
上下文工程大模型是无状态的——它不会记得上一轮对话说了什么。你在 ChatGPT 里感觉它能「记住」之前的对话,是因为应用层每次都把历史对话拼接进 Prompt 一起发给模型。上下文窗口就是模型一次能「看到」的文本长度上限。
三种「记忆」的实现方式
| 方式 | 原理 | 优点 | 缺点 |
|---|---|---|---|
| 上下文窗口 | 把历史对话直接塞进 Prompt | 最简单,模型能完整看到 | 有长度上限(4K~200K Token),超了就放不下 |
| 摘要压缩 | 定期把旧对话总结成摘要 | 节省 Token,能聊更久 | 摘要会丢失细节,可能漏掉关键信息 |
| 外部存储 + 检索 | 对话存入向量数据库,每轮检索相关片段 | 理论上无限记忆 | 工程复杂,检索质量影响效果 |
• 系统指令放最前面(模型最关注开头)
• 当前任务放最后面(模型对结尾也很敏感)
• 中间放检索到的相关上下文
• 定期摘要旧对话,压缩成精炼信息
接入外部信息:知识库与工具
模型只知道训练数据里的东西。要让它处理私有数据、实时信息、精确计算,就得给它「外挂」。
RAG & Tool Use路线一:RAG(检索增强生成)——给模型「参考资料」
从知识库找相关文档
"根据以下资料回答…"
基于参考资料回答
RAG 的本质就是考试时开卷——模型本身不变,但回答时多了参考资料。适合场景:企业知识库问答、文档搜索、客服系统。
路线二:Function Calling(函数调用)——让模型「用工具」
"今天北京天气?"
需要调用天气 API
调用真实 API
生成自然语言回答
Function Calling 的本质是让模型学会「我不会的,我知道去问谁」。模型不直接执行代码,而是输出一个结构化的调用请求(函数名 + 参数),由应用层执行后把结果喂回模型。适合场景:实时数据查询、精确计算、操作外部系统。
两条路线的对比
| 对比项 | RAG(知识库) | Function Calling(工具) |
|---|---|---|
| 本质 | 给模型塞参考资料 | 让模型调用外部能力 |
| 信息类型 | 静态文本知识 | 动态数据、计算、操作 |
| 模型角色 | 阅读理解 + 总结 | 决策 + 调度 |
| 典型场景 | "公司报销政策是什么?" | "帮我查下今天的股价" |
| 实际应用 | 两者经常组合使用 | Agent 的核心能力 |
标准化通信:模型、工具与智能体之间怎么对话
模型是 Claude、工具是数据库、智能体是 LangChain——它们之间怎么通信?这就需要标准协议。
协议层在 MCP 出现之前,每接一个新工具都要写一套定制代码——接 10 个工具写 10 套适配。MCP 的出现就像给 AI 应用定义了一个「USB-C 接口」:工具只要实现 MCP 协议,任何支持 MCP 的模型/Agent 都能直接用。
MCP 之前 vs 之后
之前:M×N 问题
- 3 个模型 × 5 个工具 = 15 套适配代码
- 每加一个工具,所有模型都要写新适配
- 工具和模型紧耦合,换一个就得重写
- 开发成本高,复用性差
之后:M+N 问题
- 3 个模型 + 5 个工具 = 8 套实现(各实现一次 MCP)
- 加新工具只需实现 MCP 协议,所有模型通用
- 工具和模型解耦,各写各的
- 开发成本低,生态可复用
MCP 的三种通信原语
| 原语 | 方向 | 用途 | 类比 |
|---|---|---|---|
| Tools | 模型 → 工具 | 模型主动调用工具执行操作 | 函数调用 |
| Resources | 工具 → 模型 | 工具暴露数据供模型读取 | GET 请求 |
| Prompts | 工具 → 模型 | 工具提供预设的 Prompt 模板 | 模板引擎 |
• OpenAI Function Calling:最早的工具调用格式,事实上的行业标准,但绑定了 OpenAI 的格式
• MCP:Anthropic 提出,更通用,面向「模型 ↔ 工具」标准化
• A2A(Agent-to-Agent):Google 提出,面向「Agent ↔ Agent」之间通信,还在早期阶段
• LangGraph / CrewAI:不是协议,是框架内部的通信约定
构建 AI 应用的工程框架
从「调 API」到「做产品」之间,隔着好几层工程。搞清楚每一层干什么,才能理解 AI 应用的全貌。
工程全景模型层 Model
最底层——大模型本身。GPT-4、Claude、Llama 等。提供「理解 + 生成」的原始能力。这层由模型厂商负责(OpenAI、Anthropic、Meta),开发者只需调 API。
推理层 Inference
管理模型推理过程——Prompt 模板、上下文管理、流式输出、Token 计数、重试逻辑。代表:OpenAI SDK、Anthropic SDK、LiteLLM。这层让开发者不用手搓 HTTP 请求。
编排层 Orchestration
把模型、工具、知识库组合起来——工作流编排、多步推理、工具调用循环、错误处理。代表:LangChain、LangGraph、LlamaIndex。这层是 Agent 的核心骨架,决定了「模型怎么一步步干活」。
Agent 层 Agent
在编排层之上加「自主决策」——目标拆解、计划制定、自我反思、多 Agent 协作。代表:AutoGPT、CrewAI、MetaGPT。这层让系统从「按流程执行」变成「自主完成目标」。
应用层 Application
面向用户的产品——UI 交互、用户管理、数据存储、权限控制、计费。代表:ChatGPT 网页端、Cursor 编辑器、各种 AI SaaS。这层是用户直接接触的部分,决定了产品体验。
从下往上:模型层是「发动机」,推理层是「供油系统」,编排层是「变速箱」,Agent 层是「自动驾驶系统」,应用层是「整辆车 + 车内体验」。做 AI 产品不需要从发动机造起,但要知道每一层在干什么,才能在正确的层解决正确的问题。
Harness:模型的「驾驶舱」
Harness 是 AI 工程中常被忽略但极其关键的概念——它是模型和用户之间的那层「控制软件」。
关键概念Harness 直译是「马具/挽具」——套在马身上控制它拉车方向的装备。在 AI 语境下,Harness 就是套在大模型外面的那层工程框架,负责把模型的原始能力转化成可控、可用、可靠的功能。
模型 vs Harness 的关系
| 对比项 | 模型(Model) | Harness(驱动框架) |
|---|---|---|
| 角色 | 引擎——提供原始推理能力 | 驾驶舱——控制引擎怎么跑 |
| 做什么 | 预测下一个 Token | 管理上下文、调度工具、处理错误 |
| 有没有状态 | 无状态——每次调用独立 | 有状态——维护会话历史、执行状态 |
| 谁负责 | 模型厂商(OpenAI、Anthropic) | 应用开发者(你) |
| 换个模型 | 引擎换了,能力变了 | 驾驶舱不变,适配新引擎即可 |
Harness 具体干什么
上下文管理
决定哪些历史信息放进 Prompt、哪些该截断、哪些要摘要。控制上下文窗口的使用效率。
工具调度
模型说「我要调天气 API」→ Harness 执行调用 → 拿到结果 → 拼回 Prompt → 让模型继续。整个循环由 Harness 控制。
错误处理
模型输出格式不对?API 超时?工具返回错误?Harness 负责重试、降级、给用户友好提示。
流程控制
什么时候让模型自由发挥,什么时候走固定流程。多步推理的循环逻辑、提前终止条件等。
安全与权限
模型想执行 rm -rf?Harness 拦截。模型想访问其他用户数据?Harness 校验权限。
可观测性
记录每一步的输入输出、Token 消耗、延迟、工具调用链。调试和优化全靠这些数据。
同一个模型,不同的 Harness 会产生完全不同的体验。这就是为什么同样是 GPT-4,ChatGPT 网页版和 API 直接调用的效果差很多——ChatGPT 背后有一整套精密的 Harness 在工作:管理对话历史、注入系统提示、处理工具调用、格式化输出。模型决定了能力上限,Harness 决定了能发挥出多少。
• Cursor / Windsurf:代码编辑器的 Harness——管理文件上下文、调度代码搜索工具、控制 diff 应用
• Claude Code / Codex CLI:终端 Agent 的 Harness——管理项目上下文、调度文件读写和命令执行
• LangChain / LangGraph:通用 Harness 框架——提供了上下文管理和工具调用的积木
• 你的 AI 应用:你自己写的那层 Prompt 管理 + 工具调度代码,就是你的 Harness
全文总结
用一张图串起全文: