第一部分:背景 (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
- C (Capacity/Role):设定角色(例如:“你是一个资深的 Python 工程师…”)。
- R (Request):明确任务目标。
- I (Instruction):提供详细的步骤说明。
- S (Style/Format):指定输出风格或格式(JSON, Markdown 等)。
- P (Phases/Examples):给出示例(Few-Shot)或分步思考(Let’s think step by step)。
- 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 协议定义了三种主要的通信传输模式,适用于不同的部署场景:
- STDIO (标准输入输出)
- 原理:客户端(Client)直接启动服务器(Server)进程,通过标准输入(stdin)和标准输出(stdout)进行通信。
- 场景:本地开发、桌面应用(如 Trae 连接本地脚本)。
- 特点:延迟最低,配置简单,数据不出本机,安全性最高,但仅限于本地环境。
- SSE (Server-Sent Events)
- 原理:基于 HTTP 协议。服务器通过 SSE 通道单向推送事件给客户端,客户端则通过独立的 HTTP POST 请求发送指令给服务器。
- 场景:远程服务器部署、Web 应用集成。
- 特点:标准 HTTP 协议,穿透性好(防火墙友好),适合连接远程服务,但交互有一定延迟。
- 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 (生命周期):
- 感知 (Discovery):LLM 扫描可用的 Skills 列表。
- 规划 (Planning):LLM 根据用户问题(“今天北京天气如何?”)决定调用
get_weather Skill。
- 执行 (Execution):Agent 执行代码,获取结果(“北京,晴,25度”)。
- 观测 (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,哪怕只有一点点 ^-^