深入理解 LLM:从原理到应用

Transparent 2026-08-12 11:16 1

第一部分:背景 (Background)


1.1 分享目的


随着 ChatGPT、Qwen、deepseek 等大语言模型(LLM)的爆发,AI 已经从实验室走向了大众视野。然而,对于许多开发者和非技术人员来说,LLM 仍然像是一个“黑盒”。因此,这篇文章旨在打破这个黑盒,从技术原理到实际应用,为各位佬友建立一个清晰、立体的认知框架。


希望通过这篇文章,回答以下核心问题:



  • LLM 到底是如何“读懂”文字的?

  • 它的内部构造有哪些关键组件?

  • 在实际工作流中,我们如何利用 LLM 构建强大的应用?


1.2 期望结果



  • 去魅与理解:不再将 LLM 视为魔法,而是理解其作为概率模型的本质。

  • 术语通识:能够准确理解并解释 Embedding、Transformer、Attention、Normalization、MoE 等核心术语。

  • 应用视野:了解当前最前沿的 LLM 应用形态(如 AGENT、MCP、SKILLS、HOOKS等),为未来的技术选型和产品创新提供思路。




第二部分:LLM 的网络结构 (Network Structure)


大语言模型(LLM)的本质是一个参数量巨大的深度神经网络,其核心任务是基于上下文进行概率预测(Next Token Prediction)。现代 LLM 几乎全部基于 Transformer 架构。为了深入理解其工作原理,我们需要拆解其核心组件。



2.1 Neural Network (神经网络基础)



技术原理: 神经网络是深度学习的基石,受人脑神经元启发而设计。最基础的单元是感知机(Perceptron)



  • 结构:一个神经网络由输入层(Input Layer)、隐藏层(Hidden Layers)和输出层(Output Layer)组成。

  • 计算过程:y = f(\sum (w_i x_i) + b)。其中 x 是输入,w 是权重(Weight),b 是偏置(Bias),f 是激活函数(Activation Function,如 ReLU、Sigmoid)。

  • 训练本质:通过反向传播算法(Backpropagation)不断调整 w 和 b,使得预测值与真实值的误差最小化。


通俗解释: 想象一个复杂的电路系统



  • 输入:就像是开关,输入信号(比如一张图片的像素值)。

  • 权重 (w):就像是电流的调节旋钮,决定了某个信号有多重要。

  • 激活函数 (f):就像是一个阈值开关,只有电流达到一定强度,才会让信号通过(“激活”神经元)。 训练模型的过程,就是不断调整这些数以亿计的“旋钮”,让这个电路系统对于特定的输入(比如“猫”的图片),总能亮起正确的灯(输出“猫”的标签)。


2.2 Word Embedding (词嵌入)



技术原理: Word Embedding 是将离散的符号(Token)映射到连续的高维向量空间(\mathbb{R}^d)的技术。每个词被表示为一个稠密向量(Dense Vector),向量的维度(d_{model})通常在 2048 到 8192 之间。



  • 数学意义:在这个高维空间中,向量的方向和距离编码了语义信息。余弦相似度(Cosine Similarity)被用来衡量词与词之间的语义接近程度。

  • 线性关系:高质量的 Embedding 能够捕捉类比关系,例如 \vec{v}(King) - \vec{v}(Man) + \vec{v}(Woman) \approx \vec{v}(Queen)


为什么能做类比?



  • 高质量 Embedding 捕捉的不仅是词义,还有"关系"

  • 例如:King 和 Queen 的向量差异主要体现在"性别"维度

  • 所以 King - Man(去掉男性特征)+ Woman(加上女性特征)≈ Queen


通俗解释: 想象一张巨大的多维星图。意思相近的词(星体),在星图上的坐标就越近。



  • 例子:在向量空间中,“猫”和“狗”的坐标会靠得很近,而“猫”和“汽车”的坐标就会很远。


2.3 Position Embedding (位置编码)


技术原理: 由于 Transformer 的 Self-Attention 机制具有置换不变性(Permutation Invariance),即打乱输入顺序不会改变计算结果,因此必须显式注入位置信息。



  • 绝对位置编码 (Absolute PE):为每个位置索引生成一个固定的向量加到词向量上(如 Sinusoidal 编码)。

  • 旋转位置编码 (RoPE, Rotary Positional Embeddings):目前主流 LLM(如 LLaMA)采用的方案。它通过旋转矩阵对向量进行变换,使得模型能够通过相对旋转角度感知 Token 之间的相对位置,具有更好的外推性(Extrapolation)。


通俗解释: 句子中的词序决定了含义。



  • 例子:“小明 咬了 狗” 和 “狗 咬了 小明”。 这两个句子包含完全相同的三个词,但含义天差地别。Position Embedding 就像是给每个词发了一个“号码牌”(No.1, No.2),或者给它们打上不同的“相位标记”,告诉模型谁在前、谁在后。


2.4 RMS Normalization (均方根归一化)


技术原理: 在深度神经网络中,为了防止梯度消失或爆炸,需要对中间层的激活值进行归一化。



  • LayerNorm vs RMSNorm:传统的 LayerNorm 会减去均值并除以标准差。而 RMSNorm(Root Mean Square Normalization)省略了减均值的操作,仅通过均方根进行缩放。

  • 优势:计算更简单高效,且在 LLM 训练中表现出更好的数值稳定性,被 LLaMA、Gemma 等模型广泛采用。


RMSNorm 公式:


\bar{a}_i = \frac{a_i}{\text{RMS}(a)} g_i, \quad \text{where} \quad \text{RMS}(a) = \sqrt{\frac{1}{n} \sum_{j=1}^{n} a_j^2}


通俗解释: 想象你在听一群人合唱,有的人声音极大,有的人声音极小。RMS Normalization 就像是一个智能音量调节器,它不改变每个人声音的音色(相对特征),而是把整体音量调整到一个标准的范围内,让模型能更稳定地“听到”特征,防止训练过程“震耳欲聋”或“细若蚊蝇”。


2.5 Transformer (变换器架构)



技术原理: Transformer 是 LLM 的骨架。现代 LLM 大多采用 Decoder-only 架构(如 GPT 系列)。



  • Self-Attention (自注意力机制):核心公式 Attention(Q, K, V) = softmax(\frac{QK^T}{\sqrt{d_k}})V。它让模型能够计算当前 Token 与上下文中所有 Token 的相关性权重。

  • Multi-Head (多头注意力):将向量切分为多个“头”,让模型能同时关注不同的语义子空间(例如一个头关注语法结构,另一个头关注指代关系)。

  • FFN (前馈神经网络):通常采用 SwiGLU 等激活函数,增加模型的非线性表达能力。


通俗解释: Transformer 就像是一个全知视角的阅读者



  • 例子:读到“那个苹果很红,因为它熟了”时,注意力机制会计算“它”与“苹果”的高度相关性。多头机制则像是有多个分身,一个关注“它”指代谁,另一个关注“它”的状态,从而精准捕捉上下文的深层含义。


2.6 MoE (Mixture of Experts,混合专家模型)



技术原理: 随着模型参数规模的扩大(Scaling Law),推理成本成为瓶颈。MoE 引入了**稀疏激活(Sparse Activation)**机制。



  • 结构:将 FFN 层替换为多个 Expert 网络,并配备一个 Gating Network(门控网络/路由器)。

  • Top-k Routing:对于每个 Token,门控网络只选择 k 个最相关的 Experts 进行计算。

  • 优势:实现了“大参数量(知识容量大)”与“低计算量(推理速度快)”的平衡。例如 Qwen3.5-397B-A17B 模型,总参数 397B,但每次推理仅激活 17B 参数。


通俗解释全科医院 vs. 专家会诊



  • 传统大模型 (Dense):像全科医生,不管什么病都调用大脑所有知识,反应慢。

  • MoE 模型 (Sparse):像一家综合医院。当你因为“头疼”来看病,分诊台(Router)只会把你指引给“神经科专家”,其他骨科、心脏科专家都在休息。这样既拥有全院的知识储备(总参数量大),又能保证看病速度快(单次计算量小)。


2.7 Prompt Engineering (提示词工程)


技术原理: LLM 是基于概率预测下一个 Token 的模型。提示词(Prompt) 本质上是为模型提供上下文(Context),从而改变模型生成下一个 Token 的概率分布 P(y|x)。通过设计特定的输入模式(Pattern),我们可以激发模型潜在的能力(In-Context Learning)。


为什么要使用提示词



  • 引导方向:模型本身是一个包含海量知识的“混沌体”,Prompt 就像是指南针,告诉模型在当前任务中应该调用哪部分知识。

  • 弥补训练不足:通过 Few-Shot(少样本)提示,我们可以在不重新训练模型的情况下,教会模型处理特定格式或领域的任务。

  • 激发推理:对于复杂逻辑问题,简单的提问往往导致错误,而通过 CoT(思维链)提示,可以强制模型“慢思考”,显著提高准确率。


如何写一个好的提示词: 编写高质量 Prompt 的核心公式:CRISPE



  1. C (Capacity/Role):设定角色(例如:“你是一个资深的 Python 工程师…”)。

  2. R (Request):明确任务目标。

  3. I (Instruction):提供详细的步骤说明。

  4. S (Style/Format):指定输出风格或格式(JSON, Markdown 等)。

  5. P (Phases/Examples):给出示例(Few-Shot)或分步思考(Let’s think step by step)。

  6. E (Exclusions):明确不要做什么(负向约束)。


通俗解释: 把 LLM 想象成一个才华横溢但需要指令的实习生



  • 如果你只说“写个报告”,他可能会给你一篇散文。

  • 如果你说:“作为(Role) 市场专员,请帮我写(Request) 一份关于咖啡市场的调研报告,包含(Instruction) 市场规模和竞品分析,格式(Format) 为 PPT 大纲,参考(Examples) 以下模板…”,他就能给你完美的结果。


2.8 Summary (总结)



  • Neural Network: 深度学习的基石,通过调整权重与偏置来拟合复杂的函数关系,模拟人脑处理信息的方式。

  • Word Embedding: 将离散的文字转换为连续的向量,让计算机能够通过数学运算理解词语之间的语义关系。

  • Position Embedding: 为无序的向量序列注入位置信息,确保模型能够理解词序对句子含义的影响。

  • RMS Normalization: 对网络中间层的激活值进行归一化处理,保证训练过程的数值稳定性。

  • Transformer: 基于自注意力机制的核心架构,能够并行处理长文本并精准捕捉全局的语义依赖。

  • MoE: 通过稀疏激活机制,仅调用部分专家网络处理特定任务,实现大参数量与低推理成本的平衡。

  • Prompt Engineering: 通过设计特定的上下文输入来引导模型生成,是在不更新参数的情况下激发模型潜能的关键技术。




第三部分:LLM 的应用 (Applications)


理解了原理,我们再来看看如何将 LLM 的能力应用到实际场景中。


3.1 Agent (智能体)


定义:Agent 是一个拥有“手脚”和“大脑”的系统。它不仅能回答问题,还能规划任务、使用工具、感知环境并采取行动。 核心差异



  • Chatbot:你说“帮我定个闹钟”,它回答“好的,你应该打开手机设置…”(它只负责生成文本)。

  • Agent:你说“帮我定个闹钟”,它直接调用系统的 API,真的帮你定好了闹钟。 通俗解释:如果说 LLM 是一个博学的诸葛亮(大脑),那么 Agent 就是诸葛亮 + 能够调兵遣将的令箭(工具执行能力)。


使用 AI Agent 的技巧与最佳实践 (Best Practices)



  • 任务拆解 (Decomposition):不要试图让 Agent 一口气完成复杂的系统构建。将大任务拆解为“编写配置”、“实现核心逻辑”、“编写测试”等小步骤,成功率会呈指数级上升。

  • 提供上下文 (Context Management):Agent 不是读心者。在提问前,主动把相关文件加入上下文(Context),或者明确告知项目结构。

  • 迭代式引导 (Iterative Guidance):如果 Agent 的第一次回答不完美,不要直接放弃。告诉它哪里不对(例如:“不要使用这个库,改用那个库”),它会像人类工程师一样自我修正。

  • 明确边界 (Clear Boundaries):在涉及文件删除或系统修改的操作时,保持警惕,利用 Agent 的“Human in the loop”机制(如确认步骤)来防止误操作。


3.2 MCP (Model Context Protocol,模型上下文协议)


定义:这是一个由 Anthropic 等公司推动的开放标准,旨在标准化 LLM 与外部数据源(如数据库、Slack、GitHub)的连接方式。 通俗解释AI 时代的 USB 接口



  • 在 MCP 出现之前,如果你想让 ChatGPT 读取你的本地文件,你需要专门写一段代码;想让它读取 GitHub 代码,又要写另一段代码。这就像以前的手机充电器,诺基亚、三星、摩托罗拉互不通用。

  • MCP 就像是 USB Type-C。只要你的数据源(Server)支持 MCP 标准,任何支持 MCP 的 LLM 客户端(Client)都可以直接插上使用,无需重复开发连接器。


MCP 的三大通信模式 (Three Communication Modes): MCP 协议定义了三种主要的通信传输模式,适用于不同的部署场景:



  1. STDIO (标准输入输出)

    • 原理:客户端(Client)直接启动服务器(Server)进程,通过标准输入(stdin)和标准输出(stdout)进行通信。

    • 场景:本地开发、桌面应用(如 Trae 连接本地脚本)。

    • 特点:延迟最低,配置简单,数据不出本机,安全性最高,但仅限于本地环境。



  2. SSE (Server-Sent Events)

    • 原理:基于 HTTP 协议。服务器通过 SSE 通道单向推送事件给客户端,客户端则通过独立的 HTTP POST 请求发送指令给服务器。

    • 场景:远程服务器部署、Web 应用集成。

    • 特点:标准 HTTP 协议,穿透性好(防火墙友好),适合连接远程服务,但交互有一定延迟。



  3. Streamable HTTP

    • 原理:一种优化的 HTTP 通信模式,利用 HTTP 分块传输(Chunked Transfer)等技术,在单个连接中实现类似双向流的效果。

    • 场景:需要高性能流式响应、处理长任务或大规模并发的生产环境。

    • 特点:结合了 HTTP 的兼容性与流式传输的高效性,比传统 SSE+POST 模式在处理复杂异步任务流时性能更优。




3.3 Skill (技能/工具)


定义:Skill 是赋予 Agent 的具体能力单元,通常表现为一组可被调用的函数(Function Calling)或 API 接口。 通俗解释游戏角色的技能树



  • 一个基础的 LLM 就像一个 1 级的游戏角色,只有普通攻击(对话)。

  • 我们可以给它装备“技能卡”:

    • Web Search Skill:让它能联网搜索。

    • Python Interpreter Skill:让它能写代码并运行计算。

    • File Edit Skill:让它能修改文件。 Agent 根据任务需求,动态选择使用哪个 Skill,这就是 Skill 的本质。




深入解析 Skill: Skill 是连接 LLM 抽象思维与数字世界的桥梁。一个成熟的 Skill 通常包含以下要素:



  • Schema (元数据):告诉 LLM 这个技能叫什么、做什么、需要什么参数(例如:weather(city: string))。LLM 正是通过阅读这份“说明书”来决定何时调用。

  • Implementation (实现逻辑):真正的代码逻辑,运行在本地或云端(如 Python 脚本、API 请求)。

  • Lifecycle (生命周期)

    1. 感知 (Discovery):LLM 扫描可用的 Skills 列表。

    2. 规划 (Planning):LLM 根据用户问题(“今天北京天气如何?”)决定调用 get_weather Skill。

    3. 执行 (Execution):Agent 执行代码,获取结果(“北京,晴,25度”)。

    4. 观测 (Observation):LLM 收到结果,并将其转化为自然语言回答用户。 Skill vs Tool: 在许多语境下二者通用,但 Skill 往往指代更高级的、面向用户的能力封装(比如“写代码技能”可能包含读文件、写文件、运行终端等多个底层 Tool 的组合)。




3.4 Hooks (生命周期钩子)


定义:Hooks 是 AI Agent 框架中预埋的拦截点(Interception Points),允许开发者在 Agent 执行流程的特定阶段(如思考前、工具调用后、出错时)插入自定义代码,而无需修改 Agent 的核心循环逻辑。


通俗解释流水线上的质检员与记录员



  • 想象 Agent 的工作流是一条生产流水线。

  • 如果没有 Hooks,货物(信息)从头流到尾,中间发生了什么你很难干预。

  • 有了 Hooks,你可以在流水线上设置几个“关卡”:

    • 事前关卡 (Pre-hook):在 Agent 说话前,检查一下有没有敏感词(安全过滤)。

    • 事中关卡 (Tool-hook):在 Agent 要调用“转账”工具时,弹窗让用户点击确认(Human-in-the-loop)。

    • 事后关卡 (Post-hook):在任务结束后,自动把消耗的 Token 数记录到 Excel 里(计费审计)。




深入解析 Hooks: Hooks 极大增强了 Agent 系统的可扩展性与可观测性。常见的 Hook 类型包括:



  • On_Planning / Pre_Run:在 LLM 接收用户输入并开始规划前触发。常用于修改 Prompt、注入动态上下文或进行权限校验。

  • On_Tool_Call:在 LLM 决定调用某个工具,但尚未真正执行时触发。这是实现“人机协同(Human Approval)”的最佳时机。

  • On_Tool_Result:在工具执行完毕,拿到结果但尚未传回给 LLM 时触发。常用于清洗数据(比如截断过长的日志)以节省 Token。

  • On_Error:当系统发生异常时触发。可用于重试机制或优雅降级(Graceful Degradation)。


Why Hooks? 构建生产级 Agent 时,Hooks 是必不可少的。它让“业务逻辑”(如计费、风控、日志)与“智能逻辑”(LLM 的思考)解耦,保持代码的整洁与可维护性。


3.5 Summary (总结)



  • Agent: 拥有“大脑”与“手脚”的智能系统,不仅能进行对话,还能通过规划和调用工具来感知环境并自主完成复杂任务。

  • MCP: AI 时代的通用连接标准(类似 USB),旨在标准化 LLM 与外部数据源及工具的通信方式,极大降低了集成成本。

  • Skill: 赋予 Agent 的具体能力单元(如搜索、代码执行),连接了 LLM 的抽象思维与具体的数字世界操作。

  • Hooks: 插入 Agent 执行流程中的拦截点,用于实现日志监控、安全审计、权限控制等非核心业务逻辑的解耦与扩展。


ps:这片文章是我之前在公司内部组织的一次技术分享会上进行分享的,因为发现公司里很多人虽然每天都在使用大语言模型,但是并不知道内部的具体逻辑,只是当做一个黑盒在用,所以在此背景下诞生了这篇文章。为了方便大家理解,没有引入特别复杂的数学逻辑和推导过程,除此之外每个技术组建后面都附上了比较通俗易懂的例子。以上所有内容均为自己对LLM的一点理解,如果各位佬友发现其中有描述模糊或者错误的地方,请帮忙指出(万分感谢)。


如果佬友们对其中的某一个或者某几个LLM组件或者工具感兴趣的话,之后我可能会单独开一个话题来展开说一下。


希望通过这篇文章,可以帮助各位佬友更好的了解LLM,使用LLM,哪怕只有一点点 ^-^

最新回复 (9)
  • 🍏네로🍎 08-12 11:34
    2

    已经收藏了,感谢大佬分享教程 ^-^

  • moon 08-12 11:45
    3

    感谢大佬分享的教程,已经收藏了,谢谢

  • a1ive 08-12 11:45
    4

    上来就llm ,人工智能基础讲的太少太泛了,我这里推荐一本书:Michael A. Nielsen, “Neural Networks and Deep Learning”,

    Determination Press, 2015 有中文版 配合3B1B的线代+深度学习基础,会有一个更好的理解

  • moon 08-12 11:46
    5

    佬,有电子版的吗?在哪里可以下载

  • fourier1 08-12 11:52
    6

    Transformer Explainer: LLM Transformer Model Visually Explained 推荐个网站

  • Transparent 楼主 08-12 11:52
    7

    本来针对的就是0基础的,如果直接上来看这本书的话,大部分人感觉都不会去看的

  • a1ive 08-12 11:54
    8

    github上应该有很多,papers-about-ML/神经网络与深度学习中文版.pdf at master · oswen/papers-about-ML · GitHub

  • 初九猫 08-12 11:56
    9

    感觉没有很浅显,我不是程序员,但是之前看过一个讲LLM原理的合集我觉得非常浅显易懂,真正适合零基础

    AI是怎么回事

  • Dur 08-12 12:00
    10

    一直有个疑问,输出的内容肯定基于一定量的基础数据,那这些基础数据从何而来的,不联网本地使用也得把这些基础数据都下载到本地吗

* 帖子来源Linux.do
返回