Skip to content

LLM 到底在做什么?Agent 开发者必须掌握哪些基础 ​

内容摘要:本章为 Agent 开发者建立「够用且准确」的模型心智:概念层级、Transformer 直觉、Token 与 Embedding、注意力、推理与采样。目标不是训练模型,而是理解 Agent 每次调用模型时到底发生了什么、哪些是可控的、哪些是非确定性的。 难度:入门 | 前置知识:无

常见误区

LLM 会像数据库一样保存事实,也会自动记住上一次请求;只要把温度设为 0,输出就一定可以逐字复现。

先给结论 ​

大语言模型(Large Language Model,LLM)的核心任务是根据上下文预测下一个 Token。模型调用本身无状态,记忆、联网、检索和执行动作都来自应用层;Token 预算、Embedding 和采样参数则直接影响 Agent 的成本、召回与稳定性。

带着这三个问题阅读:

  1. AI、机器学习、深度学习、生成式 AI 与 LLM 分别处在哪一层?
  2. Token、Embedding 和注意力为什么会影响 Agent 的工程设计?
  3. 模型输出具有非确定性时,测试为什么不能依赖逐字匹配?

一、概念层级:别把它们混为一谈 ​

许多 Agent 事故源于概念混淆。先把层级理清:

  • 人工智能(Artificial Intelligence,AI):最宽泛的目标——让机器完成需要智能的任务。
  • 机器学习(Machine Learning,ML):不写死规则,而是从数据中学习。
  • 深度学习(Deep Learning,DL):用多层神经网络自动学习特征表示。
  • 生成式 AI(Generative AI,GenAI):生成新内容(文本、图像、音频、代码)。
  • 大语言模型(Large Language Model,LLM):在海量文本上训练、以「预测下一个 Token」为核心任务的模型。

对 Agent 的意义:Agent 的「大脑」是 LLM,但 LLM 只会生成文本。它不会真正「执行」任何动作——所有动作都由你的应用代码在模型输出之外完成。这条边界是全书的地基,详见 02 Agent 概念。

二、Transformer:为什么是它 ​

现代 LLM 绝大多数基于 Transformer 架构(Vaswani 等,2017,《Attention Is All You Need》)。你不需要能手推反向传播,但需要三个直觉:

  1. 自回归生成(autoregressive):模型一次预测一个 Token,把它拼回输入,再预测下一个,如此循环。这解释了流式输出、延迟随输出长度增长、以及为什么模型「说错了就顺着错下去」。
  2. 注意力机制(Attention):生成每个 Token 时,模型会按相关性对上下文中所有 Token 加权。这让它能利用长距离依赖,但也意味着上下文越长,计算越贵。
  3. 无状态(stateless):模型本身不记忆上一次调用。所谓「记忆」「多轮对话」,都是你的应用把历史重新拼进这次输入。详见 10 记忆。

三、Token:模型的计价与计量单位 ​

模型不按「字」或「词」处理文本,而是按 Token(词元)。分词器(tokenizer)把文本切成 Token,一个英文单词可能是 1 个 Token,一个中文字通常是 1–2 个 Token。

为什么开发者必须关心 Token:

  • 上下文窗口(context window) 以 Token 计:输入 + 输出的 Token 总数不能超过上限。
  • 计费按输入/输出 Token 数分别计算(见 18 性能与成本)。
  • 截断发生在 Token 层面:超限时最早的内容被丢弃,可能悄悄丢失关键指令。
python
# 粗略估算 Token 数(仅用于容量预估,不用于精确计费)。
# 经验值:英文约 4 字符/Token;中文约 1.5 字符/Token。精确值需用对应模型的分词器。
def rough_token_estimate(text: str) -> int:
    """返回文本 Token 数的粗略上界估计。[非确定性] 不同模型分词器结果不同。"""
    ascii_chars = sum(1 for c in text if ord(c) < 128)
    cjk_chars = len(text) - ascii_chars
    return round(ascii_chars / 4 + cjk_chars / 1.5)

print(rough_token_estimate("MySQL 的回表 back to table 是什么?"))  # 约 12~16

[待验证]:精确 Token 数请用目标模型官方分词器(如 tiktoken 或厂商 SDK)计算。上面的估算仅用于「会不会超窗口」的量级判断。

四、Embedding:把文本变成可比较的向量 ​

嵌入向量(Embedding) 把一段文本映射为一个高维稠密向量(如 1024 维),语义相近的文本向量距离更近。它是 RAG(11)和长期记忆(10)语义检索的基础。

python
import math

def cosine_similarity(a: list[float], b: list[float]) -> float:
    """余弦相似度:越接近 1 越相似。生产中由向量库计算,这里演示原理。"""
    if len(a) != len(b):
        raise ValueError("向量维度必须一致")
    dot = sum(x * y for x, y in zip(a, b))
    na = math.sqrt(sum(x * x for x in a))
    nb = math.sqrt(sum(y * y for y in b))
    if na == 0 or nb == 0:
        raise ValueError("零向量无法计算余弦相似度")
    return dot / (na * nb)

# 演示(真实 Embedding 由模型生成,维度通常成百上千)
print(cosine_similarity([1.0, 0.2, 0.0], [0.9, 0.3, 0.1]))  # 约 0.98

生成文本的 LLM 与生成 Embedding 的模型通常是不同的模型,计费与维度各自不同。

五、推理与采样:哪些参数你能控制 ​

模型「预测下一个 Token」时,实际输出的是一个覆盖全词表的概率分布。采样参数决定如何从分布中选取 Token:

参数作用对 Agent 的建议
temperature温度,越高越随机、越有创造性;越低越确定Agent 的决策/工具调用建议接近 0,保证可复现
top_p核采样,只在累计概率前 p 的 Token 中采样与 temperature 二选一调节,通常不同时大改
max_tokens限制单次输出长度防止失控长输出与超额成本
stop停止序列,遇到即停用于约束结构化输出边界
seed随机种子(部分厂商支持)提高可复现性,但不保证完全一致

关键认知——非确定性(non-determinism):即便 temperature=0,多数厂商也不保证逐字节可复现(受硬件、批处理、版本影响)。因此 Agent 的测试不能以「看起来对」为准,必须用断言、测试集或轨迹检查,见 16 测试与评估。

六、失败路径:基础层面最常见的三个坑 ​

  1. 把模型当数据库:模型的「知识」是训练时的统计,不是实时事实,会幻觉。需要事实就用 RAG(11)或工具(06)。
  2. 忽视上下文窗口:历史越堆越长,最终超窗被截断,模型「忘记」系统指令。需要上下文工程(05)。
  3. 默认高温度:在需要稳定决策的 Agent 里用高 temperature,导致行为飘忽、难以测试。

七、测试与验证 ​

  • Token 预算:对典型输入用官方分词器计算,确认不超窗口。
  • 确定性检查:同一输入连续调用多次,观察输出差异,据此决定 temperature 与测试断言的宽松度。
  • Embedding 检索质量:准备「查询→期望命中文档」的小样本,测召回是否正确(见 11)。

八、安全与权限 ​

  • 模型输出是文本,本身无害;风险在于你如何使用这段文本(拿去执行、拼 SQL、发消息)。安全边界属于应用层,见 14 安全。
  • 输入到模型的一切外部文本都可能携带提示注入,默认不可信。

九、性能与成本 ​

  • 成本 ≈ 输入 Token × 输入单价 + 输出 Token × 输出单价。缩短上下文、限制 max_tokens 是最直接的降本手段。
  • 延迟主要由输出 Token 数驱动(自回归逐 Token 生成),流式输出可改善首字延迟体验,见 18。

十、关联章节 ​

面试复述 ​

LLM 是基于上下文生成 Token 的概率模型,不是数据库、搜索引擎或执行器。Agent 开发者至少要理解 Token 预算、上下文窗口、Embedding、采样和无状态调用,因为记忆、RAG 与工具执行都由应用层补齐。

复述时先给结论,再补机制、适用边界和一个可验证指标;不要只罗列框架名称或产品功能。

迁移练习 ​

选取一次真实模型调用,标出输入与输出 Token、历史消息装配位置、采样参数和外部事实来源;再说明如果移除应用代码,模型还剩下哪些能力。

检索关键词 ​

LLM 原理 Transformer 直觉 Token 计费 Embedding 相似度 采样参数 temperature 模型非确定性

官方来源 ​

  • Vaswani et al., "Attention Is All You Need"(论文原文)
  • 各模型厂商官方文档的「Tokenizer」「Sampling parameters」章节(使用前请以目标模型文档为准,verified_at: 2026-09-07)

ICP 备案号待补充 · Gitee 主页