大语言模型(LLM)基础
在深入了解智能体和协议之前,有必要先弄清楚大语言模型底层到底发生了什么。这一页是本文档所有其他页面的概念基础。
LLM 到底是什么?
大语言模型是一种在海量文本上训练的神经网络,用于完成一项看似简单却十分强大的任务:给定一段文本序列,预测最可能出现的"下一个词元"。 通过不断重复这一预测,一个词元接一个词元,句子和段落便被构建出来。令人惊讶的是,推理、总结、翻译乃至编写代码等能力,正是从这一看似简单的任务中涌现出来的。
分词(Tokenization)
语言模型并不直接处理字母或单词;文本首先会被切分成更小的单位,称为词元(token) (可以是一个完整单词、单词的一部分,甚至是一个字符)。例如,"hello world" 可能会被切分成两到三个词元。 大多数语言模型 API 的使用成本也是按词元数量计算的,而不是按字符数或单词数。
Transformer 架构
当今几乎所有的 LLM 都建立在 2017 年提出的 Transformer 架构之上。其关键机制是 自注意力(Self-Attention):为了预测每个词元,模型会查看之前的所有词元,并赋予每个词元一个"权重", 表示它对当前预测的重要程度。正是这一机制,使模型能够捕捉文本中的长距离依赖关系(例如,记住三行之前提到的句子主语)。
训练阶段
- 预训练(Pretraining) — 模型在海量通用文本(网页、书籍、代码)上训练,以学习语言和通用知识。
- 微调(Fine-tuning) — 模型在更小、更具针对性的数据集(例如对话或指令)上进行精细调整。
- RLHF / 对齐(Alignment) — 借助人类反馈,模型学会给出更有帮助、更安全、更符合用户意图的回答。
上下文窗口(Context Window)
模型在每次调用中,只能访问有限数量的文本(以词元计量)作为其"工作记忆";这一范围被称为上下文窗口。 超出这一窗口的任何内容,对模型在那次特定调用中而言实际上并不存在——正是这一限制,促成了 RAG 和 智能体记忆 等概念的产生。
基础提示词编写
当今大多数语言模型 API 都以带有明确角色的消息列表形式接收对话:
[
{ "role": "system", "content": "You are an online store assistant." },
{ "role": "user", "content": "How much is the model X wireless headset?" }
]
system 角色设定模型的整体行为,user 是用户的消息,assistant 是模型的回复。
输出采样参数(解码)
模型在每一步都会针对下一个词元,在整个词表上生成一个概率分布,而不是一个确定的答案。 从这个分布中选择哪个词元,取决于几个可调参数:
- Temperature — 选择时的"冒险程度"。接近零的值意味着总是选择最可能的词元(输出更可预测、更重复);更高的值(例如 1 以上)则让可能性较低的词元也有机会被选中(输出更多样,但出错风险更高)。
- Top-p(核采样) — 模型不考虑整个词表,而只从概率总和达到 p(例如 0.9)的最小词元集合中进行选择。它通常与 Temperature 结合使用,既能控制多样性,又能彻底排除概率极低的无关词元。
- Top-k — 与 Top-p 类似,但不是设定概率阈值,而是固定考虑最可能的若干个词元(例如前 40 个)。
对于需要精确性和一致性的应用场景(例如结构化信息提取,或智能体中的工具调用),通常选择较低的 Temperature; 对于创意内容生成,则选择更高的值。
局限性
- 幻觉(Hallucination) — 模型可能会非常自信地生成错误信息。
- 知识截止(Knowledge Cutoff) — 模型只"知道"训练截止时间之前的内容。
- 上下文窗口限制 — 无法同时处理无限量的文本。
- 非确定性(Non-determinism) — 对相同输入的回答,每次可能略有不同。
为何这些基础知识对代理型商务很重要?
当一个 AI 智能体准备代表用户完成购买时,这些局限性会直接影响你的系统设计:知识截止意味着智能体需要通过工具获取 实时信息(例如库存),而这正是 MCP 所实现的功能。上下文窗口限制意味着 无法将整个产品目录塞进一个提示词中,因此需要智能检索——这正是 RAG 页面所讨论的主题。
常见问题
LLM 真的会"思考"吗?
从技术上讲,模型是在进行下一个词元的统计预测,而非人类式的推理。但实际上,大规模的统计预测在行为上会表现得非常像推理。
模型参数和词元(token)有什么区别?
参数是神经网络内部的权重,在训练中被调整(训练后固定不变);词元是模型在使用时流经的文本单位。