大语言模型基础——拆解“智能体大脑”的构建原理
欢迎来到第三章节的学习。如果说前两章我们是在了解智能体是个“什么样的人”以及他的“家谱”,那么这一章,我们要真正打开它的头盖骨,看看那个被称为“大语言模型(LLM)”的大脑到底是如何像生物神经元一样运作的。别被那些学术名词吓倒。什么 Transformer、注意力机制、自回归……把它们当成我们为了造出一个“会说话的机器”而发明的一系列精巧的工具。我们会用最直观的方式拆解它们。准备好了吗?让我们开始
前言:像老师一样思考
欢迎来到第三章节的学习。如果说前两章我们是在了解智能体是个“什么样的人”以及他的“家谱”,那么这一章,我们要真正打开它的头盖骨,看看那个被称为“大语言模型(LLM)”的大脑到底是如何像生物神经元一样运作的。
别被那些学术名词吓倒。什么 Transformer、注意力机制、自回归……把它们当成我们为了造出一个“会说话的机器”而发明的一系列精巧的工具。我们会用最直观的方式拆解它们。
准备好了吗?让我们开始这趟大脑漫游之旅。
第一部分:从“鹦鹉学舌”到“拥有灵魂”——语言模型的进化史
在深度学习称霸之前,教计算机说话是一件很笨拙的事情。
1.1 统计时代的“盲人摸象”:N-gram 模型
最早的语言模型非常单纯。它们认为,想知道下一词说什么,只要看看前面几个词就够了。这就是 N-gram。
- 核心思想:依靠统计。如果在过去的书里,“我喜欢”后面接“吃苹果”的概率最高,那我就猜“吃苹果”。
- 马尔可夫假设:这是它的“短视症”根源。它假设一个词的出现只与它前面 N-1 个词有关。
- Bigram (N=2):只看前 1 个词。
- Trigram (N=3):只看前 2 个词。
【案例重现:Datawhale Agent】
假设我们有一个微型语料库:
datawhale agent learnsdatawhale agent works
我们要算 datawhale agent learns 这句话的概率。
- Bigram 视角下,我们把句子切成两截:
datawhale -> agent和agent -> learns。 P(agent|datawhale) = 100%(因为 datawhale 后面总是跟 agent)P(learns|agent) = 50%(因为 agent 后面一半是 learns,一半是 works)- 最终概率就是它们的连乘。
现实中的痛点:它无法理解“语境”。如果你说“昨天我在苹果店买了一个……”,N-gram 可能会填“苹果”,但如果前面哪怕再多几个词提到“屏幕碎了”,它可能就不知道该填“iPhone”了。它就像一个盲人,摸到象腿说是柱子,摸到象耳说是扇子,因为他摸到的范围太小了。
1.2 神经网络的魔法:从“单词”到“向量”
为了让计算机理解“苹果”和“梨”是近亲,而不是毫无关系的两个符号,我们引入了 词嵌入 (Word Embedding)。
- 核心概念:把每个词变成高维空间的一个点(向量)。
- 神奇的“数学炼金术”:
在这个空间里,词与词的距离代表了它们的语义距离。最经典的案例是:
King⃗−Man⃗+Woman⃗≈Queen⃗ \vec{King} - \vec{Man} + \vec{Woman} \approx \vec{Queen} King−Man+Woman≈Queen
这说明模型通过向量运算,“学会”了性别的概念。
【RNN:有了记忆,但记不久】
为了解决 N-gram 记不住长句子的毛病,科学家发明了 循环神经网络 (RNN)。
它像一个在流水线上工作的工人,处理完一个词,就把记忆(隐藏状态)传给下一个时刻的自己。
- 局限:长期依赖问题。就像传话游戏,传到第 100 个人时,最初的信息早就面目全非了(梯度消失)。虽然 LSTM(长短时记忆网络)加了些“开关”来试图锁住记忆,但依然无法处理超长文本。

1.3 真正的变革者:Transformer
2017年,Google 一篇《Attention Is All You Need》改变了一切。它抛弃了“循环”,拥抱了“注意力”。
【核心隐喻:全知图书馆】
如果说 RNN 是在读如晦涩的长卷轴,读到后面忘了前面;那么 Transformer 就像是拥有了“上帝视角”。
- 自注意力机制 (Self-Attention):
想象你在图书馆读书(如上图)。当你读到“它”这个词时,书页上会射出无数道光线,自动照亮前文中提到的“那个苹果”、“那个特工”或者任何“它”可能指代的东西。
这些光线的亮度(权重),就是模型对上下文的“关注度”。模型不需要按顺序读,它一眼就能看完整个句子,并瞬间理清所有词之间的关系。- Q (Query):我拿着问题去查。
- K (Key):书脊上的标签。
- V (Value):书里的内容。
- 公式:Attention(Q,K,V)=softmax(QKTdk)VAttention(Q,K,V) = softmax(\frac{QK^T}{\sqrt{d_k}})VAttention(Q,K,V)=softmax(dkQKT)V ——本质就是算相关性,然后加权求和。
1.4 GPT 的极简主义:Decoder-Only
ChatGPT 采用的 GPT 架构,是 Transformer 的一个变体,叫 Decoder-Only。
它抛弃了负责“理解输入”的 Encoder,只保留负责“生成”的 Decoder。
- 游戏规则:文字接龙(自回归)。
- 原理:永远只预测下一个字。
- 为什么这么强?:虽然任务简单(猜下一个词),但为了猜得准,它被迫学会了逻辑、常识甚至代码。因为只有理解了世界,才能完美地预测下一个字。
第二部分:如何驾驶这台大脑——与 LLM 交互的艺术
拥有了大脑,我们还需要学会如何操控它。
2.1 提示工程 (Prompt Engineering):用英语编程
提示词不是咒语,它是除了代码之外的第二种编程语言。
【温度控制:Temperature】
你在调用 API 时会看到 Temperature 参数。

- 左侧 (Low Temp, ~0.1):严谨模式。
- 模型变得保守,只选概率最高的词。
- 适用:数学题、代码生成、事实问答。你不想让模型在写 Python 代码时发挥“创意”。
- 右侧 (High Temp, ~0.8):狂野模式。
- 模型会尝试那些概率没那么高的词,产生多样性。
- 适用:写诗、头脑风暴、写小说。
【少样本提示 (Few-Shot)】
不要只下命令,要给示范。
- Bad Prompt: “把这个转成 JSON。”
- Good Prompt: “把这个转成 JSON。例如:输入’A bought B’ -> 输出 {‘buyer’: ‘A’, ‘item’: ‘B’}。现在处理:‘Jack sold a car’…”
这能极大地规范模型的输出格式,对于 Agents 也就是“工具调用”至关重要。
2.2 文本分词 (Tokenization):机器的咀嚼方式
模型看不懂 “Apple”,它只看得到数字 ID。

【关键认知】
- Token != 单词:
- 常见词 “Agent” 可能是一个 Token。
- 生僻词 “Antigravity” 可能会被切碎成 “Anti”, “grav”, “ity” 三个 Token。
- 算术陷阱:
- 为什么 GPT-3 以前算数很烂?因为对它来说,
583可能是一个独立的 ID,它没学过5+8+3的逻辑。现在的分词器改进了对数字的处理,但依然敏感。 - 实践:写公式时,
1 + 1(带空格) 往往比1+1(无空格) 更容易被模型理解,因为空格帮助它分清了边界。
- 为什么 GPT-3 以前算数很烂?因为对它来说,
- 计费单位:你的钱是按 Token 烧的,不是按字数。中文通常比英文占更多 Token(按字节算),这意味着同样的钱,英文能写更多内容(虽然现在差距在缩小)。
第三部分:边界与真相——缩放法则与幻觉
3.1 缩放法则 (Scaling Laws):大力出奇迹?
OpenAI 发现了一个惊人的规律: 模型性能与参数量、数据量、计算量呈幂律关系。
这意味着,只要你堆更多的显卡、喂更多的数据,模型就会变强,几乎没有瓶颈。这就是为什么现在的模型越来越大。
- 修正 (Chinchilla Law):大家以前只顾着把模型做大,忽略了数据量。Chinchilla 告诉我们,多喂数据比单纯做大模型更划算。与其练一个傻大的 175B 模型,不如练一个精悍的 70B 模型但喂它 4 倍的数据。Llama 系列就是这一哲学的践行者。
3.2 幻觉 (Hallucination):一本正经的胡说八道
这是所有 Agent 开发者的噩梦。
- 本质:模型不是在“回忆”事实,它是在“生成”概率上合理的词。如果它可以编造一个看起来很像真的的函数名
UseToolX()来让句子通顺,它就会毫不犹豫地编造。 - 解药:
- RAG (检索增强生成):考试时允许翻书。让模型先去搜这一段知识,再回答。
- 工具调用:遇到计算题,别让它心算,给它一个计算器工具。
第四部分:剔除学术噪音——给开发者的10条现实建议
把教科书扔一边,这里是你在构建 Agent 时真正需要记住的:
-
Token 是金钱,也是生命线:
上下文窗口(Context Window)虽大,但不是无限的。塞入过多无关的垃圾信息(如超长的无关 Logs),不仅浪费钱,还会降低模型的注意力,导致它忽略关键指令(Lost in the Middle 现象)。 -
Prompt is Code:
对待提示词要像对待代码一样。建立版本控制,写测试用例。在这个时代,英语(或中文)就是最高级的编程语言。 -
不要相信模型的记忆,相信它的推理:
不要指望模型背下了你公司的内部文档。它记不住。它擅长的是你把文档喂给它(通过 Context),然后让它基于文档做推理。 -
温度 (Temperature) 决定性格:
做客服 Agent?Set T=0.2。做创意写手 Agent?Set T=0.8。永远不要用默认参数走天下。 -
Chain-of-Thought 是智商倍增器:
遇到复杂任务,强制模型“Let’s think step by step”。这不仅是玄学,它实际上是给了模型更多的计算时间(生成更多 Token)来理清逻辑,然后再给出最终答案。 -
结构化输出是 Agent 的基石:
想让 Agent 能够自动执行任务,必须强制模型输出 JSON 或 XML。不要让它输出自然语言,因为代码很难解析“好的,我已经帮你做完了…”这种废话。 -
警惕“空格”里的幽灵:
分词器对空格非常敏感。function_name和function name是完全不同的 Token 序列。在设计 DSL 或特定指令格式时,保持分隔符的一致性至关重要。 -
RAG 不是万能药:
虽然 RAG 能缓解幻觉,但如果检索回来的片段是垃圾,模型输出的也是垃圾(Garbage In, Garbage Out)。优化检索质量往往比优化 prompt 更重要。 -
模型是“概率机器”而非“逻辑机器”:
它不会真正地“思考”A > B,它只是知道A > B这类文本出现的概率高。所以在做严谨逻辑判断时,最好让它写 Python 代码来运行,而不是让它“想”。 -
本地模型是未来的隐私护盾:
虽然 GPT-4 很强,但在处理敏感数据(PII)时,像 Qwen 或 Llama 这样能跑在本地显卡上的模型是唯一的合规选择。学会部署本地模型是 Agent 开发者的必修课。
结语
现在你已经了解了大脑的构造。它不是魔法,它是数学,是统计,是工程奇迹。这就是为什么你的 Agent 有时候聪明得惊人,有时候又蠢得好笑。
理解了 Transformer,你就理解了它的注意力极限;理解了 Token,你就懂了它的计费逻辑;理解了 Temperature,你就掌握了它的情绪按钮。下一章,我们将不再只是观察这个大脑,而是把它连上四肢(工具),让它真正动起来。
更多推荐



所有评论(0)