博客
记录技术、产品与思考
AI 大模型探针连载
已更新 14 / 14 篇查看目录 →用 11 根探针,从你最熟的产品,挖到大模型最底层的原理
我用 11 个探针,把 AI 大模型从应用到原理由浅入深挖一遍
AI 这两年新词一茬接一茬,Token、Attention、MoE、MCP、Agent、RAG……啃论文太重,刷科普又太散,不知从哪下手。我用 11 根探针,每篇从一个你最熟悉的现象出发,由浅入深一路挖到大模型最底层的原理,再配一张由浅入深的学习路径图,带你把 AI 大模型从应用挖到原理。
探针 1|为什么你每次问大模型,答案都不一样
你问大模型同一个问题,每次答案都不一样,是它在瞎编吗?不是——模型每吐一个字,都是一次概率『抽签』,temperature 就是控制这副牌有多乱的旋钮。这篇从一个最熟悉的现象,一路挖到 logits、softmax、采样这些最底层的机制,最后揭开一个反直觉的真相:就算你把温度设成 0,云端 API 的答案,仍可能不一样。
探针 2|AI 为什么按「字」收费,中文还比英文贵
你用大模型 API,账单按 token 算,不按字也不按词,中文还比英文贵——凭什么?这篇从「按字收费」的体感起手,一路挖到 token 是什么、BPE 怎么按高频片段切文本、中文为什么在分词器词典里被切碎,最后揭开一个反直觉的坑:遇上 emoji 和生僻字,一个字能烧掉四个 token。
探针 3|大模型是怎么被「炼」出来的
你天天用的 ChatGPT,本事从哪来?它刚「出生」时啥都不会,是被人「炼」出来的。这篇挖透:先纠正模型不是一锅炖出来,分两大步——预训练让它在几万亿 token 的语料里玩「猜下一个字」的接龙,逼它把语法、事实、推理都内化;再揭开一个反直觉真相:预训练完的模型其实根本不会聊天,你问「你好」,它只会续写出「产品使用说明」,一问一答是后面叫「对齐」的步骤(SFT + RLHF/DPO)才教会的。
探针 4|Claude Code 凭什么能自己干活
你天天用的 Claude Code,给句话就自己改代码、跑测试、修 bug,全程不用人盯——它怎么突然就能自己干活了?这篇挖透:先纠正模型自己根本不动手,真正干活的是它外面套的壳(harness);它俩靠一个叫 model loop 的循环配合(想 → 调工具 → 拿结果 → 再想);模型调工具靠 Function Calling,但模型只会『说』要调、真正执行的是 harness;最后揭开一个反直觉真相:你以为 AI 在改你代码,其实模型从没碰过你的硬盘,从头到尾它只在输出文字。
探针 5|为什么 AI 聊着聊着,就忘了你前面说的话
你跟 AI 聊了半天,它突然不记得你最开头说的话了——是它像人一样记忆衰退吗?不是。这篇挖透:先纠正它不是『渐渐忘』,是固定大小的上下文窗口装不下、最旧的内容被一刀切挤掉;窗口内的内容它靠 KV Cache 记着(每生成一个字,前面的中间结果存着重复用);最后揭开为什么窗口不能无限大——注意力是 N²,长度翻倍计算量翻四倍,记得越多越烧钱。
探针 6|GPT 是怎么看懂一张图的
你给 GPT、Claude 发张图,它能认出里头是猫是狗、读出图上的文字、解说这个梗好笑在哪——可图是一堆像素,模型不是只认 token 吗?这篇挖透:模型从不直接看像素,图先由视觉编码器切成一堆小方块(patch),每块压成一个 token;这些图 token 和文字 token 拼在一起,用同一套注意力一起算;它『看懂』图,靠的是训练时把图和文字配对、绑到同一个语义空间。最后揭开一个反直觉真相:你以为发张图不算啥,其实一张图要吃掉窗口里几百个 token,把你的对话历史挤走。
探针 7|Agent、RAG、MCP 到底啥区别
AI 圈天天挂嘴边的 Agent、RAG、MCP,到底是啥关系?平级?替代?这篇用四层地图把它们摆到同一张图上定位:都在『把模型用起来』的应用层,但解决完全不同的问题——Agent 是让模型自己干活的整体方案,RAG 是给模型外挂一个知识库,MCP 是连接工具的统一协议。最后理清一个让人迷糊的点:它仨不是平级、更不是替代,而是层级关系——Agent 是整体方案,RAG 和 MCP 是它常用的两个零件,一个 Agent 往往既查知识(RAG)又调工具(MCP)。
探针 8|给 AI 接个工具,为什么这么麻烦
给 AI 接个工具,怎么这么麻烦——接一个写一套,接十个写十套。这篇挖透:麻烦的根源不是某个工具难接,是组合爆炸,N 个 AI 应用 × M 个工具 = N×M 套对接代码;MCP(模型上下文协议)干的就是把它压成 N+M,定一个统一协议,工具按同一标准暴露(server),应用按同一标准去连(client);server 能暴露三类东西,按「谁能决定用它」分——tools 模型控、resources 应用控、prompts 用户控;而最反直觉的一点是,MCP 压根没碰模型,它的底就是上一篇的 Function Calling,server 暴露的每个 tool 自带 schema,模型照常输出 tool call,从头到尾不知道底下走了 MCP。最后用我天天在用的「跑鸭」MCP server 举个真实例子。
探针 9|Prompt 过时了,现在流行 Context 工程
「Prompt 工程」这个词,2025 年突然不香了——Shopify 老板 Tobi Lütke、Karpathy 都说该改叫 Context 工程。不是赶时髦:Prompt 工程雕琢『那一句话怎么说』,Context 工程管理『整段上下文塞什么』。这篇挖透:为什么变了(模型强了,窗口大了、能调工具、能查知识,瓶颈从『怎么说』挪到『窗口放什么』);Context 工程管什么(窗口里塞问题、背景、工具说明、检索知识、对话历史,还要管顺序、时机、省 token);而往窗口里塞的每一样——预置指令、检索知识、工具结果、持久记忆——都是前面拆过的零件(RAG/MCP/Function Calling);底子就两条:窗口有上限(探针 5)、按 token 计(探针 2)。最后用我天天在用的 Claude Code 四层填上下文(CLAUDE.md / memory / skill / MCP)举个真实例子。
探针 10|大模型的「参数量」,可能在骗你
你看模型排行榜,动不动「几百亿参数」「千亿参数」,参数越多越强?但这里有个公开的秘密:标称参数量可能在骗你——号称几百亿、上千亿的大模型,每次回答时真正干活的参数,可能只有一小撮。这篇挖透:先讲普通 dense 模型(每个参数都上阵,参数量等于激活量);再拆 MoE(混合专家)——像医院分诊,一堆专家摆着,路由器每次只选少数几个干活,叫稀疏激活;于是参数量(知识容量)和激活量(推理算力)分家了。用 GLM-5.2 的真实数字举例:256 个专家每 token 只激活 8 个加 1 个共享 ≈ 3.5%,总参数 753B 但每次推理只烧一小撮。所以光看标称参数量会被带沟里——一个 753B 的 MoE,跑起来可能比 70B 的稠密模型还便宜。
探针 11|o1 为什么「想」得久,能答得更对
有的 AI 回答前会「想」很久,吐一大段推理过程,而且想得越久、答得越对。这是为什么?这篇挖透:先讲推理模型(o1 / DeepSeek-R1 这类)和普通模型的核心差别——它会把推理一步步写出来,这串过程叫思维链(CoT);而每一步推理,本质仍是探针 1 的「猜下一个字」,只是字数更多、烧的推理算力更多。这就叫 test-time scaling(推理时多烧算力):想得久 = 多生成推理 token = 多花算力 → 答得更对。训练侧(怎么训出会推理的模型)属于探针 3 的领地,本篇一句带过。
总成|Attention 到底在算什么
前面探针反复提到注意力(attention),但每次都摆摆手说『留到总成拆』。这篇就是那个总成。挖透它的三角色 Q/K/V:每个 token 拿着自己的 Query 去和别人 Key 配对算相关性,按相关性把别人 Value 加权拿过来;点积怎么打分、softmax 怎么归一化、加权怎么求和;为什么是 N²(100 字两两算 1 万次,延续探针 5);多头注意力怎么让模型同时盯几种关系;以及 KV Cache 凭什么让生成越答越快。不讲整体架构,那是下一篇总成 Transformer 的活。
总成|Transformer 全貌
前面 13 篇,我们用探针一个一个挖:Token、Embedding、注意力、FFN、MoE、残差、LayerNorm、位置编码、自回归、采样……全是零件。这篇把它们装回去。Transformer 一层里就五个零件——注意力算 token 间的相关性(平行篇「总成 Attention」拆过 Q/K/V,这里当一个零件用)、FFN/MLP 消化信息(探针 10 讲过它的 MoE 变体)、残差连接防信号退化、LayerNorm 稳住数值、位置编码告诉模型先后顺序。五个零件拼成一层,层再堆 N 层,最后用自回归一个 token 一个 token 猜下去——这就是大模型的全貌,也是这趟连载的终点。
GLM-5.2 长上下文架构连载
已更新 8 / 8 篇查看目录 →拆透 1M 上下文的实现原理,顺便搞懂 AI 的记忆
GLM-5.2 开源:读完 1M 上下文的实现原理,你能更懂 AI
GLM-5.2 开源了。不念跑分,我把它 config.json 和 59585 个权重张量的清单拆开,反推它在架构上到底动了哪些刀子,才把 1M 上下文从'宣称'变成'工程上跑得动'。更重要的是——搞懂这些原理,能让你日常用 AI 时少踩很多坑:为什么 AI 会'忘记'前面说的话、什么时候该整份丢文档、什么时候该拆分对话。五个机制:DSA、IndexShare、MLA、MTP、MoE——这篇先把架构动作讲清楚,推导留给后续连载。
同样是 1M 上下文,大模型走的路为什么完全不同
GLM-5.2 长上下文连载第二篇。上一篇拆了 GLM-5.2 的五刀,这篇把镜头拉远——把长上下文这道题放回整个行业:位置编码外推、注意力改造、KV 压缩、堆硬件,至少四条完全不同的路。Llama 靠分阶段训练,Gemini 靠堆 TPU,GLM 和 DeepSeek 靠改架构。读完你会知道:为什么别只盯着'宣称 1M'这个数字,而要看它到底走哪条路——这决定你是真用上了长上下文,还是买了个会衰减的幻觉。
先把地基打好:注意力到底在算什么
GLM-5.2 长上下文连载第三篇。前两篇拆完五刀和四条路线,但要真正看懂后面的 MLA、DSA,得先回到原点——注意力到底在算什么、为什么是 N²、KV Cache 又是个什么东西。这篇从 token 怎么变成 6144 个数字讲起,一路讲到 Q/K/V 三角色、全员大合影、Q 扔 K/V 存。不涉及任何 GLM 的创新,全是地基,但正是这些地基决定了后面四道墙为什么难。
KV Cache 放不下?MLA 把它压成 512 维
GLM-5.2 长上下文连载第四篇。上一篇打完地基,知道 KV Cache 是什么、为什么大得撑爆显存。这篇正式拆第一道墙:放不下。GLM-5.2 用 MLA(多头潜在注意力),把每个 token 的 K/V 用训练好的矩阵压成 512 维潜在向量。原理和 JPEG 压图、身高体重表同源——低秩分解,数据有冗余所以能压。1M 上下文的 KV Cache 从约 5TB 压到约 88GB,省下来的空间,才是普通多卡能跑的前提。
一万亿次点积砍到两千次:DSA 怎么破 N²
GLM-5.2 长上下文连载第五篇,也是最核心的一篇。上一篇 MLA 拆了墙 2(放不下),但墙 1(算不动)还在——1M 上下文的一次注意力就是一万亿次点积,乘 78 层根本扛不住。这篇拆 GLM-5.2 破墙 1 的核心组合:沿用的 DSA 稀疏注意力 + GLM 原创的 IndexShare。思路很直接——大部分注意力是浪费的,那个'的'字不需要和 100 万个 token 都算一遍,所以先用 indexer 在低维里粗筛出最相关的 2048 个,再只对这 2048 个精算。再叠加每 4 层共享一个 indexer,把粗筛成本也省掉 3/4。1M 下每 token 计算量省约 500 倍,FLOPs 综合降 2.9×。
753B 参数怎么跑得动?MoE 让你只激活 3.5%
GLM-5.2 长上下文连载第六篇。前五篇拆了注意力的计算量(DSA)和 KV Cache 的存储(MLA),但还有一道墙:参数本身太多。GLM-5.2 是 753B(7530 亿)参数的模型,如果每个 token 都把全部参数乘一遍,前向传播本身慢到不可接受。这篇拆墙 3:推不动。武器是 MoE 混合专家——像医院分诊,256 个专家里只选 8 个最相关的再加 1 个共享专家,每个 token 只激活约 3.5% 的参数。用小模型的推理成本,换来大模型的知识容量。MoE 不是 GLM 原创(DeepSeek 系列首创),但它是这套 1M 组合拳必不可少的一环。
一字一字蹦太慢?MTP 让主模型一次确认多个字
GLM-5.2 长上下文连载第七篇,也是最反直觉的一篇。前六篇拆了算不动、放不下、推不动三道墙,但还有最后一道:蹦得慢。模型是自回归的,每生成一个字都要把 78 层从头跑一遍,生成 1000 个字就是 1000 次完整前向。这篇拆墙 4:武器是 MTP 投机解码——用一个轻量的 MTP 头快速猜后面一串字,再让主模型一次并行验证。最反直觉的地方在于:主模型没有标准答案,验证靠的不是对错判断,而是'我愿不愿认领这个草稿'的概率比较。GLM-5.2 靠 IndexShare+KVShare 等改进把接受长度从 4.56 拉到 5.47。
四管齐下:GLM-5.2 怎么把 1M 从工程不可能变可承受
GLM-5.2 长上下文架构连载第八篇,收官。前七篇逐刀拆了 DSA、MLA、MoE、MTP 四个机制,这篇把它们串起来,回答整个连载最核心的问题:为什么必须四管齐下,单靠任何一个都不行?以及——开源模型凭什么能做到 1M 上下文?答案不是 GLM 比 Gemini 多(Gemini 做到了 2M),而是它用算法创新换来了普通多卡就能部署的 1M,这是闭源硬件路线给不了开源社区的。最后给行动建议:怎么真正用上 GLM-5.2 的长上下文。