<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>大模型 on 方糖猫Blog</title>
    <link>https://ftmao.com/blog/tags/%E5%A4%A7%E6%A8%A1%E5%9E%8B/</link>
    <description>AI 视频、AI Agent 与工程实践笔记</description>
    <generator>Hugo</generator>
    <language>zh-CN</language>
    <lastBuildDate>Tue, 11 Nov 2025 17:00:00 +0800</lastBuildDate><atom:link href="https://ftmao.com/blog/tags/%E5%A4%A7%E6%A8%A1%E5%9E%8B/index.xml" rel="self" type="application/rss+xml" /><item>
      <title>生成式AI原理与实战（Part 4）学习笔记：推理模型、DeepSeek-R1 与高效训练架构</title>
      <link>https://ftmao.com/blog/posts/llm-interview-notes-part4/</link>
      <pubDate>Tue, 11 Nov 2025 17:00:00 +0800</pubDate>
      <guid>https://ftmao.com/blog/posts/llm-interview-notes-part4/</guid>
      <description>&lt;h1 id=&#34;生成式ai原理与实战part-4学习笔记推理模型deepseek-r1-与高效训练架构&#34;&gt;生成式AI原理与实战（Part 4）学习笔记：推理模型、DeepSeek-R1 与高效训练架构&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;这是《生成式AI原理与实战》学习笔记的第四篇，也是这个系列的收尾篇。Part 4 的问题非常“硬核”，集中在&lt;strong&gt;推理模型（Reasoning Model）&lt;/strong&gt;、&lt;strong&gt;强化学习训练&lt;/strong&gt;、&lt;strong&gt;DeepSeek-R1 系列&lt;/strong&gt;以及&lt;strong&gt;DeepSeek 的高效训练架构&lt;/strong&gt;上。目标读者仍然是&lt;strong&gt;刚接触 AI 的初中级开发者&lt;/strong&gt;：我会尽量用工程直觉和生活化类比，把这些问题串成一条可理解的脉络。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id=&#34;写在前面为什么推理模型这么重要&#34;&gt;写在前面：为什么推理模型这么重要？&lt;/h2&gt;
&lt;p&gt;过去两年，大模型领域最大的变化之一，就是从“问什么答什么”的聊天模型，演进到“会思考”的推理模型。DeepSeek-R1、OpenAI o1/o3、QwQ-32B 等模型展示了一个趋势：&lt;strong&gt;让模型在回答前多“想一会儿”，能显著提升复杂任务的准确率&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;但这背后涉及很多问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;模型为什么会“思考”？这和写 &lt;code&gt;let&#39;s think step by step&lt;/code&gt; 有什么区别？&lt;/li&gt;
&lt;li&gt;推理模型是怎么训练出来的？为什么它贵？&lt;/li&gt;
&lt;li&gt;DeepSeek-R1 为什么要先做 SFT 冷启动？&lt;/li&gt;
&lt;li&gt;训练大模型要花多少数据和算力？&lt;/li&gt;
&lt;li&gt;DeepSeek 的 MLA、MoE、FP8、DualPipe 到底在解决什么问题？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这篇文章会按四个主题展开：&lt;strong&gt;推理模型基础&lt;/strong&gt;、&lt;strong&gt;训练与对齐方法选择&lt;/strong&gt;、&lt;strong&gt;DeepSeek-R1 解析&lt;/strong&gt;、&lt;strong&gt;DeepSeek 架构与训练系统&lt;/strong&gt;。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;一推理模型基础从直接回答到测试时计算&#34;&gt;一、推理模型基础：从“直接回答”到“测试时计算”&lt;/h2&gt;
&lt;h3 id=&#34;11-缩放定律训练一个模型需要多少数据和算力&#34;&gt;1.1 缩放定律：训练一个模型需要多少数据和算力？&lt;/h3&gt;
&lt;p&gt;缩放定律（Scaling Laws）告诉我们：模型的性能大致随&lt;strong&gt;参数量&lt;/strong&gt;、&lt;strong&gt;训练数据量&lt;/strong&gt;和&lt;strong&gt;计算量&lt;/strong&gt;一起提升。Chinchilla 论文给出的经验是：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;给定固定算力预算，模型参数量 N 和训练 token 数 D 应该大致成比例增长，即 &lt;strong&gt;D ≈ 20N&lt;/strong&gt;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;也就是说，一个 70B 参数的模型，理想情况下需要用约 &lt;strong&gt;1.4 万亿 token&lt;/strong&gt; 来训练。&lt;/p&gt;
&lt;p&gt;算力估算：每个 token 的前向 + 反向传播大约需要 &lt;strong&gt;6 × 参数量&lt;/strong&gt; 次浮点运算（FLOPs）。所以训练 70B 模型用 1.4T token，总计算量约为：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;6 × 70B × 1.4T ≈ 5.9 × 10^23 FLOPs&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    A[参数量 N] --&amp;gt; C[计算量 C ~ 6ND]
    B[数据量 D] --&amp;gt; C
    C --&amp;gt; P[模型能力]
    style C fill:#fff2cc&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;&lt;strong&gt;工程直觉&lt;/strong&gt;：大模型训练就像烧开水——水壶越大（参数越多）、火越旺（数据越多）、烧得越久（训练越久），水温才越高。但三者的配比要合理，否则就是浪费。&lt;/p&gt;
&lt;h3 id=&#34;12-为什么普通大模型不能可靠解决-24-点&#34;&gt;1.2 为什么普通大模型不能可靠解决 24 点？&lt;/h3&gt;
&lt;p&gt;24 点问题需要：给定 4 个整数，通过加减乘除得到 24。这本质上是一个&lt;strong&gt;搜索 + 验证&lt;/strong&gt;问题。&lt;/p&gt;
&lt;p&gt;普通大模型（如 Llama-3 70B）在不输出思维链的情况下，只能做&lt;strong&gt;一次前向传播&lt;/strong&gt;，每个位置预测一个 token。Transformer 没有内置的“试错-回溯”机制，无法枚举所有数字组合并验证结果。因此它可能猜对，但不能&lt;strong&gt;可靠地&lt;/strong&gt;保证正确。&lt;/p&gt;
&lt;p&gt;而一旦允许输出思维链，模型就可以：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;写出候选算式；&lt;/li&gt;
&lt;li&gt;逐步计算；&lt;/li&gt;
&lt;li&gt;检查结果是否为 24；&lt;/li&gt;
&lt;li&gt;错了就换一条路。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这就是“测试时计算（Test-Time Compute）”的威力：&lt;strong&gt;用更多的生成 token 换取更高的准确率&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id=&#34;13-cot-提示词-vs-推理模型同样是多想一会儿区别在哪&#34;&gt;1.3 CoT 提示词 vs 推理模型：同样是“多想一会儿”，区别在哪？&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart TD
    subgraph CoT 提示工程
        P1[用户问题] --&amp;gt; T1[写 let&amp;#39;s think step by step]
        T1 --&amp;gt; G1[模型按已有习惯推理]
    end

    subgraph 推理模型
        P2[用户问题] --&amp;gt; T2[模型自动生成&amp;lt;br/&amp;gt;长思维链]
        T2 --&amp;gt; R2[自我验证/修正]
        R2 --&amp;gt; G2[更高质量答案]
    end&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;对比项&lt;/th&gt;
					&lt;th&gt;CoT 提示词&lt;/th&gt;
					&lt;th&gt;推理模型&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;本质&lt;/td&gt;
					&lt;td&gt;提示工程技巧&lt;/td&gt;
					&lt;td&gt;训练出来的推理能力&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;思维链质量&lt;/td&gt;
					&lt;td&gt;依赖模型原始能力&lt;/td&gt;
					&lt;td&gt;被 RL 训练专门优化&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;长度&lt;/td&gt;
					&lt;td&gt;通常较短&lt;/td&gt;
					&lt;td&gt;可生成很长的内部思考&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;上限&lt;/td&gt;
					&lt;td&gt;受限于模型本身&lt;/td&gt;
					&lt;td&gt;通过测试时计算持续提升&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;推理模型上限更高的原因是：它在训练时被&lt;strong&gt;显式激励&lt;/strong&gt;去生成更多推理步骤、进行自我验证、尝试不同路径。而普通模型只是被训练成“预测下一个词”，没有专门被优化去“想得更深”。&lt;/p&gt;
&lt;h3 id=&#34;14-推理模型的-rl-与非推理模型的-rlhf-有什么区别&#34;&gt;1.4 推理模型的 RL 与非推理模型的 RLHF 有什么区别？&lt;/h3&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;对比项&lt;/th&gt;
					&lt;th&gt;推理模型 RL&lt;/th&gt;
					&lt;th&gt;普通模型 RLHF&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;奖励信号&lt;/td&gt;
					&lt;td&gt;通常是可自动验证的（答案对错）&lt;/td&gt;
					&lt;td&gt;人类偏好（好坏、有用、安全）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;优化目标&lt;/td&gt;
					&lt;td&gt;提升推理正确率&lt;/td&gt;
					&lt;td&gt;提升人类满意度&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;典型任务&lt;/td&gt;
					&lt;td&gt;数学、编程、逻辑推理&lt;/td&gt;
					&lt;td&gt;对话、写作、问答&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;奖励模型&lt;/td&gt;
					&lt;td&gt;可以直接用规则/单元测试&lt;/td&gt;
					&lt;td&gt;需要训练 Reward Model&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;推理模型 RL 更像是“做数学题对答案”：对了加分，错了扣分。RLHF 更像是“写作文给老师看”：老师打分，模型学着更符合人类口味。&lt;/p&gt;
&lt;h3 id=&#34;15-alphazero-的启示训练时计算-vs-测试时计算的最优配比&#34;&gt;1.5 AlphaZero 的启示：训练时计算 vs 测试时计算的最优配比&lt;/h3&gt;
&lt;p&gt;AlphaZero 下围棋时，&lt;strong&gt;训练阶段&lt;/strong&gt;通过自我对弈生成大量棋谱、更新策略网络；&lt;strong&gt;测试阶段&lt;/strong&gt;用 MCTS 在每一步搜索最佳落子。&lt;/p&gt;
&lt;p&gt;它的启示是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;训练时计算&lt;/strong&gt;用于学习通用策略和价值判断；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;测试时计算&lt;/strong&gt;用于在具体局面下做精细搜索；&lt;/li&gt;
&lt;li&gt;最优配比取决于任务：对围棋这类可验证、搜索空间大的任务，测试时计算可以非常多；对开放性文本生成，测试时计算受延迟限制。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;有研究认为，在可验证推理任务上，&lt;strong&gt;训练时计算 : 测试时计算&lt;/strong&gt; 的最优配比可能在 &lt;strong&gt;1000:1 到 10000:1&lt;/strong&gt; 量级。但这不是固定值，更多是一种设计哲学：&lt;strong&gt;先让模型学到好的“直觉”，再让它在推理时多花时间验证&lt;/strong&gt;。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;二训练推理模型奖励模型mcts-与-star&#34;&gt;二、训练推理模型：奖励模型、MCTS 与 STaR&lt;/h2&gt;
&lt;h3 id=&#34;21-过程奖励模型-vs-结果奖励模型&#34;&gt;2.1 过程奖励模型 vs 结果奖励模型&lt;/h3&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;模型&lt;/th&gt;
					&lt;th&gt;打分对象&lt;/th&gt;
					&lt;th&gt;优点&lt;/th&gt;
					&lt;th&gt;缺点&lt;/th&gt;
					&lt;th&gt;适用场景&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;ORM（结果奖励模型）&lt;/td&gt;
					&lt;td&gt;最终答案&lt;/td&gt;
					&lt;td&gt;简单、可自动验证&lt;/td&gt;
					&lt;td&gt;不知道哪步错了&lt;/td&gt;
					&lt;td&gt;数学、编程等答案可验证任务&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;PRM（过程奖励模型）&lt;/td&gt;
					&lt;td&gt;中间推理步骤&lt;/td&gt;
					&lt;td&gt;能定位错误步骤&lt;/td&gt;
					&lt;td&gt;需要大量过程标注&lt;/td&gt;
					&lt;td&gt;长推理、可分解任务&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;ORM 像期末考试只看最终分数；PRM 像老师批改作业，每步都打分。PRM 更好，但标注成本更高。&lt;/p&gt;
&lt;h3 id=&#34;22-mcts-中的探索与利用&#34;&gt;2.2 MCTS 中的探索与利用&lt;/h3&gt;
&lt;p&gt;MCTS（蒙特卡洛树搜索）在推理中用于探索不同解题路径。每选择一个节点时，需要平衡：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;利用（Exploitation）&lt;/strong&gt;：选择当前平均奖励高的节点；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;探索（Exploration）&lt;/strong&gt;：选择访问次数少、潜力未知的节点。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;常用 UCB1 公式：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;UCB = Q/N + c × sqrt(ln(N_parent) / N)&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;其中 Q 是累计奖励，N 是访问次数，c 是探索系数。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;graph TD
    Root[根节点] --&amp;gt; A[节点 A&amp;lt;br/&amp;gt;Q=10 N=5]
    Root --&amp;gt; B[节点 B&amp;lt;br/&amp;gt;Q=3 N=1]
    Root --&amp;gt; C[节点 C&amp;lt;br/&amp;gt;Q=8 N=4]
    B --&amp;gt;|探索加分高| B1[优先探索 B]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;h3 id=&#34;23-star让模型自己教自己推理&#34;&gt;2.3 STaR：让模型自己教自己推理&lt;/h3&gt;
&lt;p&gt;STaR（Self-Taught Reasoner）的核心流程：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;模型自己生成大量推理过程和答案；&lt;/li&gt;
&lt;li&gt;只保留答案正确的样本；&lt;/li&gt;
&lt;li&gt;用这些正确的 &lt;code&gt;(问题, 推理, 答案)&lt;/code&gt; 数据微调模型；&lt;/li&gt;
&lt;li&gt;迭代重复。&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    Q[问题] --&amp;gt; G[模型生成推理+答案]
    G --&amp;gt; F{答案正确？}
    F --&amp;gt;|是| S[加入训练数据]
    F --&amp;gt;|否| D[丢弃]
    S --&amp;gt; T[微调模型]
    T --&amp;gt; Q&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;优点：不需要人工标注推理链；缺点：如果模型一开始生成能力差，容易陷入“错误循环”。&lt;/p&gt;
&lt;h3 id=&#34;24-推理深度与响应延迟的权衡&#34;&gt;2.4 推理深度与响应延迟的权衡&lt;/h3&gt;
&lt;p&gt;推理模型思考越久，准确率越高，但用户等待越久。常用平衡手段：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;动态早停&lt;/strong&gt;：模型自己对答案有把握时停止思考。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;预算控制&lt;/strong&gt;：设置最大思考 token 数。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用户可选深度&lt;/strong&gt;：比如“快速回答 / 详细推理 / 深度分析”。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;投机推理&lt;/strong&gt;：先用小模型快速生成草稿，再由大模型验证。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;三方法论选择什么时候用什么技术&#34;&gt;三、方法论选择：什么时候用什么技术？&lt;/h2&gt;
&lt;p&gt;不同问题适合不同解法。下面是一张实用的选择表：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;目标&lt;/th&gt;
					&lt;th&gt;推荐方法&lt;/th&gt;
					&lt;th&gt;原因&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;快速迭代基本能力&lt;/td&gt;
					&lt;td&gt;提示工程&lt;/td&gt;
					&lt;td&gt;成本低、见效快&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;用户个性化记忆&lt;/td&gt;
					&lt;td&gt;提示工程 + 记忆系统&lt;/td&gt;
					&lt;td&gt;把用户历史注入上下文&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;案例库和事实知识&lt;/td&gt;
					&lt;td&gt;RAG&lt;/td&gt;
					&lt;td&gt;外挂知识库，减少幻觉&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;输出格式和语言风格&lt;/td&gt;
					&lt;td&gt;SFT&lt;/td&gt;
					&lt;td&gt;用成对数据训练模型习惯&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;领域基础能力&lt;/td&gt;
					&lt;td&gt;SFT&lt;/td&gt;
					&lt;td&gt;让模型学会领域表达和常识&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;领域深度思考能力&lt;/td&gt;
					&lt;td&gt;RL / 推理模型 RL&lt;/td&gt;
					&lt;td&gt;用可验证奖励优化推理&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;领域工具调用能力&lt;/td&gt;
					&lt;td&gt;RL + Tool Calling&lt;/td&gt;
					&lt;td&gt;奖励正确的工具使用&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;根据用户反馈持续优化&lt;/td&gt;
					&lt;td&gt;RLHF / DPO&lt;/td&gt;
					&lt;td&gt;把偏好信号转化为训练目标&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart TD
    Need{需求是什么？} --&amp;gt;|知识/事实| RAG[RAG]
    Need --&amp;gt;|格式/风格| SFT[SFT]
    Need --&amp;gt;|快速验证| PE[提示工程]
    Need --&amp;gt;|深度推理| RL[RL 推理训练]
    Need --&amp;gt;|用户偏好| RLHF[RLHF/DPO]
    Need --&amp;gt;|工具使用| Tool[RL + Tool Calling]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;hr&gt;
&lt;h2 id=&#34;四deepseek-r1-深度解析&#34;&gt;四、DeepSeek-R1 深度解析&lt;/h2&gt;
&lt;h3 id=&#34;41-r1-与-r1-zero两条路径&#34;&gt;4.1 R1 与 R1-Zero：两条路径&lt;/h3&gt;
&lt;p&gt;DeepSeek-R1-Zero 是&lt;strong&gt;纯强化学习&lt;/strong&gt;的产物：直接在基座模型上用 GRPO 做 RL，没有任何 SFT 冷启动。它证明了：即使没有人工标注的推理数据，模型也能自发学会长思维链推理。&lt;/p&gt;
&lt;p&gt;但它有两个明显问题：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;可读性差&lt;/strong&gt;：思维链中经常出现中英文混杂、格式混乱；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;通用任务弱&lt;/strong&gt;：在非推理任务（写作、翻译、对话）上表现下降。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;DeepSeek-R1 则先用少量高质量 CoT 数据做 &lt;strong&gt;SFT 冷启动&lt;/strong&gt;，然后再用 GRPO 做 RL。这样既保留了推理能力，又改善了可读性和通用能力。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    subgraph R1-Zero
        B1[基座模型] --&amp;gt; RL1[纯 RL]
        RL1 --&amp;gt; M1[推理强但可读性差]
    end

    subgraph R1
        B2[基座模型] --&amp;gt; SFT[SFT 冷启动]
        SFT --&amp;gt; RL2[RL 优化]
        RL2 --&amp;gt; M2[推理强 + 可读 + 通用]
    end&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;&lt;strong&gt;R1-Zero 的价值&lt;/strong&gt;：它证明了大模型可以通过纯 RL 自发涌现复杂推理能力。这是通向“超越人类智能”的一条可能路径——因为模型不再依赖人类标注的解题思路，而是可以自己探索策略。&lt;/p&gt;
&lt;h3 id=&#34;42-为什么-r1-在创意写作上也比基座模型更好&#34;&gt;4.2 为什么 R1 在创意写作上也比基座模型更好？&lt;/h3&gt;
&lt;p&gt;这看似违反直觉：推理模型不是做数学题的吗？&lt;/p&gt;
&lt;p&gt;实际上，R1 学到的不仅是“数学推理”，更是一种&lt;strong&gt;问题分解和自我评估&lt;/strong&gt;的元能力。在创意写作中，它会：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;分析用户需求和潜在情绪；&lt;/li&gt;
&lt;li&gt;构思多个创意方向；&lt;/li&gt;
&lt;li&gt;快速评估哪个更有趣；&lt;/li&gt;
&lt;li&gt;输出最终内容。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这种“先想后写”的能力，让它即使思考过程较短，也能产出更有趣的内容。&lt;/p&gt;
&lt;h3 id=&#34;43-为什么-r1-不用-prmmctsbeam-search&#34;&gt;4.3 为什么 R1 不用 PRM、MCTS、Beam Search？&lt;/h3&gt;
&lt;p&gt;DeepSeek 的论文明确提到，他们尝试过 PRM 和 MCTS，但效果不佳。原因：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PRM&lt;/strong&gt;：需要大量高质量的过程标注，成本高，且很难定义“哪一步好”。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MCTS&lt;/strong&gt;：在开放文本生成中，搜索空间是组合爆炸的，每一步的“走法”太多了。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Beam Search&lt;/strong&gt;：同样受限于巨大的候选空间，且不利于探索非确定性推理。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;GRPO + 可验证奖励（如答案正确性）更简单、更可扩展。&lt;/p&gt;
&lt;h3 id=&#34;44-grpo-vs-ppo为什么-r1-选择-grpo&#34;&gt;4.4 GRPO vs PPO：为什么 R1 选择 GRPO？&lt;/h3&gt;
&lt;p&gt;PPO 训练时需要维护多个模型：Actor、Critic、Reward Model、Reference Model。其中 Critic 模型通常和 Actor 一样大，显存开销很高。&lt;/p&gt;
&lt;p&gt;GRPO（Group Relative Policy Optimization）的改进：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;不需要 Critic 模型&lt;/strong&gt;；&lt;/li&gt;
&lt;li&gt;对同一个问题采样一组回答；&lt;/li&gt;
&lt;li&gt;用组内相对奖励计算优势函数（减去组内均值，除以标准差）。&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart TD
    subgraph PPO
        P[Prompt] --&amp;gt; A[Actor]
        P --&amp;gt; C[Critic]
        A --&amp;gt; R[Reward Model]
        A --&amp;gt; Ref[Reference Model]
    end

    subgraph GRPO
        G[Prompt] --&amp;gt; GA[Actor]
        GA --&amp;gt;|采样 N 个回答| GR[组内相对奖励]
        GR --&amp;gt; GN[归一化优势]
        GA --&amp;gt; GRef[Reference Model]
    end&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;优势值归一化解决了 PPO 中 Critic 估计不准的问题，同时大幅降低了显存和计算成本。&lt;/p&gt;
&lt;h3 id=&#34;45-grpo-中的-kl-惩罚项&#34;&gt;4.5 GRPO 中的 KL 惩罚项&lt;/h3&gt;
&lt;p&gt;KL 惩罚项衡量当前策略与参考策略（通常是 SFT 模型）的差异，防止模型在 RL 训练中“跑偏”。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;KL 太大&lt;/strong&gt;：策略更新保守，学不到新能力；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;KL 太小&lt;/strong&gt;：策略可能崩溃，输出乱码或 reward hacking。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;合适的 KL 系数需要在探索能力和稳定性之间找平衡。&lt;/p&gt;
&lt;h3 id=&#34;46-为什么-r1-的-sft-要加-20-万条非推理样本&#34;&gt;4.6 为什么 R1 的 SFT 要加 20 万条非推理样本？&lt;/h3&gt;
&lt;p&gt;如果只用推理数据做 SFT，模型会变成“只会做题的偏科生”。加入非推理样本（写作、翻译、对话、常识问答）可以：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;保持通用语言能力；&lt;/li&gt;
&lt;li&gt;防止模型在非推理任务上退化；&lt;/li&gt;
&lt;li&gt;让最终模型既能深度思考，也能正常聊天。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;47-如何把-r1-蒸馏到小模型&#34;&gt;4.7 如何把 R1 蒸馏到小模型？&lt;/h3&gt;
&lt;p&gt;蒸馏的核心是用 R1 生成的高质量数据（包括长思维链）去监督微调一个小模型。步骤：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;用 R1 在目标领域生成大量 &lt;code&gt;(问题, 思维链, 答案)&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;清洗和筛选高质量样本；&lt;/li&gt;
&lt;li&gt;在小模型上做 SFT；&lt;/li&gt;
&lt;li&gt;在垂直领域任务上评估。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;要保留特定领域能力，关键是&lt;strong&gt;蒸馏数据要覆盖该领域的典型问题和推理模式&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id=&#34;48-r1-zero-为什么会多语言混杂&#34;&gt;4.8 R1-Zero 为什么会多语言混杂？&lt;/h3&gt;
&lt;p&gt;R1-Zero 的奖励函数只关心最终答案是否正确，不关心中间过程用什么语言。由于基座模型是多语言训练的，它会自发选择任何能表达推理的语言。中文 prompt 可能触发英文思考，反之亦然。&lt;/p&gt;
&lt;p&gt;R1 通过 SFT 冷启动，让模型先学会用规范、统一的语言输出思维链，解决了这个问题。&lt;/p&gt;
&lt;h3 id=&#34;49-如何把-r1-zero-方法扩展到主观领域&#34;&gt;4.9 如何把 R1-Zero 方法扩展到主观领域？&lt;/h3&gt;
&lt;p&gt;R1-Zero 依赖&lt;strong&gt;可验证奖励&lt;/strong&gt;，所以最适合数学、编程。扩展到创意写作、战略分析等主观领域，需要：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;定义可自动评估的代理指标（如多样性、一致性、可读性）；&lt;/li&gt;
&lt;li&gt;用 LLM-as-Judge 作为奖励信号；&lt;/li&gt;
&lt;li&gt;用人工偏好数据做 RLHF/DPO；&lt;/li&gt;
&lt;li&gt;引入多轮自洽性评估。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;但效果通常不如数学/编程稳定，因为“好文章”没有唯一答案。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;五deepseek-架构与训练系统创新&#34;&gt;五、DeepSeek 架构与训练系统创新&lt;/h2&gt;
&lt;h3 id=&#34;51-mla低秩压缩的-kv-缓存&#34;&gt;5.1 MLA：低秩压缩的 KV 缓存&lt;/h3&gt;
&lt;p&gt;多头注意力（MHA）每一层都要保存 Query、Key、Value。KV 缓存是推理时显存占用的主要来源。&lt;/p&gt;
&lt;p&gt;MLA（Multi-head Latent Attention）的核心思想：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;把 KV 压缩到一个低维“潜空间”，需要时再解压。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    X[输入] --&amp;gt; Q[生成 Query]
    X --&amp;gt; K[生成 Key]
    X --&amp;gt; V[生成 Value]
    K --&amp;gt; C[低秩压缩]
    V --&amp;gt; C
    C --&amp;gt; KV[小 KV 缓存]
    KV --&amp;gt; D[解压]
    Q --&amp;gt; A[Attention]
    D --&amp;gt; A&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;虽然 MLA 单 token 的 KV 可能比 MQA（Multi-Query Attention）多一点，但它保留了更多信息，模型性能更好。它本质上是对 &lt;strong&gt;(注意力头数, 隐藏维度)&lt;/strong&gt; 这个高维空间做低秩压缩。&lt;/p&gt;
&lt;h3 id=&#34;52-mla-与-rope-位置编码的兼容性&#34;&gt;5.2 MLA 与 RoPE 位置编码的兼容性&lt;/h3&gt;
&lt;p&gt;RoPE（旋转位置编码）把位置信息直接编码进 Q/K 向量中。如果直接对 KV 做低秩压缩，位置信息会被破坏。&lt;/p&gt;
&lt;p&gt;DeepSeek 的解决方案是把位置编码部分和可压缩部分&lt;strong&gt;解耦&lt;/strong&gt;：保留一个带位置信息的短向量，把其余信息压缩到潜空间。这样既能低秩压缩，又不丢失位置信息。&lt;/p&gt;
&lt;p&gt;如果用 ALiBi 等基于注意力偏置的位置编码，低秩压缩会引入与位置相关的偏置，更难处理。&lt;/p&gt;
&lt;h3 id=&#34;53-deepseek-moe为什么前-3-层用稠密连接&#34;&gt;5.3 DeepSeek MoE：为什么前 3 层用稠密连接？&lt;/h3&gt;
&lt;p&gt;MoE（Mixture of Experts）把每一层换成多个“专家网络”，每次只激活一部分。DeepSeek 的设计是：前 3 层保持稠密，后面用 MoE。&lt;/p&gt;
&lt;p&gt;原因：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;前几层负责提取基础特征（词法、句法、低级语义）；&lt;/li&gt;
&lt;li&gt;这些基础特征需要稳定、共享的表示；&lt;/li&gt;
&lt;li&gt;如果早期就用 MoE，不同 token 可能路由到不同专家，导致基础表示不一致，影响后续层。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;54-deepseek-moe-vs-mixtral-moe&#34;&gt;5.4 DeepSeek MoE vs Mixtral MoE&lt;/h3&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;特性&lt;/th&gt;
					&lt;th&gt;Mixtral MoE&lt;/th&gt;
					&lt;th&gt;DeepSeek MoE&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;专家数量&lt;/td&gt;
					&lt;td&gt;较少（如 8 个）&lt;/td&gt;
					&lt;td&gt;很多（细粒度专家）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;专家大小&lt;/td&gt;
					&lt;td&gt;较大&lt;/td&gt;
					&lt;td&gt;较小&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;共享专家&lt;/td&gt;
					&lt;td&gt;无&lt;/td&gt;
					&lt;td&gt;有共享专家始终激活&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;路由策略&lt;/td&gt;
					&lt;td&gt;Top-2&lt;/td&gt;
					&lt;td&gt;更细粒度的负载均衡路由&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;DeepSeek 的&lt;strong&gt;细粒度专家分割&lt;/strong&gt;让模型能组合更多专家能力；&lt;strong&gt;共享专家隔离&lt;/strong&gt;确保通用知识始终可用，避免所有 token 都涌向少数专家。&lt;/p&gt;
&lt;h3 id=&#34;55-专家负载均衡防止路由崩溃&#34;&gt;5.5 专家负载均衡：防止“路由崩溃”&lt;/h3&gt;
&lt;p&gt;如果所有 token 都选择同一个专家，其他专家就浪费了，这叫“路由崩溃”。DeepSeek 通过&lt;strong&gt;辅助损失函数&lt;/strong&gt;解决：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;专家级平衡损失&lt;/strong&gt;：鼓励每个专家处理的 token 数量均衡；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;通信平衡损失&lt;/strong&gt;：减少节点间通信开销；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;设备级平衡损失&lt;/strong&gt;：让不同 GPU 上的负载均衡。&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    T[Token] --&amp;gt; R[路由网络]
    R --&amp;gt; E1[专家 1]
    R --&amp;gt; E2[专家 2]
    R --&amp;gt; E3[专家 3]
    E1 --&amp;gt; L[负载均衡损失]
    E2 --&amp;gt; L
    E3 --&amp;gt; L&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;h3 id=&#34;56-多词元预测一次预测多个未来-token&#34;&gt;5.6 多词元预测：一次预测多个未来 token&lt;/h3&gt;
&lt;p&gt;传统模型一次只预测下一个 token。DeepSeek-V3 的多词元预测（Multi-Token Prediction）会同时预测后面几个 token。&lt;/p&gt;
&lt;p&gt;优势：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;样本效率更高&lt;/strong&gt;：每个训练位置提供多个监督信号；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;推理更快&lt;/strong&gt;：可以配合投机解码，一次验证多个 token。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;57-fp8-混合精度训练&#34;&gt;5.7 FP8 混合精度训练&lt;/h3&gt;
&lt;p&gt;DeepSeek-V3 在大量矩阵计算中使用 FP8（8 位浮点）量化，包括 Linear 层和 Attention 中的矩阵乘法。为了降低精度损失，它采用了&lt;strong&gt;分组量化（tile/block-wise quantization）&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;把大矩阵切成小块；&lt;/li&gt;
&lt;li&gt;每块独立计算 scale 和 zero-point；&lt;/li&gt;
&lt;li&gt;对激活值和权重都这样做。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这样比全局量化更精细，损失更小。&lt;/p&gt;
&lt;h3 id=&#34;58-dualpipe双向流水线并行&#34;&gt;5.8 DualPipe：双向流水线并行&lt;/h3&gt;
&lt;p&gt;训练超大模型时，流水线并行把模型分层放到不同 GPU 上。传统流水线有“气泡时间”——GPU 在等待上下游数据时空闲。&lt;/p&gt;
&lt;p&gt;DualPipe 的创新是&lt;strong&gt;双向流水线&lt;/strong&gt;：同时从前后两个方向传递数据，让 GPU 尽可能不空闲。结合专家并行，它还能平衡 MoE 中不同专家的负载，提高整体训练效率。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    subgraph 传统流水线
        A[GPU 1] --&amp;gt; B[GPU 2]
        B --&amp;gt; C[GPU 3]
        C --&amp;gt; D[GPU 4]
        style B fill:#f8cecc
        style C fill:#f8cecc
    end

    subgraph DualPipe
        E[GPU 1] --&amp;gt; F[GPU 2]
        F --&amp;gt; G[GPU 3]
        G --&amp;gt; H[GPU 4]
        H -.-&amp;gt; E
        style F fill:#e1f5e1
        style G fill:#e1f5e1
    end&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;hr&gt;
&lt;h2 id=&#34;六扩展垂直领域与多模态&#34;&gt;六、扩展：垂直领域与多模态&lt;/h2&gt;
&lt;h3 id=&#34;61-在-qwq-32b-上强化-deep-research-能力&#34;&gt;6.1 在 QwQ-32B 上强化 Deep Research 能力&lt;/h3&gt;
&lt;p&gt;Deep Research 场景需要模型：搜索 → 浏览 → 总结 → 再搜索。构建 RL 训练数据时：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;准备多轮搜索-总结任务；&lt;/li&gt;
&lt;li&gt;奖励函数包括：最终答案正确性、引用来源覆盖度、信息是否过时、是否完成任务。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;62-让-r1-支持图片推理&#34;&gt;6.2 让 R1 支持图片推理&lt;/h3&gt;
&lt;p&gt;要把 R1 扩展到多模态，需要：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;增加视觉编码器（如 ViT）；&lt;/li&gt;
&lt;li&gt;构建图片 + 问题 + CoT + 答案的训练数据；&lt;/li&gt;
&lt;li&gt;奖励函数包括：答案正确性、推理过程是否与图片内容一致。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;任务如走迷宫、地理定位、图表分析，都需要模型能把视觉信息和符号推理结合起来。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;七从面试题到工程实践&#34;&gt;七、从面试题到工程实践&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;不要迷信大模型参数&lt;/strong&gt;。同样参数的推理模型和普通模型，能力侧重点完全不同。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;可验证奖励是 RL 训练的关键&lt;/strong&gt;。数学、编程适合 RL；开放域生成更适合 RLHF/DPO。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;测试时计算是新的 scaling 维度&lt;/strong&gt;。未来提升模型能力，不一定只靠堆参数量，也可以让它“想得更久”。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;架构创新是为了训练和服务更便宜&lt;/strong&gt;。MLA、MoE、FP8、DualPipe 的目标都是在保持性能的同时降低成本。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;蒸馏是把大模型能力落地到小场景的有效路径&lt;/strong&gt;。关键是要有高质量的教师数据。&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id=&#34;结语&#34;&gt;结语&lt;/h2&gt;
&lt;p&gt;Part 4 把我们从“怎么用大模型”带到了“怎么训练和优化大模型”的深处。对初级开发者来说，不必一次性掌握所有细节，但要建立几个核心直觉：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;推理模型的本质是&lt;strong&gt;用更多测试时计算换准确率&lt;/strong&gt;；&lt;/li&gt;
&lt;li&gt;RL 训练的关键是&lt;strong&gt;奖励信号设计&lt;/strong&gt;；&lt;/li&gt;
&lt;li&gt;DeepSeek-R1 的成功说明：&lt;strong&gt;SFT 冷启动 + 可验证奖励的 RL&lt;/strong&gt; 是一条务实的路径；&lt;/li&gt;
&lt;li&gt;大模型训练不只是算法问题，更是&lt;strong&gt;系统工程问题&lt;/strong&gt;（MLA、MoE、FP8、DualPipe 都在解决工程效率）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果你能理解这些，就已经具备了参与大模型应用和训练工程的基本视野。&lt;/p&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;参考：《生成式AI原理与实战 —— Part 4》，答案基于公开论文与工程实践整理。&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    <item>
      <title>生成式AI原理与实战（Part 3）学习笔记：嵌入模型、表示微调与生成模型微调</title>
      <link>https://ftmao.com/blog/posts/llm-interview-notes-part3/</link>
      <pubDate>Sun, 09 Nov 2025 16:00:00 +0800</pubDate>
      <guid>https://ftmao.com/blog/posts/llm-interview-notes-part3/</guid>
      <description>&lt;h1 id=&#34;生成式ai原理与实战part-3学习笔记嵌入模型表示微调与生成模型微调&#34;&gt;生成式AI原理与实战（Part 3）学习笔记：嵌入模型、表示微调与生成模型微调&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;这是《生成式AI原理与实战》学习笔记的第三篇。Part 1 聊了大模型的“底层零件”，Part 2 聊了提示工程、Agent 和 RAG；Part 3 则进入“模型训练与微调”领域：怎么训练一个好的文本嵌入模型、怎么在数据少的情况下微调分类模型、怎么用 LoRA/DPO/PPO 把通用大模型变成业务模型。目标读者仍然是&lt;strong&gt;刚接触 AI 的初中级开发者&lt;/strong&gt;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id=&#34;写在前面为什么开发者要懂微调&#34;&gt;写在前面：为什么开发者要懂微调？&lt;/h2&gt;
&lt;p&gt;调用 API 能解决 80% 的问题，但剩下的 20% 往往需要你接触模型本身：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;公司私有文档的检索效果差，要不要自己训练嵌入模型？&lt;/li&gt;
&lt;li&gt;标注数据只有几百条，能微调分类模型吗？&lt;/li&gt;
&lt;li&gt;想让大模型输出符合公司风格的文案，除了写 prompt 还能做什么？&lt;/li&gt;
&lt;li&gt;排行榜第一的模型，为什么到自己业务里表现一般？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这篇文章会用“概念 + 图 + 工程直觉”来回答这些问题。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;一文本嵌入模型让语义变成可计算的向量&#34;&gt;一、文本嵌入模型：让“语义”变成可计算的向量&lt;/h2&gt;
&lt;p&gt;嵌入模型（Embedding Model）的作用，是把文本变成固定长度的向量。语义相近的文本，向量距离就小；语义不同的文本，向量距离就大。它是 RAG、语义搜索、推荐系统的核心组件。&lt;/p&gt;
&lt;h3 id=&#34;11-为什么对比学习需要负样本&#34;&gt;1.1 为什么对比学习需要负样本？&lt;/h3&gt;
&lt;p&gt;训练嵌入模型时，如果只告诉模型“这两句话很相似，向量要靠近”，模型可能偷懒：把所有文本都编码成同一个向量。这样无论输入什么，相似度都很高，模型就失去了区分能力。&lt;/p&gt;
&lt;p&gt;负样本的作用就是告诉模型：&lt;strong&gt;这些不相似的文本，向量必须拉开&lt;/strong&gt;。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    subgraph 只有正样本
        P1[A] --&amp;gt; C[中心点]
        P2[B] --&amp;gt; C
        P3[C] --&amp;gt; C
    end

    subgraph 加入负样本
        N1[A] -.-&amp;gt;|拉近| P[正样本对]
        N2[B] -.-&amp;gt;|拉近| P
        N3[C] --&amp;gt;|推远| P
    end&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;高质量训练的关键是&lt;strong&gt;难负样本（Hard Negatives）&lt;/strong&gt;：那些看起来很像正确答案、但实际不对的样本。比如问“北京在哪里”，错误答案“上海是中国城市”就是一个难负样本，它会让模型学会更细粒度的区分。&lt;/p&gt;
&lt;h3 id=&#34;12-双编码器-vs-交叉编码器&#34;&gt;1.2 双编码器 vs 交叉编码器&lt;/h3&gt;
&lt;p&gt;工业界的语义搜索通常分两阶段：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    Q[查询] --&amp;gt; B[双编码器 Bi-Encoder]
    D[文档库] --&amp;gt; B
    B --&amp;gt; C[候选 Top-k]
    C --&amp;gt; X[交叉编码器 Cross-Encoder]
    X --&amp;gt; R[精排结果]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;特性&lt;/th&gt;
					&lt;th&gt;双编码器&lt;/th&gt;
					&lt;th&gt;交叉编码器&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;计算方式&lt;/td&gt;
					&lt;td&gt;查询和文档分别编码成向量&lt;/td&gt;
					&lt;td&gt;查询和文档拼接后一起输入模型&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;速度&lt;/td&gt;
					&lt;td&gt;快，文档向量可离线预计算&lt;/td&gt;
					&lt;td&gt;慢，需要实时成对计算&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;精度&lt;/td&gt;
					&lt;td&gt;较低，缺乏细粒度交互&lt;/td&gt;
					&lt;td&gt;高，能捕捉词级关系&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;用途&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;召回阶段&lt;/strong&gt;：从海量文档中快速找候选&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;精排阶段&lt;/strong&gt;：对少量候选做精确排序&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;对初级开发者的建议&lt;/strong&gt;：不要一上来就用交叉编码器处理百万文档，会慢得无法接受。标准做法是“双编码器召回 Top-100 + 交叉编码器精排”。&lt;/p&gt;
&lt;h3 id=&#34;13-训练嵌入模型的损失函数怎么选&#34;&gt;1.3 训练嵌入模型的损失函数怎么选？&lt;/h3&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;损失函数&lt;/th&gt;
					&lt;th&gt;优点&lt;/th&gt;
					&lt;th&gt;缺点&lt;/th&gt;
					&lt;th&gt;适用场景&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;MNR（多负例排序）&lt;/td&gt;
					&lt;td&gt;适合对比学习，能利用批量内负样本&lt;/td&gt;
					&lt;td&gt;依赖高质量负样本，计算随负例增加&lt;/td&gt;
					&lt;td&gt;大规模检索、对比预训练&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;余弦相似度损失&lt;/td&gt;
					&lt;td&gt;方向敏感，计算轻量，适合归一化嵌入&lt;/td&gt;
					&lt;td&gt;对难负样本区分度不足&lt;/td&gt;
					&lt;td&gt;文本相似度、资源受限场景&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Softmax 损失&lt;/td&gt;
					&lt;td&gt;直接优化分类，输出有概率意义&lt;/td&gt;
					&lt;td&gt;嵌入通用性差，不适合检索&lt;/td&gt;
					&lt;td&gt;意图识别、明确分类任务&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;14-没标注数据怎么办tsdae-无监督预训练&#34;&gt;1.4 没标注数据怎么办？TSDAE 无监督预训练&lt;/h3&gt;
&lt;p&gt;TSDAE（Transformer-based Sequential Denoising Auto-Encoder）的思路是：把输入文本加噪声（如随机删词、替换），再让模型重建原文。模型为了重建，必须学会抓住句子的全局语义。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    I[原始句子] --&amp;gt; N[加噪声]
    N --&amp;gt; E[Encoder 编码]
    E --&amp;gt; D[Decoder 重建]
    D --&amp;gt; O[还原原始句子]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;TSDAE 用特殊词元（如 &lt;code&gt;[CLS]&lt;/code&gt;）作为句子表征，而不是平均池化。原因是：&lt;code&gt;[CLS]&lt;/code&gt; 在训练中被迫压缩全局信息以重建整个句子，信号更强；而平均池化会被无关词稀释。&lt;/p&gt;
&lt;h3 id=&#34;15-怎么评测嵌入模型&#34;&gt;1.5 怎么评测嵌入模型？&lt;/h3&gt;
&lt;p&gt;MTEB（Massive Text Embedding Benchmark）是比 STS-B 更全面的评测基准，包含 8 类任务：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;语义文本相似度（STS）&lt;/li&gt;
&lt;li&gt;检索（Retrieval）&lt;/li&gt;
&lt;li&gt;重排序（Reranking）&lt;/li&gt;
&lt;li&gt;分类（Classification）&lt;/li&gt;
&lt;li&gt;聚类（Clustering）&lt;/li&gt;
&lt;li&gt;配对分类（Pair Classification）&lt;/li&gt;
&lt;li&gt;摘要评估（Summarization）&lt;/li&gt;
&lt;li&gt;双语文本挖掘（Bitext Mining）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果你做的业务是问答检索，就不要只看 STS 分数，要看 Retrieval 和 Reranking 指标。&lt;/p&gt;
&lt;h3 id=&#34;16-增量学习模型需要与时俱进&#34;&gt;1.6 增量学习：模型需要“与时俱进”&lt;/h3&gt;
&lt;p&gt;世界在变化，新词、新概念不断出现。嵌入模型也需要更新：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart TD
    A[收集新数据] --&amp;gt; B{分布是否变化？}
    B --&amp;gt;|是| C[概念漂移检测]
    B --&amp;gt;|否| D[继续监控]
    C --&amp;gt; E{性能是否退化？}
    E --&amp;gt;|是| F[增量微调]
    E --&amp;gt;|否| D
    F --&amp;gt; G[更新模型]
    G --&amp;gt; A&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;检测方法包括：监控 KL 散度、KS 检验、在线评估指标等。更新时可以用小步微调，而不是从头训练。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;二表示模型微调把小数据用出大价值&#34;&gt;二、表示模型微调：把小数据用出大价值&lt;/h2&gt;
&lt;p&gt;很多时候我们只有少量标注数据，却想做一个不错的分类或 NER 模型。这就需要“表示微调”的技巧。&lt;/p&gt;
&lt;h3 id=&#34;21-微调时冻结哪些层&#34;&gt;2.1 微调时冻结哪些层？&lt;/h3&gt;
&lt;p&gt;BERT 这类预训练模型，底层学习通用语法和语义，高层学习任务相关特征。微调时可以根据自己的情况决定：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    I[输入] --&amp;gt; L1[低层 Transformer&amp;lt;br/&amp;gt;通用语法语义]
    L1 --&amp;gt; L2[高层 Transformer&amp;lt;br/&amp;gt;任务相关语义]
    L2 --&amp;gt; H[分类头]
    H --&amp;gt; O[输出]

    style L1 fill:#e1f5e1
    style L2 fill:#fff2cc
    style H fill:#f8cecc&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;场景&lt;/th&gt;
					&lt;th&gt;策略&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;数据很少&lt;/td&gt;
					&lt;td&gt;冻结底层，只微调高层 + 分类头&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;数据较多&lt;/td&gt;
					&lt;td&gt;全模型微调&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;任务与预训练差异大&lt;/td&gt;
					&lt;td&gt;多微调几层&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;资源有限&lt;/td&gt;
					&lt;td&gt;冻结更多层，节省显存&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;22-setfit几百条数据也能做文本分类&#34;&gt;2.2 SetFit：几百条数据也能做文本分类&lt;/h3&gt;
&lt;p&gt;SetFit 是专门做少样本文本分类的框架。它的核心思想是：&lt;strong&gt;先用对比学习微调 Sentence Transformer，再在它生成的向量上训练一个轻量分类器&lt;/strong&gt;。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    S[少量标注样本] --&amp;gt; P[构造正负样本对]
    P --&amp;gt; C[对比学习微调 Encoder]
    C --&amp;gt; E[生成文本嵌入]
    E --&amp;gt; CL[训练分类器&amp;lt;br/&amp;gt;SVM / Logistic Regression]
    CL --&amp;gt; M[最终分类模型]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;为什么有效？因为即使是每类只有 5 条样本，两两组合也能生成很多训练对。对比学习让同类样本靠近、不同类样本远离，相当于学到了一个“任务专属的嵌入空间”。&lt;/p&gt;
&lt;h3 id=&#34;23-继续预训练拿到领域知识但别丢了通用能力&#34;&gt;2.3 继续预训练：拿到领域知识，但别丢了通用能力&lt;/h3&gt;
&lt;p&gt;让通用 BERT 适应医疗、法律等垂直领域，常用做法是继续预训练。但直接在全领域数据上训练，可能让模型忘掉通用语言知识，这叫&lt;strong&gt;灾难性遗忘&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;缓解方法：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;混合训练&lt;/strong&gt;：领域数据 + 通用数据一起训练。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;分阶段训练&lt;/strong&gt;：先用通用数据 warm-up，再逐步增加领域数据，最后再用少量通用数据巩固。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Adapter / LoRA&lt;/strong&gt;：只训练少量新增参数，保留主干模型。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;EWC（弹性权重巩固）&lt;/strong&gt;：对重要参数加约束，防止大幅偏离。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;知识蒸馏&lt;/strong&gt;：用原始通用模型当教师，保留其预测分布。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;24-垂直领域分类三种方案对比&#34;&gt;2.4 垂直领域分类：三种方案对比&lt;/h3&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;方案&lt;/th&gt;
					&lt;th&gt;优点&lt;/th&gt;
					&lt;th&gt;缺点&lt;/th&gt;
					&lt;th&gt;适用场景&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;直接微调通用 BERT&lt;/td&gt;
					&lt;td&gt;成本低、稳定&lt;/td&gt;
					&lt;td&gt;领域术语理解弱&lt;/td&gt;
					&lt;td&gt;快速验证、术语不复杂的任务&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;继续预训练 BERT 再微调&lt;/td&gt;
					&lt;td&gt;领域适应性强&lt;/td&gt;
					&lt;td&gt;需要大量无标注领域数据&lt;/td&gt;
					&lt;td&gt;有资源、有数据的团队&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;从头预训练领域模型&lt;/td&gt;
					&lt;td&gt;最强领域定制&lt;/td&gt;
					&lt;td&gt;资源消耗巨大、风险高&lt;/td&gt;
					&lt;td&gt;超大规模语料和算力&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;对大多数团队来说，&lt;strong&gt;方案（b）是性价比最高的&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id=&#34;25-ner-中的子词标签对齐&#34;&gt;2.5 NER 中的子词标签对齐&lt;/h3&gt;
&lt;p&gt;BERT 用 WordPiece 分词，会把一个词拆成多个子词。例如 &amp;ldquo;playing&amp;rdquo; → &amp;ldquo;play&amp;rdquo; + &amp;ldquo;##ing&amp;rdquo;。但 NER 标签是按词标注的，这就需要对齐：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;只标注第一个子词&lt;/strong&gt;：最简单常用，其余子词不参与损失计算。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;标签传播到所有子词&lt;/strong&gt;：每个子词都复制原词标签。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;标签传播 + 修复规则&lt;/strong&gt;：第一个子词用原标签，后续子词改成 &lt;code&gt;I-&lt;/code&gt; 或 &lt;code&gt;O&lt;/code&gt;，避免 BIO 格式混乱。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;26-嵌入式设备上的小模型多任务训练&#34;&gt;2.6 嵌入式设备上的小模型多任务训练&lt;/h3&gt;
&lt;p&gt;如果要在手机、IoT 设备上跑模型，需要：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;选轻量模型：MiniLM、TinyBERT、DistilBERT。&lt;/li&gt;
&lt;li&gt;多任务学习：共享一个编码器，接不同任务头。&lt;/li&gt;
&lt;li&gt;模型压缩：量化（INT8）、剪枝、知识蒸馏。&lt;/li&gt;
&lt;li&gt;部署格式：ONNX、TFLite。&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    I[输入文本] --&amp;gt; E[Shared Encoder]
    E --&amp;gt; C[分类头]
    E --&amp;gt; N[NER 头]
    E --&amp;gt; V[Embedding 头]
    C --&amp;gt; O1[分类结果]
    N --&amp;gt; O2[实体标签]
    V --&amp;gt; O3[语义向量]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;hr&gt;
&lt;h2 id=&#34;三生成模型微调让通用模型变成你的模型&#34;&gt;三、生成模型微调：让通用模型变成“你的模型”&lt;/h2&gt;
&lt;h3 id=&#34;31-sft监督微调是最常用的起点&#34;&gt;3.1 SFT：监督微调是最常用的起点&lt;/h3&gt;
&lt;p&gt;SFT（Supervised Fine-Tuning）就是准备好 &lt;code&gt;(prompt, response)&lt;/code&gt; 数据对，继续训练模型。比如你想让模型输出更简洁的微信聊天风格，就准备大量“问题 → 简短回答”的样本。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    D[准备 prompt-response 数据] --&amp;gt; S[SFT 微调]
    S --&amp;gt; E[评估效果]
    E --&amp;gt;|不够好| A[补充/清洗数据]
    A --&amp;gt; D
    E --&amp;gt;|效果好| P[上线部署]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;数据量建议（QA 对）：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;模型大小&lt;/th&gt;
					&lt;th&gt;目标&lt;/th&gt;
					&lt;th&gt;推荐数据量&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;1B - 7B&lt;/td&gt;
					&lt;td&gt;记住有限文档知识&lt;/td&gt;
					&lt;td&gt;1k - 20k&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;13B - 30B&lt;/td&gt;
					&lt;td&gt;强记忆 + 通用指令&lt;/td&gt;
					&lt;td&gt;10k - 100k&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;70B+&lt;/td&gt;
					&lt;td&gt;企业问答 + 任务泛化&lt;/td&gt;
					&lt;td&gt;50k - 500k&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;32-lora-与-qlora大模型微调的省钱方案&#34;&gt;3.2 LoRA 与 QLoRA：大模型微调的省钱方案&lt;/h3&gt;
&lt;p&gt;全参数微调 70B 模型需要大量 GPU。LoRA 的核心思想是：&lt;strong&gt;不在原始权重上直接更新，而是在每层旁边加两个小矩阵（低秩分解），只训练这两个小矩阵&lt;/strong&gt;。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    X[输入] --&amp;gt; W[原始权重 W]
    W --&amp;gt; O[输出]
    X --&amp;gt; A[低秩矩阵 A]
    A --&amp;gt; B[低秩矩阵 B]
    B --&amp;gt; O&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;LoRA 的参数量大约是全量微调的 &lt;code&gt;1 / (d / 2r)&lt;/code&gt; 倍。例如 d=12288，r=8，参数量减少约 768 倍。&lt;/p&gt;
&lt;p&gt;QLoRA 在此基础上做了&lt;strong&gt;分块量化&lt;/strong&gt;：把权重矩阵切成小块，每块独立量化，保留各自的 scale 和 zero-point。这样比全局量化更精确，能在消费级 GPU 上微调大模型。&lt;/p&gt;
&lt;h3 id=&#34;33-超参数设置与停止训练&#34;&gt;3.3 超参数设置与停止训练&lt;/h3&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;超参数&lt;/th&gt;
					&lt;th&gt;推荐范围&lt;/th&gt;
					&lt;th&gt;说明&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;学习率&lt;/td&gt;
					&lt;td&gt;1e-5 - 2e-4&lt;/td&gt;
					&lt;td&gt;LoRA 可用稍大学习率&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;LoRA rank&lt;/td&gt;
					&lt;td&gt;4 - 64&lt;/td&gt;
					&lt;td&gt;小任务 8/16，复杂任务 32+&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;LoRA alpha&lt;/td&gt;
					&lt;td&gt;rank × 2 - rank × 8&lt;/td&gt;
					&lt;td&gt;控制 LoRA 对主模型的影响强度&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;什么时候停止？&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;验证集 loss 连续 N 个 epoch 不下降就停。&lt;/li&gt;
&lt;li&gt;不要只看 loss，还要看具体指标（准确率、F1、BLEU、ROUGE）。&lt;/li&gt;
&lt;li&gt;生成任务最好加人工评估，loss 低不代表回答好。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;34-损失函数应该计算输入部分还是输出部分&#34;&gt;3.4 损失函数应该计算输入部分还是输出部分？&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;推荐：只计算输出部分&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;原因：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;推理时模型只负责生成输出，训练时只对输出优化更符合实际使用场景。&lt;/li&gt;
&lt;li&gt;输入部分是人类写好的 prompt，让模型预测它没有意义，还会引入噪声。&lt;/li&gt;
&lt;li&gt;计算量更小，训练更快。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;35-ppo-与-dpo让模型符合人类偏好&#34;&gt;3.5 PPO 与 DPO：让模型符合人类偏好&lt;/h3&gt;
&lt;p&gt;SFT 让模型“学会回答问题”，但不一定“回答得好”。RLHF（基于人类反馈的强化学习）就是解决这个问题。&lt;/p&gt;
&lt;h4 id=&#34;经典-rlhf-三阶段&#34;&gt;经典 RLHF 三阶段&lt;/h4&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    S[SFT 模型] --&amp;gt; R[训练奖励模型&amp;lt;br/&amp;gt;Reward Model]
    R --&amp;gt; P[PPO 强化学习]
    P --&amp;gt; A[对齐后的模型]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;SFT&lt;/strong&gt;：训练模型学会基本对话。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;训练奖励模型&lt;/strong&gt;：收集人类偏好数据，训练一个打分模型。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PPO 强化学习&lt;/strong&gt;：用奖励模型指导策略模型优化。&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;ppo-里的四个角色&#34;&gt;PPO 里的四个角色&lt;/h4&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart TD
    Prompt --&amp;gt; A[Actor&amp;lt;br/&amp;gt;生成回答]
    A --&amp;gt; C[Critic&amp;lt;br/&amp;gt;评估状态价值]
    A --&amp;gt; R[Reward Model&amp;lt;br/&amp;gt;给回答打分]
    A --&amp;gt; Ref[Reference Model&amp;lt;br/&amp;gt;计算 KL 散度&amp;lt;br/&amp;gt;防止跑偏]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;模型&lt;/th&gt;
					&lt;th&gt;作用&lt;/th&gt;
					&lt;th&gt;是否训练&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Actor&lt;/td&gt;
					&lt;td&gt;生成回答的主模型&lt;/td&gt;
					&lt;td&gt;是&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Critic&lt;/td&gt;
					&lt;td&gt;估计价值，计算优势函数&lt;/td&gt;
					&lt;td&gt;是&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Reward Model&lt;/td&gt;
					&lt;td&gt;给回答质量打分&lt;/td&gt;
					&lt;td&gt;否（通常预训练好）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Reference Model&lt;/td&gt;
					&lt;td&gt;计算 KL 散度，防止策略偏离初始模型&lt;/td&gt;
					&lt;td&gt;否&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id=&#34;ppo-vs-dpo&#34;&gt;PPO vs DPO&lt;/h4&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;对比项&lt;/th&gt;
					&lt;th&gt;PPO&lt;/th&gt;
					&lt;th&gt;DPO&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;训练范式&lt;/td&gt;
					&lt;td&gt;强化学习（on-policy）&lt;/td&gt;
					&lt;td&gt;监督学习（off-policy）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;是否需要奖励模型&lt;/td&gt;
					&lt;td&gt;需要&lt;/td&gt;
					&lt;td&gt;不需要&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;实现复杂度&lt;/td&gt;
					&lt;td&gt;高&lt;/td&gt;
					&lt;td&gt;低&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;数据利用率&lt;/td&gt;
					&lt;td&gt;低，只能用当前策略生成的数据&lt;/td&gt;
					&lt;td&gt;高，历史偏好数据都能用&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;稳定性&lt;/td&gt;
					&lt;td&gt;较敏感，容易 reward hacking&lt;/td&gt;
					&lt;td&gt;更稳定&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;数据少的时候优先用 DPO&lt;/strong&gt;，它只需要 &lt;code&gt;(prompt, chosen, rejected)&lt;/code&gt; 三元组；等数据量和工程能力都上来了，再考虑 PPO。&lt;/p&gt;
&lt;h3 id=&#34;36-dpo-的-beta-参数&#34;&gt;3.6 DPO 的 beta 参数&lt;/h3&gt;
&lt;p&gt;beta 控制模型对偏好差异的敏感程度：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;beta 小：偏好信号平滑，训练稳定，但可能学不到足够强的偏好。&lt;/li&gt;
&lt;li&gt;beta 适中（0.5-1.0）：常用默认值。&lt;/li&gt;
&lt;li&gt;beta 大：偏好差异被放大，模型对偏好更敏感，但可能过拟合或不稳定。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;37-把用户行为变成-dpo-数据&#34;&gt;3.7 把用户行为变成 DPO 数据&lt;/h3&gt;
&lt;p&gt;如果你运营一个 ChatGPT 类网站，用户行为天然就是偏好信号：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;用户行为&lt;/th&gt;
					&lt;th&gt;含义&lt;/th&gt;
					&lt;th&gt;DPO 用法&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;点赞&lt;/td&gt;
					&lt;td&gt;喜欢这个回答&lt;/td&gt;
					&lt;td&gt;当前回答为 chosen&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;点踩&lt;/td&gt;
					&lt;td&gt;不喜欢&lt;/td&gt;
					&lt;td&gt;当前回答为 rejected&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;重新生成&lt;/td&gt;
					&lt;td&gt;否定当前，偏好新的&lt;/td&gt;
					&lt;td&gt;新回答为 chosen，旧的为 rejected&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;复制/分享&lt;/td&gt;
					&lt;td&gt;非常满意&lt;/td&gt;
					&lt;td&gt;当前回答为 chosen&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;对于小红书这类图文混合平台，停留时长受图片影响大，需要结合点赞、收藏等行为综合判断；知乎这类长文本平台，停留时长、评论互动更能反映内容质量。&lt;/p&gt;
&lt;h3 id=&#34;38-对齐隐私与提示词注入&#34;&gt;3.8 对齐、隐私与提示词注入&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;对齐问题&lt;/strong&gt;：模型目标函数与人类真实意图不一致。解决办法包括 RLHF/DPO、安全微调、拒绝训练、输出审查等。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;隐私保护&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;训练前脱敏、移除 PII。&lt;/li&gt;
&lt;li&gt;训练中使用差分隐私优化。&lt;/li&gt;
&lt;li&gt;训练后扫描模型是否记住了敏感信息。&lt;/li&gt;
&lt;li&gt;部署时加输出拦截和 prompt 注入检测。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;通过微调防御提示词注入&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;在训练数据里加入大量注入攻击样本，标注正确拒答。&lt;/li&gt;
&lt;li&gt;对抗式微调：生成各种攻击变体让模型学习。&lt;/li&gt;
&lt;li&gt;强化系统角色一致性，让模型坚持原始身份。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;四从面试题到工程实践&#34;&gt;四、从面试题到工程实践&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;嵌入模型优先用现成的&lt;/strong&gt;。MTEB 上排名靠前的模型（如 BGE、E5、GTE）通常足够好用，不要自己从头训练。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;数据少时试试 SetFit&lt;/strong&gt;。几百条标注也能做出不错的分类器。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;大模型微调先 LoRA/QLoRA&lt;/strong&gt;。全参数微调太贵，LoRA 是性价比之选。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;RLHF 先 DPO 后 PPO&lt;/strong&gt;。DPO 实现简单、数据利用率高，适合起步。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;不要迷信排行榜&lt;/strong&gt;。榜单分数高不代表业务效果好，要结合实际场景评估。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;评估指标要对齐业务目标&lt;/strong&gt;。分类看 F1，检索看 Recall@K，生成看人工评估，不要只看 loss。&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id=&#34;结语&#34;&gt;结语&lt;/h2&gt;
&lt;p&gt;Part 3 的内容从“怎么训练嵌入模型”讲到“怎么微调分类模型”，再到“怎么对齐生成模型”。对初级开发者来说，重点是理解这些技术的&lt;strong&gt;适用场景和 trade-off&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;嵌入模型：双编码器快但粗，交叉编码器慢但准；负样本决定对比学习效果。&lt;/li&gt;
&lt;li&gt;表示微调：数据少就用 SetFit，数据多就全量微调；领域适配要注意灾难性遗忘。&lt;/li&gt;
&lt;li&gt;生成模型微调：SFT 是起点，LoRA 省钱，DPO/PPO 对齐人类偏好。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;掌握这些，你就能从“会调用模型”进阶到“会根据业务需求选择和调整模型”。&lt;/p&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;参考：《生成式AI原理与实战 —— Part 3》&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    <item>
      <title>生成式AI原理与实战（Part 2）学习笔记：提示工程、Agent 与 RAG 的通俗理解</title>
      <link>https://ftmao.com/blog/posts/llm-interview-notes-part2/</link>
      <pubDate>Sat, 08 Nov 2025 15:24:25 +0800</pubDate>
      <guid>https://ftmao.com/blog/posts/llm-interview-notes-part2/</guid>
      <description>&lt;h1 id=&#34;生成式ai原理与实战part-2学习笔记提示工程agent-与-rag-的通俗理解&#34;&gt;生成式AI原理与实战（Part 2）学习笔记：提示工程、Agent 与 RAG 的通俗理解&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;这是《生成式AI原理与实战》学习笔记的第二篇。Part 1 聊了 Transformer、Token、Embedding、Attention、KV Cache 这些“底层零件”；Part 2 则进入“怎么用”的层面：怎么写提示词、怎么让模型完成复杂任务、怎么给模型外挂知识库。目标读者仍然是&lt;strong&gt;刚接触 AI 的初中级开发者&lt;/strong&gt;——读完之后，你不需要会训模型，但应该能清楚地说出提示工程、Agent、RAG 这几个热门词到底在解决什么问题。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id=&#34;写在前面从调用-api到搭一个系统&#34;&gt;写在前面：从“调用 API”到“搭一个系统”&lt;/h2&gt;
&lt;p&gt;如果你只调过 ChatGPT API，可能会觉得大模型就是一个“输入问题、返回答案”的黑盒。但实际做项目时，很快会遇到这些问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;同样的 prompt，为什么每次回答不一样？&lt;/li&gt;
&lt;li&gt;模型怎么老是“一本正经地胡说八道”？&lt;/li&gt;
&lt;li&gt;想让模型输出 JSON，它却总带多余解释。&lt;/li&gt;
&lt;li&gt;对话轮数多了，模型就忘了用户是谁。&lt;/li&gt;
&lt;li&gt;公司私有文档模型不知道，怎么办？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Part 2 的内容，本质上就是回答这些问题。我会把它们分成三块：&lt;strong&gt;提示工程&lt;/strong&gt;（怎么写好 prompt）、&lt;strong&gt;Agent&lt;/strong&gt;（怎么让模型动起来）、&lt;strong&gt;RAG&lt;/strong&gt;（怎么给模型外挂知识）。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;一提示工程不是写文案而是设计接口&#34;&gt;一、提示工程：不是写文案，而是设计接口&lt;/h2&gt;
&lt;p&gt;很多人把提示工程当成“怎么哄 AI 开心”。其实对开发者来说，prompt 更像一个&lt;strong&gt;函数签名&lt;/strong&gt;：输入清楚、输出可控、边界明确。&lt;/p&gt;
&lt;h3 id=&#34;11-两个旋钮temperature-与-top_p&#34;&gt;1.1 两个旋钮：temperature 与 top_p&lt;/h3&gt;
&lt;p&gt;大模型生成下一个词时，不是“选择概率最高的词”就完事了。它有两个常用的“随机性旋钮”：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;temperature&lt;/strong&gt;：控制采样的“大胆程度”。值越低越保守，接近“只选概率最高的词”；值越高越有创意，容易跳出常规。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;top_p（nucleus sampling）&lt;/strong&gt;：只从累计概率达到一定比例的候选词里挑。比如 top_p=0.9，就只在概率最高的那一小撮词里采样。&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    A[模型输出概率分布] --&amp;gt; B{采样策略}
    B --&amp;gt;|temperature 低| C[集中在高概率词&amp;lt;br/&amp;gt;输出稳定]
    B --&amp;gt;|temperature 高| D[概率被拉平&amp;lt;br/&amp;gt;输出更多样]
    B --&amp;gt;|top_p 小| E[候选池小&amp;lt;br/&amp;gt;更聚焦]
    B --&amp;gt;|top_p 大| F[候选池大&amp;lt;br/&amp;gt;更发散]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;不同任务推荐参数如下：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;任务类型&lt;/th&gt;
					&lt;th&gt;temperature&lt;/th&gt;
					&lt;th&gt;top_p&lt;/th&gt;
					&lt;th&gt;原因&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;翻译、摘要、代码&lt;/td&gt;
					&lt;td&gt;0.2 - 0.5&lt;/td&gt;
					&lt;td&gt;0.8 - 1.0&lt;/td&gt;
					&lt;td&gt;需要准确、可重复&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;创意写作&lt;/td&gt;
					&lt;td&gt;0.7 - 1.0&lt;/td&gt;
					&lt;td&gt;0.9 - 1.0&lt;/td&gt;
					&lt;td&gt;需要多样性和想象力&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;头脑风暴&lt;/td&gt;
					&lt;td&gt;0.8 - 1.2&lt;/td&gt;
					&lt;td&gt;0.9 - 1.0&lt;/td&gt;
					&lt;td&gt;越跳出常规越好&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;验证参数好坏的方法&lt;/strong&gt;：人工看多轮输出是否稳定/有趣；对翻译用 BLEU/ROUGE；对创意任务用 distinct-n 看词汇多样性。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;小知识：有些模型 temperature=0 时输出仍不稳定，可能是因为用了**推测解码（Speculative Decoding）**等加速技术，候选生成阶段仍带随机性。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;12-一个专业提示词长什么样&#34;&gt;1.2 一个专业提示词长什么样？&lt;/h3&gt;
&lt;p&gt;把 prompt 当成接口文档来设计，通常包含以下模块：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart TD
    A[角色定义] --&amp;gt; B[任务目标]
    B --&amp;gt; C[输入信息/上下文]
    C --&amp;gt; D[输出格式]
    D --&amp;gt; E[约束条件]
    E --&amp;gt; F[示例]
    F --&amp;gt; G[模型输出]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;模块&lt;/th&gt;
					&lt;th&gt;作用&lt;/th&gt;
					&lt;th&gt;例子&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;角色定义&lt;/td&gt;
					&lt;td&gt;限定语气、专业范围&lt;/td&gt;
					&lt;td&gt;“你是一位严谨的学术助手。”&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;任务目标&lt;/td&gt;
					&lt;td&gt;消除歧义&lt;/td&gt;
					&lt;td&gt;“请把下面这段话翻译成英文。”&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;输入信息&lt;/td&gt;
					&lt;td&gt;限制回答依据&lt;/td&gt;
					&lt;td&gt;“仅根据以下材料回答。”&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;输出格式&lt;/td&gt;
					&lt;td&gt;便于解析&lt;/td&gt;
					&lt;td&gt;“输出 JSON，包含结论和依据。”&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;约束条件&lt;/td&gt;
					&lt;td&gt;降低风险&lt;/td&gt;
					&lt;td&gt;“不要编造，不知道就说不知道。”&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;示例&lt;/td&gt;
					&lt;td&gt;快速对齐预期&lt;/td&gt;
					&lt;td&gt;给 1-2 个输入输出样例&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;为什么角色定义很重要？&lt;/strong&gt; 大模型在训练时见过无数种文体和身份。明确角色，相当于激活了模型内部对应的知识路径和语气风格，也能让它更谨慎，减少胡说八道的概率。&lt;/p&gt;
&lt;h3 id=&#34;13-怎么减少模型幻觉&#34;&gt;1.3 怎么减少模型“幻觉”？&lt;/h3&gt;
&lt;p&gt;幻觉（Hallucination）就是模型一本正经地编造不存在的信息。常用防御手段：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;限定信息源&lt;/strong&gt;：只根据给定材料回答。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;强化真实性要求&lt;/strong&gt;：明确说“不知道就说不知道”。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;要求引用依据&lt;/strong&gt;：让模型说明答案出处。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;限制输出格式&lt;/strong&gt;：用 JSON、表格等结构化输出，减少自由发挥。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;低 temperature&lt;/strong&gt;：减少随机编造。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;14-怎么防止提示词注入攻击&#34;&gt;1.4 怎么防止提示词注入攻击？&lt;/h3&gt;
&lt;p&gt;提示词注入是指：用户输入里夹带“忽略前面指令、现在执行我的命令”这类内容，试图绕过系统限制。防御思路：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    A[用户输入] --&amp;gt; B[结构化隔离&amp;lt;br/&amp;gt;JSON/YAML/字段分离]
    B --&amp;gt; C[系统层过滤&amp;lt;br/&amp;gt;正则/规则/小模型守门]
    C --&amp;gt; D[明确指令优先级&amp;lt;br/&amp;gt;禁止修改角色与规则]
    D --&amp;gt; E[函数调用输出&amp;lt;br/&amp;gt;固定 schema]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;结构化输入&lt;/strong&gt;：不要把用户输入直接拼进自然语言 prompt，用 JSON 等格式隔离。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;明确边界&lt;/strong&gt;：系统提示里写明“不可改变角色”。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;函数调用&lt;/strong&gt;：让模型按固定 schema 输出，减少被操控空间。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;系统层检测&lt;/strong&gt;：用规则或小模型识别异常输入（如突然要求“忽略之前指令”）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;15-让模型先思考再回答cotself-consistencytot&#34;&gt;1.5 让模型“先思考再回答”：CoT、Self-Consistency、ToT&lt;/h3&gt;
&lt;p&gt;复杂任务（数学、逻辑、规划）直接要答案，模型容易错。可以先让它把推理过程写出来。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart TD
    subgraph 思维链 CoT
        Q1[问题] --&amp;gt; R1[一步一步推理] --&amp;gt; A1[答案]
    end

    subgraph 自洽性 Self-Consistency
        Q2[问题] --&amp;gt; R2a[采样推理 1]
        Q2 --&amp;gt; R2b[采样推理 2]
        Q2 --&amp;gt; R2c[采样推理 N]
        R2a --&amp;gt; V[投票/多数共识]
        R2b --&amp;gt; V
        R2c --&amp;gt; V
        V --&amp;gt; A2[最终答案]
    end

    subgraph 思维树 ToT
        Q3[问题] --&amp;gt; B1[分支 1]
        Q3 --&amp;gt; B2[分支 2]
        Q3 --&amp;gt; B3[分支 3]
        B1 --&amp;gt; E[评估/回溯]
        B2 --&amp;gt; E
        B3 --&amp;gt; E
        E --&amp;gt; A3[最优答案]
    end&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;方法&lt;/th&gt;
					&lt;th&gt;优点&lt;/th&gt;
					&lt;th&gt;缺点&lt;/th&gt;
					&lt;th&gt;适用场景&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;CoT&lt;/td&gt;
					&lt;td&gt;简单有效，兼容多数模型&lt;/td&gt;
					&lt;td&gt;可能产生幻觉推理步骤&lt;/td&gt;
					&lt;td&gt;数学、逻辑题&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Self-Consistency&lt;/td&gt;
					&lt;td&gt;稳定，减少随机波动&lt;/td&gt;
					&lt;td&gt;计算开销大&lt;/td&gt;
					&lt;td&gt;精度要求高&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;ToT&lt;/td&gt;
					&lt;td&gt;多路径探索，适合长规划&lt;/td&gt;
					&lt;td&gt;实现复杂&lt;/td&gt;
					&lt;td&gt;解谜、策略任务&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;反思 Reflection&lt;/td&gt;
					&lt;td&gt;可自我纠错&lt;/td&gt;
					&lt;td&gt;依赖初始回答质量&lt;/td&gt;
					&lt;td&gt;代码调试、文本润色&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;16-怎么保证输出格式&#34;&gt;1.6 怎么保证输出格式？&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;明确格式要求&lt;/strong&gt;：在 prompt 里清楚说明想要的结构。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;给 few-shot 示例&lt;/strong&gt;：1-2 个例子比千言万语管用。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;限制随机性&lt;/strong&gt;：JSON 输出常用 temperature=0。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;使用 API 的 JSON Mode / Function Calling&lt;/strong&gt;：从接口层面约束输出。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;后处理校验&lt;/strong&gt;：用 &lt;code&gt;json.loads()&lt;/code&gt; 等工具兜底。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;17-分类任务怎么保证只输出指定类别&#34;&gt;1.7 分类任务怎么保证只输出指定类别？&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;提示词里写明“只能输出以下类别之一”。&lt;/li&gt;
&lt;li&gt;用 API 的 &lt;code&gt;logit_bias&lt;/code&gt; 强行禁止非法 token。&lt;/li&gt;
&lt;li&gt;Function Calling 限定返回枚举值。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;二agent让大模型从回答问题到完成任务&#34;&gt;二、Agent：让大模型从“回答问题”到“完成任务”&lt;/h2&gt;
&lt;p&gt;提示工程解决的是“单次问答怎么做好”；Agent 解决的是“怎么让模型自主完成一个多步骤任务”。&lt;/p&gt;
&lt;h3 id=&#34;21-agent-的工作循环&#34;&gt;2.1 Agent 的工作循环&lt;/h3&gt;
&lt;p&gt;一个典型的 Agent 长这样：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    A[用户任务] --&amp;gt; B[思考 Thought]
    B --&amp;gt; C[行动 Action]
    C --&amp;gt; D[调用工具/搜索/查库]
    D --&amp;gt; E[观察 Observation]
    E --&amp;gt; F{任务完成了吗？}
    F --&amp;gt;|否| B
    F --&amp;gt;|是| G[输出最终答案]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;这就是 ReAct 模式的核心：&lt;strong&gt;想一步、做一步、看结果、再决定下一步&lt;/strong&gt;。比如你要做一个“调研 GPT-5 最新消息”的 Agent，它的循环可能是：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;分析目标 → 提取关键词。&lt;/li&gt;
&lt;li&gt;生成搜索关键词。&lt;/li&gt;
&lt;li&gt;调用搜索引擎。&lt;/li&gt;
&lt;li&gt;浏览网页，抽取信息。&lt;/li&gt;
&lt;li&gt;更新记忆，避免重复搜索。&lt;/li&gt;
&lt;li&gt;判断是否需要继续，直到满意。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;22-多-agent-协作一个复杂任务拆给多个专员&#34;&gt;2.2 多 Agent 协作：一个复杂任务拆给多个“专员”&lt;/h3&gt;
&lt;p&gt;当任务复杂、提示词过长时，可以把一个 Agent 拆成多个子 Agent：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    U[用户请求] --&amp;gt; R[Router Agent&amp;lt;br/&amp;gt;识别意图]
    R --&amp;gt; F[航班 Agent]
    R --&amp;gt; H[酒店 Agent]
    R --&amp;gt; I[行程 Agent]
    F --&amp;gt; P[Planner Agent&amp;lt;br/&amp;gt;整合结果]
    H --&amp;gt; P
    I --&amp;gt; P
    P --&amp;gt; O[返回用户]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Router Agent&lt;/strong&gt;：根据用户意图决定调用谁。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;子 Agent&lt;/strong&gt;：各自处理专业领域。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Planner Agent&lt;/strong&gt;：汇总输出，生成统一回复。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;子 Agent 之间通过共享上下文对象、向量数据库等方式传递信息。&lt;/p&gt;
&lt;h3 id=&#34;23-记忆模型不会自动记住你&#34;&gt;2.3 记忆：模型不会自动记住你&lt;/h3&gt;
&lt;p&gt;大模型本身没有长期记忆。对话轮数多了，它会“忘”掉 earlier 的关键信息。解决办法：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart TD
    A[历史对话] --&amp;gt; B[滑动窗口&amp;lt;br/&amp;gt;保留最近 N 轮]
    B --&amp;gt; C[摘要压缩&amp;lt;br/&amp;gt;生成关键状态]
    C --&amp;gt; D[外部记忆存储&amp;lt;br/&amp;gt;Redis/向量库]
    D --&amp;gt; E[需要时检索注入 Prompt]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;显式重复&lt;/strong&gt;：把关键信息重新塞进 prompt。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;摘要压缩&lt;/strong&gt;：每 N 轮生成一次对话摘要。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;外部存储&lt;/strong&gt;：用 Redis、向量数据库保存用户画像和历史事件。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;KV 缓存持久化&lt;/strong&gt;：把历史对话的 Key-Value 缓存存起来，下一轮直接复用，减少重复计算和延迟。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;24-异步工具调用别让一个慢工具卡住整个对话&#34;&gt;2.4 异步工具调用：别让一个慢工具卡住整个对话&lt;/h3&gt;
&lt;p&gt;如果某个工具（比如查航班 API）要几秒才返回，Agent 不应该傻等。可以：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;把工具调用做成异步任务。&lt;/li&gt;
&lt;li&gt;给用户一个中间状态回复：“正在查询，请稍等。”&lt;/li&gt;
&lt;li&gt;同时处理其他事情，工具返回后再继续。&lt;/li&gt;
&lt;li&gt;用请求 ID 追踪每个调用，确保结果能匹配回上下文。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;三rag给大模型外接一个知识库&#34;&gt;三、RAG：给大模型外接一个“知识库”&lt;/h2&gt;
&lt;p&gt;大模型训练数据有截止日期，也不会包含你的私有文档。RAG（Retrieval-Augmented Generation，检索增强生成）的思路是：&lt;strong&gt;在生成答案前，先从外部知识库检索相关内容，把检索结果作为上下文喂给模型&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id=&#34;31-rag-的基本流程&#34;&gt;3.1 RAG 的基本流程&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    Q[用户问题] --&amp;gt; R[检索模块]
    D[文档库] --&amp;gt; C[文档分块]
    C --&amp;gt; V[向量数据库]
    V --&amp;gt; R
    R --&amp;gt; M[Top-k 相关片段]
    M --&amp;gt; L[大模型]
    Q --&amp;gt; L
    L --&amp;gt; A[带依据的答案]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;h3 id=&#34;32-为什么要把文档切成块&#34;&gt;3.2 为什么要把文档切成块？&lt;/h3&gt;
&lt;p&gt;直接拿整篇文档做向量，效果不好，原因：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;检索精度低&lt;/strong&gt;：用户只关心其中一两段，整篇文档的向量会被不相关部分稀释。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;嵌入模型有长度限制&lt;/strong&gt;：BERT、MiniLM 等通常只能处理 512 token 左右。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;细粒度匹配更好&lt;/strong&gt;：小片段更容易和查询语义对齐。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;但切块也会带来&lt;strong&gt;上下文缺失&lt;/strong&gt;的问题。常用补救方法：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;方法&lt;/th&gt;
					&lt;th&gt;思路&lt;/th&gt;
					&lt;th&gt;优点&lt;/th&gt;
					&lt;th&gt;缺点&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;滑动窗口 + 重叠&lt;/td&gt;
					&lt;td&gt;相邻块有重叠区域&lt;/td&gt;
					&lt;td&gt;保留局部上下文&lt;/td&gt;
					&lt;td&gt;存储冗余&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;带标题分块&lt;/td&gt;
					&lt;td&gt;每个块附带章节标题&lt;/td&gt;
					&lt;td&gt;增强结构感&lt;/td&gt;
					&lt;td&gt;对无结构文档效果有限&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;检索时扩展&lt;/td&gt;
					&lt;td&gt;召回相邻块一起送给模型&lt;/td&gt;
					&lt;td&gt;上下文完整&lt;/td&gt;
					&lt;td&gt;需要系统支持&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;多粒度索引&lt;/td&gt;
					&lt;td&gt;同时建“摘要级”和“原文级”索引&lt;/td&gt;
					&lt;td&gt;兼顾梗概与细节&lt;/td&gt;
					&lt;td&gt;实现复杂&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;33-向量检索不够还要混合检索和重排序&#34;&gt;3.3 向量检索不够，还要混合检索和重排序&lt;/h3&gt;
&lt;p&gt;向量检索擅长“语义相似”，但不擅长“精确关键词匹配”；传统关键词检索（如 BM25）正好反过来。所以生产环境常用&lt;strong&gt;混合检索&lt;/strong&gt;：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    Q[用户查询] --&amp;gt; A[向量检索&amp;lt;br/&amp;gt;Dense Retrieval]
    Q --&amp;gt; B[关键词检索&amp;lt;br/&amp;gt;BM25/TF-IDF]
    A --&amp;gt; F[候选结果]
    B --&amp;gt; F
    F --&amp;gt; R[Rerank&amp;lt;br/&amp;gt;Cross-Encoder]
    R --&amp;gt; K[Top-k 最相关片段]
    K --&amp;gt; L[大模型生成]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;向量检索&lt;/strong&gt;：找语义相近的文档。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;关键词检索&lt;/strong&gt;：补全精确匹配能力。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rerank（重排序）&lt;/strong&gt;：用更强的 Cross-Encoder 模型对召回结果精排。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;34-为什么查询要改写&#34;&gt;3.4 为什么查询要改写？&lt;/h3&gt;
&lt;p&gt;用户提问往往口语化、不完整，直接拿去检索效果差。Query Rewriting 的目标是把问题改写成“更适合嵌入模型的语义表达”。&lt;/p&gt;
&lt;p&gt;比如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;原问题：“他出生在哪？”&lt;/li&gt;
&lt;li&gt;改写后：“Barack Obama was born in ?”&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;方法包括：LLM 改写、同义词扩展、模板化改写、指令式嵌入（如 E5 模型的 &lt;code&gt;query:&lt;/code&gt; 前缀）。&lt;/p&gt;
&lt;h3 id=&#34;35-检索到冲突或过时的信息怎么办&#34;&gt;3.5 检索到冲突或过时的信息怎么办？&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;检索前&lt;/strong&gt;：做数据源筛选、时效性过滤。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;检索中&lt;/strong&gt;：多阶段 reranking，提升相关性。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;生成前&lt;/strong&gt;：在 prompt 里加防御性约束，比如“如果来源冲突，请说明”。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;生成时&lt;/strong&gt;：要求模型标注来源，输出可信度分数。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;生成后&lt;/strong&gt;：用一致性校验或外部验证器判断答案是否忠实于来源。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;36-rag-的可解释性&#34;&gt;3.6 RAG 的可解释性&lt;/h3&gt;
&lt;p&gt;想让用户信任答案，最好告诉它“这个答案来自哪”。做法：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;保留文档 ID、URL、时间戳。&lt;/li&gt;
&lt;li&gt;做生成-来源对齐（Attribution），把生成内容逐句回溯到文档片段。&lt;/li&gt;
&lt;li&gt;输出置信度分数：检索相似度、生成概率、验证器分数等。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;37-多模态-rag-与长期记忆&#34;&gt;3.7 多模态 RAG 与长期记忆&lt;/h3&gt;
&lt;p&gt;RAG 不限于文本。可以扩展到图像、视频：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;用 CLIP 等模型把图像、文本映射到统一向量空间。&lt;/li&gt;
&lt;li&gt;文档里的图表提取为图像块，保留位置信息。&lt;/li&gt;
&lt;li&gt;视频按时间分段，提取关键帧 + ASR 文本。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI 伴侣、企业知识库这类长期记忆场景，则需要：每日摘要、事件图谱、多层次召回、时间感知检索、经验版本控制（避免新经验覆盖旧经验）。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;四从面试题到工程实践给初级开发者的建议&#34;&gt;四、从面试题到工程实践：给初级开发者的建议&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;先跑通端到端，再优化局部&lt;/strong&gt;。不要一上来就追求最先进的 reranker 或 Agent 框架，先用最简单的方式验证需求是否成立。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;把 prompt 当代码管&lt;/strong&gt;。纳入 Git，做版本控制，写回归测试。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;评估比调参更重要&lt;/strong&gt;。没有指标，就不知道改进是否有效。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;上下文质量 &amp;gt; 上下文长度&lt;/strong&gt;。塞太多无关信息，反而让模型抓不到重点。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;有结构地失败&lt;/strong&gt;。模型总会出错，关键是在出错时有兜底、有日志、能回滚。&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id=&#34;结语&#34;&gt;结语&lt;/h2&gt;
&lt;p&gt;Part 2 的内容从“怎么写 prompt”一路延伸到“怎么搭 Agent、做 RAG”。对初级开发者来说，最重要的不是记住每个参数的具体数值，而是理解这些技术背后的&lt;strong&gt;工程思想&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;提示工程 = 设计人与模型的接口协议；&lt;/li&gt;
&lt;li&gt;Agent = 把单次调用扩展成有状态、有工具、有记忆的循环；&lt;/li&gt;
&lt;li&gt;RAG = 用外部知识库补齐模型能力的缺口。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;掌握这三块，你就已经能从“会调 API”进阶到“能搭 AI 应用”了。&lt;/p&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;参考：《生成式AI原理与实战 —— Part 2》&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    <item>
      <title>生成式AI原理与实战（Part 1）学习笔记：给初级开发者的 LLM 入门图解</title>
      <link>https://ftmao.com/blog/posts/llm-interview-notes-part1/</link>
      <pubDate>Fri, 07 Nov 2025 15:18:31 +0800</pubDate>
      <guid>https://ftmao.com/blog/posts/llm-interview-notes-part1/</guid>
      <description>&lt;h1 id=&#34;生成式ai原理与实战part-1学习笔记给初级开发者的-llm-入门图解&#34;&gt;生成式AI原理与实战（Part 1）学习笔记：给初级开发者的 LLM 入门图解&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;读完《生成式AI原理与实战 —— Part 1》后，我把 58 个问题整理成这篇文章。目标读者是&lt;strong&gt;刚接触 AI 的初中级开发者&lt;/strong&gt;：你不用会推反向传播，但读完后应该能清楚地说出大模型是怎么“看”文本、怎么生成文本、以及怎么在实际任务里用它。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id=&#34;写在前面为什么开发者要懂这些&#34;&gt;写在前面：为什么开发者要懂这些？&lt;/h2&gt;
&lt;p&gt;如果你只是调用 API，可能会觉得大模型就像一个“黑盒 HTTP 服务”。但真到做项目时，很多问题都和底层机制有关：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;为什么同样的中文输入，不同模型算出来的 Token 数差很多？&lt;/li&gt;
&lt;li&gt;为什么上下文不能无限长？&lt;/li&gt;
&lt;li&gt;为什么模型做数学题会错？&lt;/li&gt;
&lt;li&gt;RAG、Agent、微调这些词到底在解决什么问题？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这篇文章会用“概念 + 图 + 生活化类比”来回答。每张图都是帮助你建立直觉，而不是背公式。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;一大模型不是单一结构三种-transformer-架构&#34;&gt;一、大模型不是单一结构：三种 Transformer 架构&lt;/h2&gt;
&lt;p&gt;大模型基本都基于 Transformer。Transformer 最初有&lt;strong&gt;编码器 + 解码器&lt;/strong&gt;，但后来发展出三种形态。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;graph LR
    subgraph 仅编码器模型
        A1[输入文本] --&amp;gt; E1[Encoder&amp;lt;br/&amp;gt;双向 Self-Attention]
        E1 --&amp;gt; O1[理解结果/分类]
    end

    subgraph 仅解码器模型
        A2[前缀文本] --&amp;gt; D2[Decoder&amp;lt;br/&amp;gt;Masked Self-Attention]
        D2 --&amp;gt; O2[逐字生成&amp;lt;br/&amp;gt;自回归]
    end

    subgraph 编码器-解码器模型
        A3[输入文本] --&amp;gt; E3[Encoder]
        E3 --&amp;gt; D3[Decoder&amp;lt;br/&amp;gt;Cross-Attention]
        D3 --&amp;gt; O3[翻译/摘要]
    end&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;类型&lt;/th&gt;
					&lt;th&gt;代表&lt;/th&gt;
					&lt;th&gt;看上下文的方式&lt;/th&gt;
					&lt;th&gt;典型用途&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;仅编码器&lt;/td&gt;
					&lt;td&gt;BERT、RoBERTa&lt;/td&gt;
					&lt;td&gt;双向（整句一起看）&lt;/td&gt;
					&lt;td&gt;分类、检索、文本匹配&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;仅解码器&lt;/td&gt;
					&lt;td&gt;GPT、LLaMA、Mistral&lt;/td&gt;
					&lt;td&gt;单向（只能看左边）&lt;/td&gt;
					&lt;td&gt;续写、对话、代码生成&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;编码器-解码器&lt;/td&gt;
					&lt;td&gt;T5、BART&lt;/td&gt;
					&lt;td&gt;编码器双向 + 解码器单向&lt;/td&gt;
					&lt;td&gt;翻译、摘要、复杂生成&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;GPT 和原始 Transformer 的最大区别&lt;/strong&gt;：GPT 把解码器单独拿出来，训练目标是“给定前文，预测下一个 token”，也就是&lt;strong&gt;自回归语言建模&lt;/strong&gt;。这让 GPT 系列天然适合生成任务。&lt;/p&gt;
&lt;h3 id=&#34;11-为什么-transformer-比-rnnattention-强&#34;&gt;1.1 为什么 Transformer 比 RNN+Attention 强？&lt;/h3&gt;
&lt;p&gt;早期 LSTM/GRU 需要一步一步处理序列，计算是串行的。Transformer 的自注意力可以一次性看到整句话，所有位置并行计算。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;并行&lt;/strong&gt;：训练速度大幅提升。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;长距离依赖&lt;/strong&gt;：RNN 对很远距离的信息容易“遗忘”，自注意力让任意两个 token 直接建立联系。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;结构统一&lt;/strong&gt;：没有复杂的循环状态，更容易扩展成超大模型。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;代价是计算复杂度为 &lt;code&gt;O(n²)&lt;/code&gt;，n 是序列长度。这也是上下文窗口不能无限长的根本原因。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;二从文本到向量token-与-embedding&#34;&gt;二、从文本到向量：Token 与 Embedding&lt;/h2&gt;
&lt;p&gt;大模型看不懂“字”，它只能处理数字。所以第一步是&lt;strong&gt;分词（Tokenization）&lt;/strong&gt;。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    T[原始文本] --&amp;gt; Token[Tokenizer 切分]
    Token --&amp;gt; ID[Token ID]
    ID --&amp;gt; Emb[Embedding 向量]
    Emb --&amp;gt; PE[加位置编码]
    PE --&amp;gt; In[输入 Transformer]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;h3 id=&#34;21-大模型分词器-vs-传统中文分词&#34;&gt;2.1 大模型分词器 vs 传统中文分词&lt;/h3&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;对比&lt;/th&gt;
					&lt;th&gt;大模型 Tokenizer&lt;/th&gt;
					&lt;th&gt;传统中文分词&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;目标&lt;/td&gt;
					&lt;td&gt;给神经网络高效编码&lt;/td&gt;
					&lt;td&gt;切出符合语言学的“词”&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;粒度&lt;/td&gt;
					&lt;td&gt;子词、字符、字节，视词表而定&lt;/td&gt;
					&lt;td&gt;一般是词&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;OOV 处理&lt;/td&gt;
					&lt;td&gt;拆成子词/字节，几乎不会失败&lt;/td&gt;
					&lt;td&gt;拆成单字或按规则处理&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;例子&lt;/td&gt;
					&lt;td&gt;&amp;ldquo;hello&amp;rdquo; → [&amp;ldquo;hell&amp;rdquo;, &amp;ldquo;o&amp;rdquo;]&lt;/td&gt;
					&lt;td&gt;&amp;ldquo;人工智能&amp;rdquo; → [&amp;ldquo;人工&amp;rdquo;, &amp;ldquo;智能&amp;rdquo;]&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;给定一个词表，分词结果通常是唯一的&lt;/strong&gt;。因为现代 Tokenizer 大多采用贪心最长匹配（BPE、WordPiece、Unigram 等），优先匹配最长的子词。&lt;/p&gt;
&lt;h3 id=&#34;22-字节级-bpe-为什么更通用&#34;&gt;2.2 字节级 BPE 为什么更通用？&lt;/h3&gt;
&lt;p&gt;GPT-4、Llama 等模型使用 &lt;strong&gt;byte-level BPE&lt;/strong&gt;：先把文本转成 UTF-8 字节序列，再在字节上做 BPE。&lt;/p&gt;
&lt;p&gt;好处：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;任何语言、Emoji、乱码、代码都能被编码，&lt;strong&gt;没有 OOV&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;不需要为每种语言设计特殊预处理。&lt;/li&gt;
&lt;li&gt;不同平台对 UTF-8 字节表示一致，迁移更稳定。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;23-大模型怎么区分用户说的和ai-说的&#34;&gt;2.3 大模型怎么区分“用户说的”和“AI 说的”？&lt;/h3&gt;
&lt;p&gt;靠&lt;strong&gt;特殊 Token&lt;/strong&gt; 和固定格式。训练时，对话会被包装成类似下面的结构：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;|user|&amp;gt; 今天天气怎么样？ &amp;lt;|assistant|&amp;gt; 今天天气很好，晴朗温暖。 &amp;lt;|end|&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;p&gt;模型在训练过程中学会了：看到 &lt;code&gt;&amp;lt;|assistant|&amp;gt;&lt;/code&gt; 就知道要切换成回答模式。实际调用 ChatGPT、Claude 的 API 时，&lt;code&gt;role: user/assistant/system&lt;/code&gt; 也是同样的道理。&lt;/p&gt;
&lt;h3 id=&#34;24-工具调用时输出怎么和文本回复区分&#34;&gt;2.4 工具调用时，输出怎么和文本回复区分？&lt;/h3&gt;
&lt;p&gt;模型通过&lt;strong&gt;输出格式约定&lt;/strong&gt;区分：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;普通回复：生成自然语言文本。&lt;/li&gt;
&lt;li&gt;工具调用：生成结构化的 JSON / Function Call Schema。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;服务端拿到输出后，检查结构：如果是 JSON，就执行工具；如果是文本，就直接返回给用户。训练阶段会通过 RLHF 告诉模型“该调用工具时不要废话，直接输出 JSON”。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;三静态-vs-上下文相关-embedding&#34;&gt;三、静态 vs 上下文相关 Embedding&lt;/h2&gt;
&lt;h3 id=&#34;31-word2vec-的负例有什么用&#34;&gt;3.1 word2vec 的负例有什么用？&lt;/h3&gt;
&lt;p&gt;word2vec 有两种训练方式：CBOW 和 Skip-gram。Skip-gram + Negative Sampling 中，负例让训练从“对整个词表做 softmax”变成“对少量正例 + 负例做二分类”。&lt;/p&gt;
&lt;p&gt;作用：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;减少计算量&lt;/strong&gt;：每次只更新少量向量。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;学到区分性表示&lt;/strong&gt;：正确搭配拉近，错误搭配推远。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;32-静态-embedding-和上下文相关-embedding&#34;&gt;3.2 静态 Embedding 和上下文相关 Embedding&lt;/h3&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;特性&lt;/th&gt;
					&lt;th&gt;静态词嵌入（word2vec/GloVe）&lt;/th&gt;
					&lt;th&gt;上下文相关嵌入（BERT/GPT）&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;向量&lt;/td&gt;
					&lt;td&gt;每个词一个固定向量&lt;/td&gt;
					&lt;td&gt;每个词每次出现都不同&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;例子&lt;/td&gt;
					&lt;td&gt;“bank” 永远是一个向量&lt;/td&gt;
					&lt;td&gt;在 “river bank” 和 “investment bank” 中向量不同&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;结构&lt;/td&gt;
					&lt;td&gt;浅层神经网络&lt;/td&gt;
					&lt;td&gt;深层 Transformer&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;能力&lt;/td&gt;
					&lt;td&gt;捕捉共现关系&lt;/td&gt;
					&lt;td&gt;理解语义、消歧、语法&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;静态 Embedding 仍然有价值&lt;/strong&gt;：轻量、快速、可解释、适合小数据和边缘设备。很多推荐系统、搜索召回场景仍然用 Embedding 模型。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    subgraph 静态词嵌入
        W1[bank] --&amp;gt; V1[固定向量]
    end
    subgraph 上下文相关嵌入
        S1[&amp;#34;river bank&amp;#34;] --&amp;gt; C1[向量A]
        S2[&amp;#34;investment bank&amp;#34;] --&amp;gt; C2[向量B]
    end&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;hr&gt;
&lt;h2 id=&#34;四llm-的内部机制&#34;&gt;四、LLM 的内部机制&lt;/h2&gt;
&lt;h3 id=&#34;41-模型怎么知道该停下来了&#34;&gt;4.1 模型怎么知道该停下来了？&lt;/h3&gt;
&lt;p&gt;训练数据每段文本末尾都有一个特殊 token，通常叫 &lt;code&gt;&amp;lt;eos&amp;gt;&lt;/code&gt;（End of Sequence）。模型的训练目标是预测下一个 token，所以它会自然学会：当回答完整时，输出 &lt;code&gt;&amp;lt;eos&amp;gt;&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;推理时还有辅助规则：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;达到最大生成长度。&lt;/li&gt;
&lt;li&gt;输出 &lt;code&gt;&amp;lt;eos&amp;gt;&lt;/code&gt; 立即停止。&lt;/li&gt;
&lt;li&gt;检测到重复循环时停止。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;42-训练时怎么防止偷看未来&#34;&gt;4.2 训练时怎么防止偷看未来？&lt;/h3&gt;
&lt;p&gt;用 &lt;strong&gt;Causal Mask（因果掩码）&lt;/strong&gt;。它是一个上三角矩阵，遮住当前位置右边的 token，让模型只能看到“过去”的信息。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;graph TD
    subgraph 序列
        T1[token1]
        T2[token2]
        T3[token3]
        T4[token4]
    end
    T1 --&amp;gt; T1
    T2 --&amp;gt; T1
    T2 --&amp;gt; T2
    T3 --&amp;gt; T1
    T3 --&amp;gt; T2
    T3 --&amp;gt; T3
    T4 --&amp;gt; T1
    T4 --&amp;gt; T2
    T4 --&amp;gt; T3
    T4 --&amp;gt; T4&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;箭头表示“能看到”。token3 看不到 token4，这就是自回归的核心。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;43-self-attention-到底在算什么&#34;&gt;4.3 Self-Attention 到底在算什么？&lt;/h3&gt;
&lt;p&gt;每个 token 都有三个向量：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Q（Query）&lt;/strong&gt;：我想找什么信息？&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;K（Key）&lt;/strong&gt;：我是什么信息？&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;V（Value）&lt;/strong&gt;：我的实际内容是什么？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;计算步骤：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Q 和 K 做点积，得到注意力分数。&lt;/li&gt;
&lt;li&gt;除以 &lt;code&gt;√d_k&lt;/code&gt;，防止数值过大导致 softmax 太尖锐。&lt;/li&gt;
&lt;li&gt;softmax 得到权重。&lt;/li&gt;
&lt;li&gt;用权重对 V 做加权求和。&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    X[输入 X] --&amp;gt; Q[Query]
    X --&amp;gt; K[Key]
    X --&amp;gt; V[Value]
    Q --&amp;gt; DOT[Q × K^T]
    K --&amp;gt; DOT
    DOT --&amp;gt; SCALE[÷ √d]
    SCALE --&amp;gt; SOFT[softmax]
    SOFT --&amp;gt; MUL[× V]
    V --&amp;gt; MUL
    MUL --&amp;gt; OUT[输出]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;&lt;strong&gt;为什么要除以 &lt;code&gt;√d_k&lt;/code&gt;？&lt;/strong&gt; 因为维度越高，点积值越容易变大，softmax 会趋向“只有一个位置是 1，其他都是 0”的极端分布，梯度变小，训练不稳定。&lt;/p&gt;
&lt;h3 id=&#34;44-为什么需要多头注意力&#34;&gt;4.4 为什么需要多头注意力？&lt;/h3&gt;
&lt;p&gt;多个头相当于多个“观察角度”：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;有的头关注语法结构。&lt;/li&gt;
&lt;li&gt;有的头关注相邻词。&lt;/li&gt;
&lt;li&gt;有的头关注长距离依赖。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果只用一个头，模型只能学一种注意模式，表达能力受限。&lt;/p&gt;
&lt;h3 id=&#34;45-kv-cache让生成变快的关键&#34;&gt;4.5 KV Cache：让生成变快的关键&lt;/h3&gt;
&lt;p&gt;生成文本时，模型是逐 token 生成的。如果没有 KV Cache，每生成一个新 token，都要重新计算前面所有 token 的 Attention，复杂度是 &lt;code&gt;O(L²)&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;有了 KV Cache：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;已经生成过的 token 的 K 和 V 被缓存下来。&lt;/li&gt;
&lt;li&gt;每次只需要计算新 token 的 Q，再和缓存中的 K、V 做 Attention。&lt;/li&gt;
&lt;li&gt;复杂度变成 &lt;code&gt;O(L)&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart TB
    subgraph 无 KV Cache
        A1[生成 token1] --&amp;gt; A2[生成 token2&amp;lt;br/&amp;gt;重算 token1]
        A2 --&amp;gt; A3[生成 token3&amp;lt;br/&amp;gt;重算 token1, token2]
    end

    subgraph 有 KV Cache
        B1[生成 token1&amp;lt;br/&amp;gt;缓存 K1,V1] --&amp;gt; B2[生成 token2&amp;lt;br/&amp;gt;只算 Q2 + 读取 K1,V1]
        B2 --&amp;gt; B3[生成 token3&amp;lt;br/&amp;gt;只算 Q3 + 读取 K1~V2]
    end&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;&lt;strong&gt;为什么只缓存 K 和 V，不缓存 Q？&lt;/strong&gt; 因为 K、V 来自“已经生成的历史”，是固定的；Q 来自“当前要生成的这个新 token”，每次都要重新算。&lt;/p&gt;
&lt;h3 id=&#34;46-残差连接layernormffn-各有什么用&#34;&gt;4.6 残差连接、LayerNorm、FFN 各有什么用？&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;残差连接（Residual Connection）&lt;/strong&gt;：把子层输入直接加回输出，缓解深层网络梯度消失，让训练更稳定。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LayerNorm&lt;/strong&gt;：对每个样本内部做归一化，不依赖 batch 大小，适合 NLP。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;RMSNorm&lt;/strong&gt;：Llama-3 使用，去掉减均值步骤，计算更快更稳定。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FFN（前馈神经网络）&lt;/strong&gt;：Attention 负责“看哪里”，FFN 负责“怎么理解”。两者缺一不可。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;47-为什么大模型做数学题经常不准&#34;&gt;4.7 为什么大模型做数学题经常不准？&lt;/h3&gt;
&lt;p&gt;大模型本质是&lt;strong&gt;概率模式匹配器&lt;/strong&gt;，不是计算器：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;优化目标是“下一个 token 看起来合理”，不是“答案精确”。&lt;/li&gt;
&lt;li&gt;训练数据里的数学推导质量参差不齐。&lt;/li&gt;
&lt;li&gt;多步推理会累积误差。&lt;/li&gt;
&lt;li&gt;没有内建算术引擎。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;改善方法：提示工程、CoT（Chain-of-Thought）链式推理、调用外部计算器工具。但无法根治。&lt;/p&gt;
&lt;h3 id=&#34;48-扩展上下文长度会带来的问题&#34;&gt;4.8 扩展上下文长度会带来的问题&lt;/h3&gt;
&lt;p&gt;把 8K 模型扩展到 32K，KV Cache 大小会变成 4 倍。同时 Attention 计算量和内存带宽需求也同步增加。&lt;/p&gt;
&lt;p&gt;常用做法：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;位置编码外推&lt;/strong&gt;：RoPE 可以通过插值扩展范围。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;继续训练&lt;/strong&gt;：在长文本上继续训练一段时间，让模型适应新的长度分布。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;打包训练 + Attention Mask&lt;/strong&gt;：把多个短样本拼成一条长序列，用块对角掩码阻止它们互相看到。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;49-flash-attention-为什么能加速&#34;&gt;4.9 Flash Attention 为什么能加速？&lt;/h3&gt;
&lt;p&gt;Flash Attention 没有减少总计算量，但大幅减少了对 HBM（GPU 显存）的访问。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;把 Attention 拆成小块，在片上 SRAM 完成计算。&lt;/li&gt;
&lt;li&gt;融合多个 kernel，减少数据搬运。&lt;/li&gt;
&lt;li&gt;用 online softmax 增量维护最大值和归一化因子。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;410-rope-比绝对位置编码强在哪&#34;&gt;4.10 RoPE 比绝对位置编码强在哪？&lt;/h3&gt;
&lt;p&gt;原始 Transformer 把位置编码加到 Embedding 上，是&lt;strong&gt;加法&lt;/strong&gt;的。RoPE（旋转位置编码）通过旋转 Q、K 向量把位置信息&lt;strong&gt;乘进去&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;优势：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;天然编码相对位置信息。&lt;/li&gt;
&lt;li&gt;具备一定的长度外推能力。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;挑战：超长上下文下，旋转角度增长过快，可能出现周期折叠和数值精度问题。&lt;/p&gt;
&lt;h3 id=&#34;411-推测解码用小模型加速大模型&#34;&gt;4.11 推测解码：用小模型加速大模型&lt;/h3&gt;
&lt;p&gt;思路：让小模型快速猜一串 token，大模型一次性批量验证。如果猜对了，直接接受；如果错了，从错的地方用大模型重新生成。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;sequenceDiagram
    participant User
    participant Small as 小模型
    participant Large as 大模型

    User-&amp;gt;&amp;gt;Small: 请生成候选 token
    Small-&amp;gt;&amp;gt;Large: 提交候选序列
    Large-&amp;gt;&amp;gt;Large: 一次性验证多个 token
    alt 全部正确
        Large--&amp;gt;&amp;gt;User: 直接返回候选结果
    else 第 k 个错误
        Large--&amp;gt;&amp;gt;User: 前 k-1 个接受，从 k 开始重新生成
    end&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;推测解码没有减少总计算量，但减少了“慢的大模型”的运行次数，从而降低延迟。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;五预训练--微调两步范式&#34;&gt;五、预训练 + 微调：两步范式&lt;/h2&gt;
&lt;p&gt;大模型不是一开始就会聊天、会做题的。它通常经历两个阶段：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    PT[预训练&amp;lt;br/&amp;gt;海量无标注文本] --&amp;gt;|获得通用能力| FT[微调&amp;lt;br/&amp;gt;指令/人类偏好数据]
    FT --&amp;gt;|对齐人类价值观| Model[可用模型]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;h3 id=&#34;51-预训练让模型获得什么&#34;&gt;5.1 预训练让模型获得什么？&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;语言理解与生成能力。&lt;/li&gt;
&lt;li&gt;世界知识和常识。&lt;/li&gt;
&lt;li&gt;基本的推理和归纳能力。&lt;/li&gt;
&lt;li&gt;跨任务泛化能力。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;52-微调做什么&#34;&gt;5.2 微调做什么？&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;指令遵循&lt;/strong&gt;：学会按照用户要求组织答案。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;问答能力&lt;/strong&gt;：更准确、简洁、相关地回答问题。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;对齐人类价值观&lt;/strong&gt;：减少有害、偏见、违法内容。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这也是 Llama-3 8B 能比 Llama-1 70B 更强的关键原因之一：更好的数据、更优的训练方法、更系统的微调和对齐。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;六文本分类embedding-还是生成&#34;&gt;六、文本分类：Embedding 还是生成？&lt;/h2&gt;
&lt;h3 id=&#34;61-embedding--分类头&#34;&gt;6.1 Embedding + 分类头&lt;/h3&gt;
&lt;p&gt;流程：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    T[文本] --&amp;gt; M[Embedding 模型]
    M --&amp;gt; V[向量]
    V --&amp;gt; C[分类头&amp;lt;br/&amp;gt;Linear/MLP]
    C --&amp;gt; L[标签]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;优点：推理快、成本低、类别可以很多、精度通常稳定。&lt;/p&gt;
&lt;h3 id=&#34;62-生成模型直接分类&#34;&gt;6.2 生成模型直接分类&lt;/h3&gt;
&lt;p&gt;把分类任务写成 prompt，让模型直接输出类别文本。例如：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;你是情感分析专家。请判断下面电影评论是 positive 还是 negative，只返回标签：
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;评论：这部电影太精彩了！&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;p&gt;优点：零样本、少样本能力强，加新类别不用重新训练。
缺点：推理慢、对 prompt 敏感、类别多时容易出错。&lt;/p&gt;
&lt;h3 id=&#34;63-没有标注数据怎么办&#34;&gt;6.3 没有标注数据怎么办？&lt;/h3&gt;
&lt;p&gt;可以把分类变成&lt;strong&gt;文本相似度检索&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;给每个类别写一段自然语言描述。&lt;/li&gt;
&lt;li&gt;用 Embedding 模型把描述和待分类文本都变成向量。&lt;/li&gt;
&lt;li&gt;计算余弦相似度，选最相似的类别。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;标签描述的技巧&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;用具体场景描述，而不是抽象词。&lt;/li&gt;
&lt;li&gt;写成完整短句。&lt;/li&gt;
&lt;li&gt;包含领域关键词。&lt;/li&gt;
&lt;li&gt;长度适中（10-20 字左右）。&lt;/li&gt;
&lt;li&gt;类别之间要有区分度。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;64-transformer-为什么比朴素贝叶斯强&#34;&gt;6.4 Transformer 为什么比朴素贝叶斯强？&lt;/h3&gt;
&lt;p&gt;朴素贝叶斯假设：给定类别后，每个词都是条件独立的。这忽略了：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;词语之间的相关性（如“银行”和“贷款”）。&lt;/li&gt;
&lt;li&gt;语序信息（“这部电影不好看” vs “这部电影好看”）。&lt;/li&gt;
&lt;li&gt;否定词、修饰语的语义反转。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Transformer 通过自注意力建模上下文关系，没有强独立性假设，因此表现更好。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;七文本聚类与主题建模&#34;&gt;七、文本聚类与主题建模&lt;/h2&gt;
&lt;h3 id=&#34;71-为什么有了生成式大模型还需要-embedding-模型&#34;&gt;7.1 为什么有了生成式大模型，还需要 Embedding 模型？&lt;/h3&gt;
&lt;p&gt;生成模型擅长理解和生成，但不擅长：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;对海量候选做快速相似度检索。&lt;/li&gt;
&lt;li&gt;低延迟推荐。&lt;/li&gt;
&lt;li&gt;大规模向量化索引。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;推荐系统&lt;/strong&gt;就是典型例子：先把商品/用户变成向量，再用向量数据库做近邻搜索，效率高、成本低。&lt;/p&gt;
&lt;h3 id=&#34;72-从文档到主题的流程&#34;&gt;7.2 从文档到主题的流程&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    Docs[大量文档] --&amp;gt; Prep[预处理]
    Prep --&amp;gt; Vec[向量化&amp;lt;br/&amp;gt;TF-IDF 或 Embedding]
    Vec --&amp;gt; Cluster[聚类&amp;lt;br/&amp;gt;KMeans / HDBSCAN]
    Cluster --&amp;gt; Topic[主题提取&amp;lt;br/&amp;gt;TF-IDF / c-TF-IDF / LLM]
    Topic --&amp;gt; Label[人工命名/标签]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;h3 id=&#34;73-词袋法-vs-文档嵌入&#34;&gt;7.3 词袋法 vs 文档嵌入&lt;/h3&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;特性&lt;/th&gt;
					&lt;th&gt;词袋法 / TF-IDF&lt;/th&gt;
					&lt;th&gt;文档嵌入（BERT/SBERT）&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;表示&lt;/td&gt;
					&lt;td&gt;稀疏向量&lt;/td&gt;
					&lt;td&gt;稠密向量&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;上下文&lt;/td&gt;
					&lt;td&gt;不考虑&lt;/td&gt;
					&lt;td&gt;考虑&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;一词多义&lt;/td&gt;
					&lt;td&gt;不能处理&lt;/td&gt;
					&lt;td&gt;能处理&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;资源&lt;/td&gt;
					&lt;td&gt;快速轻量&lt;/td&gt;
					&lt;td&gt;需要模型和算力&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;可解释性&lt;/td&gt;
					&lt;td&gt;强&lt;/td&gt;
					&lt;td&gt;弱&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;词袋法在很多简单任务上仍是有效的基线，别急着上深度学习。&lt;/p&gt;
&lt;h3 id=&#34;74-c-tf-idf-改进在哪&#34;&gt;7.4 c-TF-IDF 改进在哪？&lt;/h3&gt;
&lt;p&gt;BERTopic 里的 c-TF-IDF 把统计单位从“文档”改成“主题（簇）”。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;TF&lt;/strong&gt;：某个词在主题内所有文档合并后的频率。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IDF&lt;/strong&gt;：&lt;code&gt;log(K / df)&lt;/code&gt;，K 是主题总数，df 是包含该词的主题数。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这样提取出来的关键词更能代表整个主题的共性，而不是单篇文档的特例。&lt;/p&gt;
&lt;h3 id=&#34;75-聚类算法怎么选&#34;&gt;7.5 聚类算法怎么选？&lt;/h3&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;算法&lt;/th&gt;
					&lt;th&gt;优点&lt;/th&gt;
					&lt;th&gt;缺点&lt;/th&gt;
					&lt;th&gt;适合&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;K-Means&lt;/td&gt;
					&lt;td&gt;快、可扩展&lt;/td&gt;
					&lt;td&gt;需指定 K、对噪声敏感、只能找球形簇&lt;/td&gt;
					&lt;td&gt;大规模、簇形状规则&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;DBSCAN/HDBSCAN&lt;/td&gt;
					&lt;td&gt;自动识别噪声、任意形状&lt;/td&gt;
					&lt;td&gt;高维稀疏空间效果差、HDBSCAN 较慢&lt;/td&gt;
					&lt;td&gt;中小规模、噪声多&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;76-为什么把聚类和主题表示分开更好&#34;&gt;7.6 为什么把聚类和主题表示分开更好？&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;灵活性&lt;/strong&gt;：聚类方法可以换，主题提取方法也可以换。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;解释性&lt;/strong&gt;：先聚类再从每簇提关键词，比联合模型更直观。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;降噪&lt;/strong&gt;：聚类只关心语义相似度，主题提取专注于代表性关键词。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;77-主题关键词重叠怎么办&#34;&gt;7.7 主题关键词重叠怎么办？&lt;/h3&gt;
&lt;p&gt;可以尝试：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;用 c-TF-IDF 提升每个主题的代表词独特性。&lt;/li&gt;
&lt;li&gt;去掉停用词和高频无意义词。&lt;/li&gt;
&lt;li&gt;合并过细的小簇后重新提取关键词。&lt;/li&gt;
&lt;li&gt;用 MMR（Maximal Marginal Relevance）兼顾相关性和多样性。&lt;/li&gt;
&lt;li&gt;换更好的语义嵌入模型。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;78-bertopic-离群点太多怎么办&#34;&gt;7.8 BERTopic 离群点太多怎么办？&lt;/h3&gt;
&lt;p&gt;可能原因：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;嵌入模型和领域不匹配。&lt;/li&gt;
&lt;li&gt;文本太短，语义信息不足。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;min_cluster_size&lt;/code&gt; 设置过大。&lt;/li&gt;
&lt;li&gt;语料本身主题分散。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;调整方法：减小 &lt;code&gt;min_cluster_size&lt;/code&gt;、换 &lt;code&gt;cluster_selection_method=&#39;leaf&#39;&lt;/code&gt;、使用更适合短文本的嵌入模型（如 SimCSE、MiniLM）。&lt;/p&gt;
&lt;h3 id=&#34;79-检测新兴主题&#34;&gt;7.9 检测新兴主题&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;滑动窗口 + 动态聚类&lt;/strong&gt;：按时间切分数据，追踪主题演化。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;频率突变监测&lt;/strong&gt;：统计词频增长率，发现突然火起来的词。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Embedding 演化分析&lt;/strong&gt;：新聚类中心远离旧中心，说明出现新主题。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;710-推荐系统冷启动怎么做&#34;&gt;7.10 推荐系统冷启动怎么做？&lt;/h3&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;阶段&lt;/th&gt;
					&lt;th&gt;推荐方式&lt;/th&gt;
					&lt;th&gt;方法&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;冷启动&lt;/td&gt;
					&lt;td&gt;内容理解&lt;/td&gt;
					&lt;td&gt;TF-IDF + KMeans / BERTopic&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;初始推荐&lt;/td&gt;
					&lt;td&gt;主题/相似内容&lt;/td&gt;
					&lt;td&gt;用户兴趣引导 + 主题中心匹配&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;有行为数据&lt;/td&gt;
					&lt;td&gt;协同过滤 + 内容&lt;/td&gt;
					&lt;td&gt;ItemCF / UserCF + 向量相似度&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;数据丰富&lt;/td&gt;
					&lt;td&gt;CTR 预估&lt;/td&gt;
					&lt;td&gt;FM / DNN / DSSM&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id=&#34;八写在最后&#34;&gt;八、写在最后&lt;/h2&gt;
&lt;p&gt;这篇笔记覆盖了《生成式AI原理与实战 —— Part 1》的 5 个章节。对初级开发者来说，最重要的不是记住每个公式，而是建立下面几个直觉：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;大模型 = 分词 + 向量 + Transformer + 生成概率&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Transformer 的核心是 Attention：看哪里（QK）和拿什么信息（V）&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;生成模型靠自回归逐 token 预测，每次只能看过去，靠 KV Cache 加速&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;预训练给通识，微调给方向，对齐给安全&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Embedding 模型在检索、推荐、聚类场景仍然不可替代&lt;/strong&gt;。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;如果你能把这些讲给一位没做过 AI 的后端同事听明白，说明这篇文章的目的就达到了。&lt;/p&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;参考资料：《生成式AI原理与实战 —— Part 1》&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    <item>
      <title>《浪潮之巅》读书笔记：程序员创业故事的兴衰规律，与 AI 大模型时代的新机会</title>
      <link>https://ftmao.com/blog/bookstore/on-top-of-tides-notes/</link>
      <pubDate>Wed, 13 Nov 2024 16:00:00 +0800</pubDate>
      <guid>https://ftmao.com/blog/bookstore/on-top-of-tides-notes/</guid>
      <description>&lt;h1 id=&#34;浪潮之巅读书笔记程序员创业故事的兴衰规律与-ai-大模型时代的新机会&#34;&gt;《浪潮之巅》读书笔记：程序员创业故事的兴衰规律，与 AI 大模型时代的新机会&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;参考书籍：吴军《浪潮之巅》（&lt;em&gt;On Top of Tides&lt;/em&gt;）。
目标读者：想创业、正在做副业、或者想看清技术周期位置的程序员。
阅读目标：把书中十几个公司的兴衰故事，提炼成&amp;quot;为什么会赢、为什么会死&amp;quot;的规律，再追问一个问题——&lt;strong&gt;如果换成 AI 大模型时代，这些故事会怎么改写？&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;《浪潮之巅》表面上写的是 AT&amp;amp;T、IBM、苹果、微软、Google 这些公司的历史，实际上写的是一件事：&lt;strong&gt;技术浪潮每隔十几年就来一次，每一次都会成就一批新公司、埋葬一批旧巨头。而能不能站上浪尖，靠的不只是技术，还有时机、商业模式和基因。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;作为一个写代码的人，我读这本书的角度比较功利：这些公司当年是怎么从&amp;quot;几个人 + 一个技术想法&amp;quot;长成千亿帝国的？它们后来又是怎么死的？以及最重要的——&lt;strong&gt;今天 AI 大模型这一波浪潮，和当年有什么相同和不同？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这篇文章分五部分：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;全书的核心规律（先建立框架）；&lt;/li&gt;
&lt;li&gt;逐个复盘经典创业故事，每个故事末尾分析&amp;quot;AI 时代的新思路&amp;quot;；&lt;/li&gt;
&lt;li&gt;盘点这些案例背后的核心算法、数学工具与创新工具；&lt;/li&gt;
&lt;li&gt;浪潮的幕后生态：风投、投行、斯坦福、印钞机商业模式与金融风暴；&lt;/li&gt;
&lt;li&gt;我的思考和给程序员的行动清单。&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id=&#34;一先立框架浪潮是怎么起落的&#34;&gt;一、先立框架：浪潮是怎么起落的&lt;/h2&gt;
&lt;p&gt;吴军判断一个行业是否有&amp;quot;浪潮&amp;quot;，看的是三个东西是否同时出现：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart TD
    A[&amp;#34;技术突破&amp;lt;br/&amp;gt;晶体管 / 集成电路 / PC / 互联网 / AI&amp;#34;] --&amp;gt; D[&amp;#34;浪潮形成&amp;#34;]
    B[&amp;#34;商业模式成立&amp;lt;br/&amp;gt;有人愿意付钱&amp;#34;] --&amp;gt; D
    C[&amp;#34;基础设施成熟&amp;lt;br/&amp;gt;芯片 / 网络 / 云&amp;#34;] --&amp;gt; D
    D --&amp;gt; E[&amp;#34;新公司崛起&amp;lt;br/&amp;gt;抢到生态位&amp;#34;]
    D --&amp;gt; F[&amp;#34;旧巨头衰落&amp;lt;br/&amp;gt;被基因锁死&amp;#34;]
    E --&amp;gt; G[&amp;#34;行业格局固化&amp;lt;br/&amp;gt;70-20-10&amp;#34;]
    G --&amp;gt; H[&amp;#34;下一次技术突破&amp;lt;br/&amp;gt;周期重来&amp;#34;]
    H --&amp;gt; A&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;书里最经典的几个规律，先列出来，后面的故事都会反复用到：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;规律&lt;/th&gt;
					&lt;th&gt;内容&lt;/th&gt;
					&lt;th&gt;一句话理解&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;摩尔定律&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;每 18 个月，同样价格能买到的计算性能翻一倍&lt;/td&gt;
					&lt;td&gt;硬件公司必须跑得比贬值快&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;反摩尔定律&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;如果一个公司今天和 18 个月前卖掉同样多的产品，营业额就要降一半&lt;/td&gt;
					&lt;td&gt;不进则退，原地踏步就是倒退&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;安迪-比尔定律&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Andy (Intel) gives, Bill (Microsoft) takes away&lt;/td&gt;
					&lt;td&gt;硬件提升的性能会被软件吃掉，逼用户升级&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;70-20-10 律&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;市场成熟期：老大占 70%，老二占 20%，其余分 10%&lt;/td&gt;
					&lt;td&gt;信息产业没有&amp;quot;并列第一&amp;quot;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;基因决定论&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;公司的基因决定了它能做什么、不能做什么&lt;/td&gt;
					&lt;td&gt;转型难，不是因为笨，是因为基因不匹配&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;诺威格定律&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;当一家公司市场份额超过 50% 后，就无法再翻番了，必须寻找新增长点&lt;/td&gt;
					&lt;td&gt;增长见顶后，扩张方向决定生死&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;这几个规律就像物理定律一样，在后面每个故事里你都会看到它们起作用。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;二创业故事逐个复盘--ai-时代的新思路&#34;&gt;二、创业故事逐个复盘 + AI 时代的新思路&lt;/h2&gt;
&lt;h3 id=&#34;21-att-与贝尔实验室技术最强--活得最好&#34;&gt;2.1 AT&amp;amp;T 与贝尔实验室：技术最强 ≠ 活得最好&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;故事&lt;/strong&gt;：贝尔实验室是 20 世纪最伟大的研究机构——晶体管、UNIX、C 语言、信息论（香农）、激光、蜂窝通信，全出自这里。AT&amp;amp;T 靠电话垄断躺赚几十年。但 1984 年反垄断分拆、1995 年主动拆分后，AT&amp;amp;T 一心只想快速赚钱，把设备业务（朗讯）和贝尔实验室拆出去卖钱，最终百年帝国在宽带浪潮中沦为配角。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;教训&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;垄断利润会腐蚀创新能力——赚钱太容易，就没人关心十年后；&lt;/li&gt;
&lt;li&gt;分拆的决策如果只服务于股价而不是技术布局，等于自杀；&lt;/li&gt;
&lt;li&gt;贝尔实验室的发明无数，但很多（比如 UNIX）没有变成自己的商业帝国，&lt;strong&gt;技术是别人的嫁衣&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;AI 时代的新思路&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;今天的 OpenAI、DeepMind 某种程度上就是新的&amp;quot;贝尔实验室&amp;quot;——基础模型能力外溢，全世界开发者免费搭车。对创业者来说这意味着：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;不要去和&amp;quot;新贝尔实验室&amp;quot;拼基础研究&lt;/strong&gt;，那是巨头的军备竞赛（训练一个前沿模型要几亿美元），创业公司玩不起；&lt;/li&gt;
&lt;li&gt;但贝尔实验室的历史也证明：&lt;strong&gt;实验室的成果会外溢，机会在应用层&lt;/strong&gt;。开源模型（LLaMA、Qwen、DeepSeek）就是新时代的&amp;quot;UNIX&amp;quot;，谁能在开源底座上长出垂直应用，谁就是新时代的 DEC、Sun；&lt;/li&gt;
&lt;li&gt;反向借鉴：如果你做 AI 应用，要警惕 AT&amp;amp;T 的教训——&lt;strong&gt;不要把核心能力完全外包给模型厂商&lt;/strong&gt;。API 一涨价、一断供，业务就没了。创业公司至少要掌握数据、场景、工作流中的一个作为护城河。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;22-ibm大象也能跳舞但只在-b-端&#34;&gt;2.2 IBM：大象也能跳舞，但只在 B 端&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;故事&lt;/strong&gt;：IBM 做了几十年大型机，错过 PC 浪潮的开端后，靠 IBM PC 杀回来，却意外养大了两个掘墓人——Intel（芯片）和微软（操作系统），&amp;ldquo;安迪-比尔定律&amp;quot;由此得名。90 年代 IBM 濒临破产，郭士纳把它从硬件公司转型为 IT 服务公司，活了过来。后来又剥离 PC（卖给联想）、押注咨询和云计算。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;教训&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;基因决定论&lt;/strong&gt;的正面案例：IBM 的基因是服务企业客户，所以转型服务能成；它想做消费级产品（OS/2 输给 Windows）就是不行；&lt;/li&gt;
&lt;li&gt;开放的架构（IBM PC 兼容机）会杀死架构的创造者——你定义了标准，别人踩着标准绕开你。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;AI 时代的新思路&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;IBM 的故事在今天几乎原样重演：大模型基础设施层（芯片、云、基础模型）正在被英伟达、微软、Google 这些&amp;quot;新巨头&amp;quot;定义标准。创业思路：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;学 IBM 的服务转型，做&amp;quot;AI 时代的埃森哲&amp;rdquo;&lt;/strong&gt;：大量传统企业知道要用 AI 但不会落地，垂直行业的 AI 咨询 + 交付 + 托管运营是一个真实存在且现金流健康的生意，不性感但赚钱；&lt;/li&gt;
&lt;li&gt;警惕&amp;quot;IBM PC 陷阱&amp;quot;：如果你基于某个大模型平台的开放接口做产品，要想清楚——&lt;strong&gt;你是在利用平台，还是在给平台培养市场？&lt;/strong&gt; 当你的场景被验证后，平台自己会下场（看看 ChatGPT 的 GPTs 埋葬了多少套壳应用）。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;23-苹果产品公司的浪漫与代价&#34;&gt;2.3 苹果：产品公司的浪漫与代价&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;故事&lt;/strong&gt;：1976 年，沃兹尼亚克的技术天才 + 乔布斯的产品直觉，在车库里做出 Apple I/II，开创了个人电脑产业。1984 年 Macintosh 定义了图形界面，但乔布斯坚持封闭、软硬件一体，在 80-90 年代被&amp;quot;微软 + Intel + 兼容机&amp;quot;的开放联盟打得只剩个位数份额，乔布斯被赶出自己创立的公司。1997 年回归后，靠 iPod、iPhone、iPad 三次站上浪尖——这一次，封闭生态赢了，因为时代变了（软硬件一体化的体验优势在移动端成立）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;教训&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;同一个策略（封闭），在 PC 时代是死路，在移动时代是活路&lt;/strong&gt;——没有永远正确的战略，只有和时代匹配的战略；&lt;/li&gt;
&lt;li&gt;乔布斯的强项是&amp;quot;定义产品&amp;quot;而不是&amp;quot;发明技术&amp;quot;：图形界面来自施乐 PARC，触摸屏技术也不是苹果发明，但苹果把它们做成了普通人能用的东西。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;AI 时代的新思路&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;苹果故事对 AI 创业最大的启示是&lt;strong&gt;体验集成&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;大模型能力是&amp;quot;原子能力&amp;quot;，就像当年的图形界面技术——实验室里有，但普通人用不上。&lt;strong&gt;把模型能力包进一个普通人能用的完整产品里&lt;/strong&gt;，就是苹果式的创业思路。Cursor（AI 编程）、Perplexity（AI 搜索）、Midjourney（AI 绘画）都是这个路子：模型不全是自己的，但体验是自己的；&lt;/li&gt;
&lt;li&gt;另一个思路是&lt;strong&gt;软硬结合&lt;/strong&gt;：AI Pin、Rabbit R1 虽然失败了，但&amp;quot;AI 时代的 iPhone 时刻&amp;quot;还没真正到来，智能眼镜、AI 玩具、陪伴机器人这条路上还会有新的苹果式公司出现；&lt;/li&gt;
&lt;li&gt;但也要记住乔布斯 1985 年的教训：&lt;strong&gt;在产品体验还没打磨好之前，不要迷信情怀和先发&lt;/strong&gt;。Vision Pro 的昂贵教训也说明，AI 硬件创业要控制节奏。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;24-微软商业模式的创新比技术创新更致命&#34;&gt;2.4 微软：商业模式的创新比技术创新更致命&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;故事&lt;/strong&gt;：盖茨和艾伦 1975 年为 Altair 写 BASIC 解释器起家。微软真正的转折点不是技术，而是两笔生意：花 5 万美元买 DOS 转手授权给 IBM，以及坚持&lt;strong&gt;只授权、不转让版权&lt;/strong&gt;的商业模式——PC 兼容机越多，微软越赚钱。之后靠&amp;quot;免费捆绑&amp;quot;杀死网景，靠 Office 建立生态，靠 Windows 统治桌面二十年。但微软错过了互联网（IE 赢了浏览器却输了互联网），错过了搜索，错过了移动，直到纳德拉转型云计算（Azure）才重回巅峰。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;教训&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;商业模式本身就是护城河&lt;/strong&gt;：DOS 不是最好的技术，但授权模式让它无处不在；&lt;/li&gt;
&lt;li&gt;反垄断拆分差点毁了微软，但失去垄断地位反而逼着它开放和转型——垄断保护的是短期利润，杀死的是长期嗅觉；&lt;/li&gt;
&lt;li&gt;比尔·盖茨的精明在于：他从第一天就明白&lt;strong&gt;软件的价值在于复制成本为零&lt;/strong&gt;，这是信息产业的底层逻辑。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;AI 时代的新思路&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;微软今天用 Azure + 投资 OpenAI 的方式重演了当年&amp;quot;IBM PC&amp;quot;的操作：不自己发明最强的技术，而是&lt;strong&gt;绑定最强的技术&lt;/strong&gt;再卖给企业客户。创业者可以学这一招：&lt;strong&gt;不训模型，绑定模型生态做生意&lt;/strong&gt;——比如做模型和企业私有数据之间的中间层（RAG、Agent 编排、权限治理），这是大模型时代&amp;quot;操作系统级&amp;quot;的位置；&lt;/li&gt;
&lt;li&gt;反摩尔定律依然有效：AI 应用如果你 18 个月不迭代，模型能力追上来就把你的功能变成&amp;quot;模型自带&amp;quot;（套壳应用批量死亡就是这个原因）。&lt;strong&gt;创业的功能壁垒必须建在模型能力进化曲线够不到的地方&lt;/strong&gt;——行业 know-how、私有数据、监管资质、线下交付。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;25-intel摩尔定律既是礼物也是绞索&#34;&gt;2.5 Intel：摩尔定律既是礼物也是绞索&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;故事&lt;/strong&gt;：摩尔、诺伊斯、格鲁夫 1968 年创立 Intel。1980 年代日本存储器把 Intel 逼到绝境，格鲁夫果断砍掉起家的存储器业务，All in 微处理器，押注 IBM PC，从此&amp;quot;Intel Inside&amp;quot;统治了 PC 时代三十年。但 Intel 错过了移动（ARM 低功耗路线），又在制程上被台积电反超——&lt;strong&gt;它在 CPU 这个生态位上做到了极致，也因此被这个生态位锁死&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;教训&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;摩尔定律驱动下的行业，&lt;strong&gt;老二没有生存空间&lt;/strong&gt;（反摩尔定律），所以 AMD 几十年都活得艰难；&lt;/li&gt;
&lt;li&gt;格鲁夫&amp;quot;砍掉存储器&amp;quot;的决断是全书最经典的转型案例：最难的不是看到新方向，而是放弃正在赚钱的旧业务。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;AI 时代的新思路&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Intel 错过移动、英伟达押中 AI，说明&lt;strong&gt;每一波浪潮的&amp;quot;卖水人&amp;quot;位置都会换人&lt;/strong&gt;。这一波浪潮的芯片红利（英伟达）创业公司基本没机会，但&amp;quot;卖水&amp;quot;不只有芯片：数据标注、评估体系（Evals）、推理成本优化、模型部署工具链，都是 AI 时代的&amp;quot;卖水生意&amp;quot;；&lt;/li&gt;
&lt;li&gt;格鲁夫式思路的 AI 版：如果你现在做的产品/服务，18 个月后会被模型能力的进步直接覆盖（比如简单的文案生成、简单客服），那就该像 Intel 砍存储器一样&lt;strong&gt;现在就砍&lt;/strong&gt;，别等现金流断掉再转。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;26-思科斯坦福教授夫妇的路由器即卖水&#34;&gt;2.6 思科：斯坦福教授夫妇的&amp;quot;路由器即卖水&amp;quot;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;故事&lt;/strong&gt;：1984 年，斯坦福两个系的机房主任（莱昂纳德·波萨克和桑蒂·勒纳夫妇）想让校园网里不同协议的机器互相通信，发明了多协议路由器。思科的聪明之处不只是发明了路由器，而是赶上了互联网爆发——&lt;strong&gt;不管谁在网上淘金，都要买它的路由器&lt;/strong&gt;。思科也通过持续并购保持技术领先，2000 年市值一度全球第一（5000 亿美元+），随后互联网泡沫破裂跌落，但至今仍是网络设备霸主。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;教训&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;卖水生意是浪潮里最稳的位置&lt;/strong&gt;：淘金者九成九会死，卖水的活得最好；&lt;/li&gt;
&lt;li&gt;思科的并购机器说明：技术公司到一定规模后，创新可以&amp;quot;买&amp;quot;来，但整合能力是自己的。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;AI 时代的新思路&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AI 时代的&amp;quot;路由器&amp;quot;是什么？候选答案：&lt;strong&gt;推理基础设施（GPU 云、模型托管）、数据管道、Agent 之间的通信协议&lt;/strong&gt;（比如 MCP 这类协议如果成为事实标准，围绕它的工具链就是路由器生意）；&lt;/li&gt;
&lt;li&gt;思科式创业的现代版本：&lt;strong&gt;不赌哪个模型赢，服务所有用模型的人&lt;/strong&gt;。向量数据库（Pinecone、Milvus）、模型监控（LangSmith）、推理优化（vLLM）都是&amp;quot;AI 淘金潮里的卖水人&amp;quot;。这个思路的风险是——云厂商会把卖得最好的&amp;quot;水&amp;quot;自己做掉，所以卖水也要卖到深水区（复杂场景），不能在浅水区。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;27-网景起得最快死得也最快&#34;&gt;2.7 网景：起得最快，死得也最快&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;故事&lt;/strong&gt;：1994 年，伊利诺伊大学的学生马克·安德森写了 Mosaic 浏览器，和 SGI 创始人克拉克创立网景，把互联网从学术圈带给了普通人。网景 16 个月就上市，创造了互联网造富神话。但微软用&amp;quot;免费捆绑 IE&amp;quot;直接攻击其收入根基，网景 4 年就被迫卖给 AOL。它的遗产却极其深远：JavaScript、SSL、cookie，以及安德森后来创立 a16z 成为硅谷顶级风投。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;教训&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;单一产品、单一收入来源，在巨头面前没有防御纵深&lt;/strong&gt;；&lt;/li&gt;
&lt;li&gt;先发的优势如果没有转化为生态，就只是&amp;quot;帮巨头验证市场&amp;quot;；&lt;/li&gt;
&lt;li&gt;安德森本人的轨迹也很有意思：创业被巨头碾过后，转身成为投资人——把对浪潮的理解变成了另一种杠杆。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;AI 时代的新思路&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;网景的死法在 AI 时代每天都在重演：&lt;strong&gt;功能型应用被平台顺手做掉&lt;/strong&gt;。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;对照自查：如果你的产品是&amp;quot;一个 Prompt 包一层壳&amp;quot;，那你的命运就是网景 2.0——ChatGPT/Claude/豆包 下一次更新就会把你变成系统自带功能；&lt;/li&gt;
&lt;li&gt;网景式生存策略：&lt;strong&gt;做平台不方便做的事&lt;/strong&gt;。微软能免费捆绑浏览器，但做不了垂直行业的脏活累活。AI 创业要找&amp;quot;巨头捆绑不了&amp;quot;的东西——需要线下交付的、需要行业牌照的、需要和企业数据深度耦合的；&lt;/li&gt;
&lt;li&gt;另一个思路是学安德森的转身：&lt;strong&gt;如果做产品打不过，就做这波浪潮的投资人/生态位观察者&lt;/strong&gt;——程序员做技术自媒体、做 AI 早期投资、做开发者社区，本质都是把认知变现。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;28-雅虎开创了模式却被模式淘汰&#34;&gt;2.8 雅虎：开创了模式，却被模式淘汰&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;故事&lt;/strong&gt;：1994 年，斯坦福博士生杨致远和费罗把喜欢的网站整理成目录——&amp;ldquo;Jerry&amp;rsquo;s Guide to the World Wide Web&amp;rdquo;，后来变成 Yahoo!。雅虎定义了门户网站、开创了&amp;quot;免费 + 广告&amp;quot;的互联网商业模式，是所有中国第一代互联网公司的老师（新浪、搜狐、网易都在抄它）。但雅虎骨子里是&lt;strong&gt;媒体公司而不是技术公司&lt;/strong&gt;：它用人肉编辑整理目录，对搜索技术不上心，把搜索外包给 Inktomi、又外包给 Google——等于亲手喂养了掘墓人。错过收购 Google（两次）、错过收购 Facebook，最终在移动互联网时代彻底掉队，2017 年被 Verizon 收购。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;教训&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;雅虎开创了&amp;quot;免费 + 广告&amp;quot;，但它不懂&lt;strong&gt;广告的效果要靠技术优化&lt;/strong&gt;——Google 用算法把广告做成了精准匹配，雅虎还停留在卖展示位；&lt;/li&gt;
&lt;li&gt;把核心能力（搜索）外包，是科技公司最危险的决定之一；&lt;/li&gt;
&lt;li&gt;雅虎之鉴：&lt;strong&gt;路径依赖&lt;/strong&gt;——目录时代太成功，以至于无法理解搜索时代。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;AI 时代的新思路&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;雅虎的历史正在 AI 时代重放：很多&amp;quot;AI 应用公司&amp;quot;其实在做新时代的&amp;quot;人肉目录&amp;quot;——靠运营、靠内容编辑堆出来的 AI 产品，模型一升级，人肉部分的价值就清零。自查标准：&lt;strong&gt;你的产品价值里，有多少比例会被下一代模型免费赠送？&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;雅虎教训的正面用法：&lt;strong&gt;永远不要外包你的核心差异化能力&lt;/strong&gt;。AI 创业可以外包模型（反正模型在商品化），但不能外包：用户关系、数据闭环、行业 know-how；&lt;/li&gt;
&lt;li&gt;新机会：雅虎当年&amp;quot;帮用户找到信息&amp;quot;的需求，在 AI 时代变成了&amp;quot;帮用户做决策&amp;quot;。&lt;strong&gt;AI Agent 版黄页/目录 + 自动执行&lt;/strong&gt;（帮用户找服务、比价、下单、售后）是一个还没被做好的大方向——雅虎只做到了&amp;quot;找到&amp;quot;，AI 可以做到&amp;quot;办完&amp;quot;。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;29-google技术信仰者的胜利&#34;&gt;2.9 Google：技术信仰者的胜利&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;故事&lt;/strong&gt;：1996 年，斯坦福博士生佩奇和布林发明 PageRank——用网页间的链接关系给网页排名，搜索质量碾压当时的所有对手。Google 的伟大在于几件事同时做对：技术（PageRank + 分布式系统）、商业模式（AdWords 竞价排名，把广告做成了可度量的效果生意）、文化（工程师主导、&amp;ldquo;不作恶&amp;rdquo;）、以及不惜血本投入基础设施（自己造服务器、建数据中心）。之后 Android 赌中移动、收购 YouTube 赌中视频，但也在社交（Google+）、通讯等赛道上屡战屡败。如今 Google 面临创立以来最大的挑战：ChatGPT 直接攻击搜索的根基——&lt;strong&gt;用户要的不再是链接列表，而是答案&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;教训&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Google 是全书里最&amp;quot;技术至上&amp;quot;的公司，但它的胜利其实是&lt;strong&gt;技术 × 商业模式 × 基础设施&lt;/strong&gt;的复合胜利，缺一个都不成立；&lt;/li&gt;
&lt;li&gt;诺威格定律：搜索份额见顶后，Google 靠 Android、YouTube、云找到新增长曲线，这是它能活过 25 年的关键；&lt;/li&gt;
&lt;li&gt;但它今天的困境也证明：&lt;strong&gt;没有任何生态位是永久的，包括搜索本身&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;AI 时代的新思路&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Google 自己证明了&lt;strong&gt;基础设施投入是长期主义的壁垒&lt;/strong&gt;。AI 创业的对应版本：为 AI 时代重建基础设施——AI 原生的数据库、AI 原生的安全、AI 原生的办公套件。不要想着&amp;quot;在旧软件里加 AI 功能&amp;quot;，而要问&amp;quot;如果从零开始为 Agent 设计，这个东西应该长什么样&amp;quot;（比如，为 Agent 而不是为人类设计的 API、为 AI 编程协作设计的代码仓库）；&lt;/li&gt;
&lt;li&gt;&amp;ldquo;用户要答案不要链接&amp;quot;这个趋势里藏着新一代 Google 的机会：&lt;strong&gt;垂直领域的答案引擎&lt;/strong&gt;——法律、医疗、科研、金融，通用模型答不准、答不全的地方，就是垂直答案引擎的立足点（Perplexity 已验证通用版，垂直版还大有空间）;&lt;/li&gt;
&lt;li&gt;Google 的多元化（诺威格定律）对创业者的启示：单一 AI 产品的天花板来得会比想象中快，&lt;strong&gt;从第一天就想好第二个增长曲线&lt;/strong&gt;，哪怕只是方向性的。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;210-衰亡者群像摩托罗拉诺基亚sun-的共同死因&#34;&gt;2.10 衰亡者群像：摩托罗拉、诺基亚、Sun 的共同死因&lt;/h3&gt;
&lt;p&gt;书里同样重要的反面教材：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;摩托罗拉&lt;/strong&gt;：发明了手机，但铱星计划（技术浪漫主义的极致——66 颗卫星覆盖全球，却没人买单）拖垮了它，数字手机时代又反应迟钝；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;诺基亚&lt;/strong&gt;：功能机时代的霸主，不是没看到智能机，而是&lt;strong&gt;功能机太赚钱&lt;/strong&gt;，组织无法自我革命；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sun&lt;/strong&gt;：斯坦福四人创业（Workstation 工作站 + Solaris + Java），Java 改变世界却没赚到钱——&lt;strong&gt;技术影响力 ≠ 商业变现&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    subgraph 死因分析
        A1[&amp;#34;摩托罗拉&amp;lt;br/&amp;gt;技术浪漫主义&amp;lt;br/&amp;gt;铱星计划&amp;#34;] --&amp;gt; B[&amp;#34;共同死因&amp;#34;]
        A2[&amp;#34;诺基亚&amp;lt;br/&amp;gt;旧业务太赚钱&amp;lt;br/&amp;gt;无法自我革命&amp;#34;] --&amp;gt; B
        A3[&amp;#34;Sun&amp;lt;br/&amp;gt;有技术影响力&amp;lt;br/&amp;gt;没有变现闭环&amp;#34;] --&amp;gt; B
        B --&amp;gt; C[&amp;#34;把上一波浪潮的成功&amp;lt;br/&amp;gt;当成了永恒&amp;#34;]
    end&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;&lt;strong&gt;AI 时代的新思路&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;反用诺基亚之死：&lt;strong&gt;传统行业的&amp;quot;功能机巨头&amp;rdquo;（旧软件、旧服务）越赚钱，越不可能自我 AI 化&lt;/strong&gt;——这就是创业公司替他们服务/替代他们的窗口期。看看哪些行业还在用十年前的软件收钱，那里就有 AI 替代的机会；&lt;/li&gt;
&lt;li&gt;反用 Sun 之死：做 AI 开源项目获得影响力之后，&lt;strong&gt;必须在一开始就设计变现路径&lt;/strong&gt;（托管服务、企业版、生态分成），否则影响力就是给别人做嫁衣；&lt;/li&gt;
&lt;li&gt;反用铱星计划：&lt;strong&gt;AI 项目先做需求验证，再堆技术&lt;/strong&gt;。铱星的教训是&amp;quot;技术上可行&amp;quot;和&amp;quot;商业上值得&amp;quot;之间隔着一条银河。今天很多&amp;quot;用 AI 做 XX&amp;quot;的项目，本质都是小型铱星——工程师的浪漫，市场的灾难。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;211-仙童半导体八叛徒与硅谷的诞生&#34;&gt;2.11 仙童半导体：&amp;ldquo;八叛徒&amp;quot;与硅谷的诞生&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;注：《浪潮之巅》第四版（2019）新增了&amp;quot;新兴科技与初创企业&amp;quot;相关内容，补充了仙童、Facebook、特斯拉等案例。本节起为新版内容补记。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;故事&lt;/strong&gt;：晶体管发明人之一、诺奖得主肖克利 1955 年创办肖克利半导体实验室，招到八个天才年轻人，但他管理专断多疑。1957 年，八人集体出走（肖克利骂他们是&amp;quot;八叛徒&amp;rdquo;），在投行职员阿瑟·洛克（Arthur Rock）牵线下，由仙童摄影器材公司出资创立了仙童半导体。仙童做出两件改变历史的事：赫尔尼发明&lt;strong&gt;平面工艺&lt;/strong&gt;，诺伊斯在此基础上于 1959 年发明&lt;strong&gt;硅集成电路&lt;/strong&gt;。但东海岸母公司不断抽走利润、拒绝给员工股权，人才开始外流：1968 年诺伊斯和摩尔创立 Intel，1969 年桑德斯创立 AMD，斯波克执掌国家半导体，克莱纳后来创立硅谷最传奇的风投 KPCB。仙童被称为&amp;quot;半导体产业之母&amp;quot;——硅谷的&amp;quot;硅&amp;quot;、风险投资模式、股权文化，全从这一家公司开始。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;教训&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;肖克利手握最好的技术天团却留不住人——&lt;strong&gt;技术号召力代替不了管理与激励&lt;/strong&gt;；&lt;/li&gt;
&lt;li&gt;母公司把仙童当提款机、不给股权，等于亲手把核心技术连同人才一起送走——仙童最后活成了&amp;quot;半导体军校&amp;quot;，专门给对手培养创始人；&lt;/li&gt;
&lt;li&gt;仙童最大的遗产不是产品，而是三样&amp;quot;制度发明&amp;quot;：&lt;strong&gt;集成电路、风险投资交易结构（洛克的那笔投资是现代 VC 的模板）、员工股权激励文化&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;AI 时代的新思路&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;今天的 OpenAI 正在上演&amp;quot;仙童时刻&amp;quot;：核心团队出走创立 Anthropic、SSI、Thinking Machines 等公司——大模型行业的人才外溢路径和当年半导体业一模一样。对创业者的启示：&lt;strong&gt;巨头研究院动荡期，是创业公司捡顶级人才的最佳窗口&lt;/strong&gt;；&lt;/li&gt;
&lt;li&gt;反面自查：如果你的创业公司没有设计好股权和期权，你就是下一个仙童——&amp;ldquo;AI 产业之母&amp;rdquo;，专门给别人培养 CTO；&lt;/li&gt;
&lt;li&gt;仙童故事还催生了一个&amp;quot;创新工具&amp;quot;——风险投资本身。AI 时代的对应物是：&lt;strong&gt;算力换股权&lt;/strong&gt;（云厂商以 GPU 资源入股）、&lt;strong&gt;开源换生态位&lt;/strong&gt;（开源模型换取开发者标准地位）。融资工具的演化，本身就是创业机会的一部分。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;212-facebook把关系变成可计算的资产&#34;&gt;2.12 Facebook：把&amp;quot;关系&amp;quot;变成可计算的资产&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;故事&lt;/strong&gt;：2004 年，扎克伯格在哈佛宿舍上线 TheFacebook，从校园一路扩张到全民。几个关键决策：坚持&lt;strong&gt;实名制 + 真实关系链&lt;/strong&gt;（与 MySpace 的虚拟身份区隔开）；2006 年顶着全站骂声上线 &lt;strong&gt;News Feed&lt;/strong&gt;（事后证明是社交产品的标配）；2007 年开放第三方平台；2012 年上市前后完成惊险的移动转型；收购 Instagram（10 亿美元）和 WhatsApp（190 亿美元）都堪称神操作。Facebook 的本质，是把全人类的&amp;quot;关系网&amp;quot;——&lt;strong&gt;社交图谱（Social Graph）&lt;/strong&gt;——变成了一份私有、可计算、可卖广告的资产。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;教训与规律&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;梅特卡夫定律&lt;/strong&gt;（网络价值 ∝ 节点数的平方）在社交领域发挥到极致：70-20-10 律在社交网络里表现为接近 100% 的垄断——挑战者哪怕产品好 10%，也搬不走用户的关系链；&lt;/li&gt;
&lt;li&gt;但护城河也在变浅：TikTok 用**算法推荐（兴趣图谱）**绕开了社交图谱——不需要先有朋友关系，算法直接把内容喂给你。Facebook 被迫改名 Meta 押注元宇宙，至今没有赢回叙事权；&lt;/li&gt;
&lt;li&gt;Facebook 的另一重身份是&amp;quot;工具工厂&amp;quot;：React、PyTorch、GraphQL、Cassandra 都出自它的工程团队——&lt;strong&gt;把内部工具开源，是建立行业标准地位的廉价手段&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;AI 时代的新思路&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Facebook 的核心资产&amp;quot;社交图谱&amp;quot;正在被 AI 重构：Character.ai 这类 AI 陪伴产品证明了用户需要的未必是&amp;quot;真人关系链&amp;quot;，而是&amp;quot;被理解和被回应&amp;quot;。&lt;strong&gt;AI-native 的社交/陪伴产品&lt;/strong&gt;是新一波社交创业的入口；&lt;/li&gt;
&lt;li&gt;TikTok 用兴趣图谱打败社交图谱的历史会在 AI 时代重演：用 AI 直接理解内容和人，可以绕开冷启动最难的&amp;quot;关系网积累&amp;quot;——&lt;strong&gt;新社交产品不再需要先攒社交图谱&lt;/strong&gt;；&lt;/li&gt;
&lt;li&gt;工具开源策略依然有效：AI 公司把训练框架、Agent 框架开源，换的是标准制定权和人才向心力（看看 LangChain、vLLM 的位置就知道了）。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;213-特斯拉用软件和第一性原理重造汽车&#34;&gt;2.13 特斯拉：用软件和第一性原理重造汽车&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;故事&lt;/strong&gt;：特斯拉 2003 年创立，2004 年马斯克领投入局。Roadster（2008）证明电动车可以很性感，Model S（2012）证明可以规模量产，Model 3 的&amp;quot;产能地狱&amp;quot;差点要了命，上海超级工厂（2019）证明了制造效率的极限。特斯拉的关键创新不在任何单点技术，而是&lt;strong&gt;把整个汽车产业的逻辑改写&lt;/strong&gt;：用笔记本同款的 18650 电芯 + 电池管理系统（BMS）拼出电池包；用 OTA 软件升级让车&amp;quot;越开越新&amp;quot;；直营绕过经销商体系；超级工厂垂直整合，把供应链攥在自己手里。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;教训与规律&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;第一性原理&lt;/strong&gt;：马斯克算过账——电池组按原材料市场价计算远低于当时的市场售价，中间的差价是&amp;quot;历史惯性&amp;quot;而不是物理必然，所以自己造。这是全书中罕见的&amp;quot;用物理学思维做商业决策&amp;quot;的样本；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;软件定义硬件&lt;/strong&gt;：车变成了&amp;quot;轮子上的计算机&amp;quot;，安迪-比尔定律开始在汽车行业生效——硬件利润越来越薄，价值向软件和数据迁移；&lt;/li&gt;
&lt;li&gt;特斯拉是三浪叠加的受益者：锂电池技术进步 + 移动互联网（车作为终端）+ 自动驾驶 AI。&lt;strong&gt;单一浪潮成就产品，浪潮叠加才成就帝国&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;AI 时代的新思路&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;特斯拉模式 = 硬件公司的 AI 化模板：&lt;strong&gt;影子模式采集真实数据 → 云端训练 → OTA 下发 → 更好的模型&lt;/strong&gt;，这套&amp;quot;数据飞轮&amp;quot;是 AI 产品的通用范式，机器人、无人机、工业设备都可以复制；&lt;/li&gt;
&lt;li&gt;FSD V12 用端到端神经网络替代了三十多万行手写规则代码，证明**&amp;ldquo;数据和算力替代工程师规则&amp;rdquo;**的方法论成立——这个方法论正在外溢到通用机器人（人形机器人被普遍看作&amp;quot;下一个特斯拉&amp;quot;）；&lt;/li&gt;
&lt;li&gt;第一性原理自查同样适用于 AI 创业：你产品的成本结构里，有多少是&amp;quot;历史惯性&amp;quot;？推理成本两年降两个数量级之后，很多昨天&amp;quot;不划算&amp;quot;的 AI 应用今天已经成立——&lt;strong&gt;重新算账，就是重新找机会&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;三技术底牌十三个案例背后的核心算法数学与创新工具&#34;&gt;三、技术底牌：十三个案例背后的核心算法、数学与创新工具&lt;/h2&gt;
&lt;p&gt;复盘完故事，值得单独盘一盘这些公司的&amp;quot;技术底牌&amp;quot;——它们当年手里到底握着什么牌。看完之后会发现一个规律：&lt;strong&gt;真正改变浪潮的，往往不是一个产品，而是一两个可复制的算法、一条数学定律、或者一个开创性的工具。&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id=&#34;31-总览表&#34;&gt;3.1 总览表&lt;/h3&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;案例&lt;/th&gt;
					&lt;th&gt;核心算法 / 数学工具&lt;/th&gt;
					&lt;th&gt;创新工具 / 系统&lt;/th&gt;
					&lt;th&gt;后续影响&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;贝尔实验室&lt;/td&gt;
					&lt;td&gt;香农信息论、采样定理&lt;/td&gt;
					&lt;td&gt;晶体管、UNIX、C 语言、激光、蜂窝通信&lt;/td&gt;
					&lt;td&gt;几乎整个信息产业的数学与物理底座&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;IBM&lt;/td&gt;
					&lt;td&gt;关系模型（Codd，基于集合论/关系代数）&lt;/td&gt;
					&lt;td&gt;System/360 兼容机架构、FORTRAN、SQL 前身、RISC、硬盘&lt;/td&gt;
					&lt;td&gt;定义了&amp;quot;企业计算&amp;quot;和数据库产业&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;苹果（及施乐 PARC）&lt;/td&gt;
					&lt;td&gt;区域填充/位图图形算法（QuickDraw）&lt;/td&gt;
					&lt;td&gt;图形界面 GUI、鼠标、所见即所得、面向对象（Smalltalk，来自 PARC）&lt;/td&gt;
					&lt;td&gt;定义了人机交互范式&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;微软&lt;/td&gt;
					&lt;td&gt;浮点 BASIC 解释器（4KB 内存内实现）&lt;/td&gt;
					&lt;td&gt;MS-DOS、Windows、Office&lt;/td&gt;
					&lt;td&gt;证明&amp;quot;软件本身可以是商品&amp;quot;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Intel&lt;/td&gt;
					&lt;td&gt;摩尔定律（经验定律，指数增长）&lt;/td&gt;
					&lt;td&gt;4004 微处理器（单芯片 CPU）、x86 架构&lt;/td&gt;
					&lt;td&gt;硬件的&amp;quot;计时器&amp;quot;，整个产业的节拍器&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;思科&lt;/td&gt;
					&lt;td&gt;路由算法（距离矢量 RIP、链路状态 OSPF，底层是图论最短路径）&lt;/td&gt;
					&lt;td&gt;多协议路由器、IOS&lt;/td&gt;
					&lt;td&gt;让不同网络互联，互联网的地基&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;网景&lt;/td&gt;
					&lt;td&gt;RSA 公钥加密、混合加密（SSL）&lt;/td&gt;
					&lt;td&gt;浏览器、JavaScript、cookie、SSL&lt;/td&gt;
					&lt;td&gt;定义了 Web 应用形态&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;雅虎&lt;/td&gt;
					&lt;td&gt;（技术弱）目录分类法&lt;/td&gt;
					&lt;td&gt;门户、&amp;ldquo;免费 + 广告&amp;quot;模式&lt;/td&gt;
					&lt;td&gt;模式开创者，算法缺席者——这也是它的死因&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Google&lt;/td&gt;
					&lt;td&gt;PageRank（马尔可夫链平稳分布）、广告拍卖机制（GSP/VCG 博弈论）&lt;/td&gt;
					&lt;td&gt;MapReduce、GFS、BigTable、后来的 Transformer&lt;/td&gt;
					&lt;td&gt;把&amp;quot;大规模分布式计算&amp;quot;变成标准工程能力&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;摩托罗拉 / 诺基亚 / Sun&lt;/td&gt;
					&lt;td&gt;六西格玛（统计过程控制）、蜂窝频率复用&lt;/td&gt;
					&lt;td&gt;移动电话（DynaTAC）、GSM、Java/JVM、SPARC RISC&lt;/td&gt;
					&lt;td&gt;Java 改变世界但没赚到钱&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;仙童半导体&lt;/td&gt;
					&lt;td&gt;平面工艺（光刻）、摩尔定律（1965 年论文的源头）&lt;/td&gt;
					&lt;td&gt;硅集成电路、风险投资交易结构、员工股权激励&lt;/td&gt;
					&lt;td&gt;硅谷的起点：集成电路 + VC + 股权文化&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Facebook&lt;/td&gt;
					&lt;td&gt;梅特卡夫定律（网络价值 ∝ n²）、EdgeRank（信息流排序）、链接预测（好友推荐）&lt;/td&gt;
					&lt;td&gt;News Feed、Open Graph、React / PyTorch / GraphQL / Cassandra&lt;/td&gt;
					&lt;td&gt;把&amp;quot;关系&amp;quot;变成可计算、可卖广告的图资产&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;特斯拉&lt;/td&gt;
					&lt;td&gt;BMS 电池管理算法、端到端神经网络（FSD）、数据飞轮&lt;/td&gt;
					&lt;td&gt;OTA 升级、超级工厂、一体压铸、Dojo 超算&lt;/td&gt;
					&lt;td&gt;&amp;ldquo;软件定义硬件&amp;quot;的产业模板&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;32-几个值得单独讲的硬核底牌&#34;&gt;3.2 几个值得单独讲的&amp;quot;硬核底牌&amp;rdquo;&lt;/h3&gt;
&lt;h4 id=&#34;香农信息论贝尔实验室1948整个信息时代的牛顿定律&#34;&gt;香农信息论（贝尔实验室，1948）：整个信息时代的&amp;quot;牛顿定律&amp;rdquo;&lt;/h4&gt;
&lt;p&gt;香农在贝尔实验室发表的《通信的数学理论》，回答了两个问题：信息怎么度量？信道最多能传多少？&lt;/p&gt;
&lt;p&gt;信息熵：&lt;/p&gt;
&lt;p&gt;$$H(X) = -\sum_{i} p_i \log_2 p_i$$&lt;/p&gt;
&lt;p&gt;信道容量（香农-哈特利定理）：&lt;/p&gt;
&lt;p&gt;$$C = B \log_2 \left(1 + \frac{S}{N}\right)$$&lt;/p&gt;
&lt;p&gt;直觉：$B$ 是带宽，$S/N$ 是信噪比。&lt;strong&gt;这个公式给所有通信系统划了一条理论上界&lt;/strong&gt;——无论你的调制方案多聪明，都不可能超过 $C$。此后 70 年的调制解调器、3G/4G/5G、Wi-Fi，本质都是在逼近这条线。吴军在《数学之美》里反复强调的观点也源于此：&lt;strong&gt;好的数学模型能把&amp;quot;需要智能&amp;quot;的问题变成&amp;quot;可以计算&amp;quot;的问题&lt;/strong&gt;。&lt;/p&gt;
&lt;h4 id=&#34;关系模型ibm1970一篇论文开创一个产业&#34;&gt;关系模型（IBM，1970）：一篇论文开创一个产业&lt;/h4&gt;
&lt;p&gt;IBM 研究员 Codd 1970 年发表论文，把数据库建立在&lt;strong&gt;集合论和一阶谓词逻辑&lt;/strong&gt;上：数据是关系（元组的集合），查询是关系代数运算（选择、投影、连接）。Oracle 的创始人 Ellison 正是读了这篇论文后抢先做出商用产品——这是&amp;quot;IBM 发明、别人收割&amp;quot;的又一例（和 PC 养大微软/Intel 如出一辙）。今天的 MySQL、PostgreSQL，乃至 NoSQL 之后又回归 SQL，都证明这个数学模型选对了一次，管了 50 年。&lt;/p&gt;
&lt;h4 id=&#34;摩尔定律intel1965一条经验曲线统治一个行业&#34;&gt;摩尔定律（Intel，1965）：一条经验曲线统治一个行业&lt;/h4&gt;
&lt;p&gt;严格说它不是物理定律，而是&lt;strong&gt;观察 + 自我实现的预言&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;$$\text{晶体管数量}(t) \propto 2^{t / 18\text{个月}}$$&lt;/p&gt;
&lt;p&gt;它的真正威力在于给了整个产业一个&lt;strong&gt;可预期的节拍器&lt;/strong&gt;：软件公司敢按&amp;quot;两年后性能翻倍&amp;quot;来设计产品，风险投资人敢按这个节奏下注。反摩尔定律只是它的镜像。今天 AI 领域有类似的曲线——模型能力随算力/数据规模增长（Scaling Laws），推理成本每年数量级下降。&lt;strong&gt;创业者读摩尔定律的正确姿势，是把它当成&amp;quot;为两年后的成本结构做设计&amp;quot;的许可证&lt;/strong&gt;。&lt;/p&gt;
&lt;h4 id=&#34;路由算法思科图论改变世界&#34;&gt;路由算法（思科）：图论改变世界&lt;/h4&gt;
&lt;p&gt;互联网的核心问题之一是：数据包从 A 到 B 走哪条路？这正是图论里的最短路径问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;OSPF（链路状态协议）&lt;/strong&gt;：每个路由器掌握全网拓扑，然后跑 &lt;strong&gt;Dijkstra 算法&lt;/strong&gt;算最短路径；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;RIP / BGP（距离矢量/路径矢量）&lt;/strong&gt;：每个路由器只知道邻居告诉它的距离，类似分布式 Bellman-Ford。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;思科的商业天才不在于发明这些算法（它们来自学术界），而在于&lt;strong&gt;把这些算法固化进一台可靠、好卖的盒子里&lt;/strong&gt;。这又是一个&amp;quot;算法公开、工程变现&amp;quot;的案例——和今天&amp;quot;Transformer 论文公开、应用公司变现&amp;quot;的结构一模一样。&lt;/p&gt;
&lt;h4 id=&#34;ssl-与公钥加密网景1994数论给电商开门&#34;&gt;SSL 与公钥加密（网景，1994）：数论给电商开门&lt;/h4&gt;
&lt;p&gt;网景为了让浏览器能安全地传信用卡号，发明了 SSL。底层是 RSA：&lt;/p&gt;
&lt;p&gt;$$c = m^e \bmod n, \qquad m = c^d \bmod n$$&lt;/p&gt;
&lt;p&gt;安全性依赖于&amp;quot;大整数分解困难&amp;quot;——知道 $n = p \times q$ 容易，从 $n$ 反推 $p, q$ 极难。SSL 用 RSA 交换对称密钥（混合加密），再用对称加密传数据。&lt;strong&gt;没有这套数论工具，就没有电商和网上银行&lt;/strong&gt;——网景虽然死了，它留下的 SSL/TLS 至今保护着每一笔网上交易。&lt;/p&gt;
&lt;h4 id=&#34;pagerankgoogle1996把互联网看成一个马尔可夫链&#34;&gt;PageRank（Google，1996）：把互联网看成一个马尔可夫链&lt;/h4&gt;
&lt;p&gt;PageRank 的模型极其优雅：把网页看作节点、超链接看作边，假设一个&amp;quot;随机冲浪者&amp;quot;每次以概率 $d$ 沿链接跳转、以概率 $1-d$ 随机跳到任意页面。各网页的重要性就是这条马尔可夫链的&lt;strong&gt;平稳分布&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;$$PR(u) = \frac{1-d}{N} + d \sum_{v \to u} \frac{PR(v)}{L(v)}$$&lt;/p&gt;
&lt;p&gt;数学上等价于求转移矩阵的主特征向量，工程上用&lt;strong&gt;幂迭代&lt;/strong&gt;反复乘到收敛。这个公式的天才之处：&lt;strong&gt;它把&amp;quot;网页质量&amp;quot;这个主观判断，转化成了图上的线性代数问题&lt;/strong&gt;——这正是《数学之美》的核心思想在搜索上的复现（吴军本人就在 Google 做过搜索质量）。&lt;/p&gt;
&lt;p&gt;Google 的第二张数学底牌是广告拍卖：AdWords 用&lt;strong&gt;广义二价拍卖（GSP）&lt;/strong&gt;——出价最高者赢，但只付第二名的价格加一分。这来自博弈论里的 Vickrey/VCG 机制设计，让广告主有动力报真实估价。雅虎卖展示位是按&amp;quot;感觉&amp;quot;收钱，Google 按点击和转化收钱——&lt;strong&gt;算法把广告从品牌生意变成了可优化的数学问题&lt;/strong&gt;，这就是两家公司命运分野的技术根源。&lt;/p&gt;
&lt;h4 id=&#34;transformergoogle2017埋下今天浪潮的种子&#34;&gt;Transformer（Google，2017）：埋下今天浪潮的种子&lt;/h4&gt;
&lt;p&gt;《浪潮之巅》成书早于这一波，但 Google 2017 年的论文 &lt;em&gt;Attention Is All You Need&lt;/em&gt; 提出了 Transformer：用&lt;strong&gt;自注意力机制&lt;/strong&gt;替代循环结构，本质上是对序列中任意两个位置直接计算相关性权重，矩阵化之后可以大规模并行——这恰好完美匹配 GPU。历史开了个大玩笑：&lt;strong&gt;Google 发明了引爆大模型时代的算法，却被 OpenAI 抢先做成了产品&lt;/strong&gt;——这几乎就是&amp;quot;IBM 发明关系模型、Oracle 收割&amp;quot;的 AI 翻版，再次验证了书里那句话：发明技术和站上浪潮之巅，是两回事。&lt;/p&gt;
&lt;h4 id=&#34;六西格玛摩托罗拉1986统计学的工业应用&#34;&gt;六西格玛（摩托罗拉，1986）：统计学的工业应用&lt;/h4&gt;
&lt;p&gt;摩托罗拉发明的六西格玛质量管理，目标是每百万次机会缺陷数（DPMO）不超过 3.4。它基于正态分布：$\pm 6\sigma$ 覆盖了 99.99966% 的情形。数学上很朴素（均值、方差、控制图），但它证明了&lt;strong&gt;统计学本身就是一种可以卖到全世界的管理产品&lt;/strong&gt;。讽刺的是，发明六西格玛的公司死于战略失误——质量控制救不了方向错误，&lt;strong&gt;再好的 $\sigma$ 也算不过趋势&lt;/strong&gt;。&lt;/p&gt;
&lt;h4 id=&#34;平面工艺与光刻仙童1959把制造变成印刷&#34;&gt;平面工艺与光刻（仙童，1959）：把&amp;quot;制造&amp;quot;变成&amp;quot;印刷&amp;quot;&lt;/h4&gt;
&lt;p&gt;仙童之前，晶体管是一根根手工连线的分立元件，规模上不去、可靠性差。赫尔尼的&lt;strong&gt;平面工艺&lt;/strong&gt;用二氧化硅层做保护，配合&lt;strong&gt;光刻&lt;/strong&gt;技术——像洗照片一样把电路图案&amp;quot;印&amp;quot;在硅片上；诺伊斯随即想到：既然能印，就可以把多个元件和连线一次印在同一块硅上——&lt;strong&gt;集成电路&lt;/strong&gt;就此诞生。&lt;/p&gt;
&lt;p&gt;这一步的意义在于：芯片制造从&amp;quot;手艺&amp;quot;变成了&amp;quot;可复制的印刷工艺&amp;quot;，&lt;strong&gt;良率可控制、规模可复制、成本可下降&lt;/strong&gt;——摩尔定律之所以能以指数曲线走五十年，物理基础就是平面工艺这条产线。仙童留下的另一个&amp;quot;工具&amp;quot;是无形的：阿瑟·洛克设计的那笔投资（分期注资 + 管理层期权），成了现代风险投资交易结构的模板；员工持股也从这里开始成为硅谷的标配。&lt;strong&gt;制度设计和工艺一样，是可以被后来所有公司复用的发明。&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id=&#34;梅特卡夫定律与-edgerankfacebook图论--排序算法&#34;&gt;梅特卡夫定律与 EdgeRank（Facebook）：图论 × 排序算法&lt;/h4&gt;
&lt;p&gt;Facebook 的护城河可以用一条经验定律刻画——&lt;strong&gt;梅特卡夫定律&lt;/strong&gt;：网络的价值正比于节点间可能的连接数，即&lt;/p&gt;
&lt;p&gt;$$V \propto \frac{n(n-1)}{2} \approx n^2$$&lt;/p&gt;
&lt;p&gt;用户越多，关系链越密，迁走一个用户等于要他放弃整张关系网——这就是社交产品天然垄断的数学解释。&lt;/p&gt;
&lt;p&gt;信息流排序早期用的是 &lt;strong&gt;EdgeRank&lt;/strong&gt;，每条内容对某个用户的得分由三个因子相乘：&lt;/p&gt;
&lt;p&gt;$$\text{Score} = \sum_{\text{edges } e} u_e \cdot w_e \cdot d_e$$&lt;/p&gt;
&lt;p&gt;$u_e$ 是亲密度（你和发布者的互动强度），$w_e$ 是边权重（评论 &amp;gt; 点赞 &amp;gt; 浏览），$d_e$ 是时间衰减。这个公式后来被机器学习排序（GBDT，再到深度学习）取代，但&amp;quot;&lt;strong&gt;用户关系 × 内容类型 × 时效&lt;/strong&gt;&amp;ldquo;的三因子结构至今仍是推荐系统的基本骨架。好友推荐则是图上的&lt;strong&gt;链接预测&lt;/strong&gt;（共同好友越多，越可能认识——三角闭合原理）；后期还加上 DeepFace 人脸识别。可以说 Facebook 是把&amp;quot;人类社会关系&amp;quot;图论化、算法化最彻底的公司。&lt;/p&gt;
&lt;h4 id=&#34;数据飞轮与端到端网络特斯拉自动驾驶的方法论革命&#34;&gt;数据飞轮与端到端网络（特斯拉）：自动驾驶的方法论革命&lt;/h4&gt;
&lt;p&gt;特斯拉在算法上的底牌不是某个单点模型，而是一套&lt;strong&gt;数据飞轮&lt;/strong&gt;机制：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    A[&amp;#34;车队影子模式&amp;lt;br/&amp;gt;人类开车时默默采集数据&amp;#34;] --&amp;gt; B[&amp;#34;云端筛选&amp;lt;br/&amp;gt;高价值片段&amp;#34;]
    B --&amp;gt; C[&amp;#34;训练神经网络&amp;lt;br/&amp;gt;Dojo 超算&amp;#34;]
    C --&amp;gt; D[&amp;#34;OTA 下发&amp;lt;br/&amp;gt;车队升级&amp;#34;]
    D --&amp;gt; E[&amp;#34;模型变好&amp;lt;br/&amp;gt;采集到更好的数据&amp;#34;]
    E --&amp;gt; A&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;FSD V12 更进一步：用&lt;strong&gt;端到端神经网络&lt;/strong&gt;（传感器视频进、驾驶指令出）替代了三十多万行手写的感知-规划规则代码，同时配合 &lt;strong&gt;HydraNet&lt;/strong&gt;（多头共享主干的多任务网络）和 Occupancy Network（占用网络，把三维空间体素化）。这和摩尔定律/香农公式是同一类启示：&lt;strong&gt;当一个领域可以从&amp;quot;手写规则&amp;quot;切换到&amp;quot;数据驱动&amp;quot;时，该领域的旧玩家积累会瞬间贬值&lt;/strong&gt;——这正是 AI 大模型正在各行各业做的事。&lt;/p&gt;
&lt;h3 id=&#34;33-一个值得记住的横向规律&#34;&gt;3.3 一个值得记住的横向规律&lt;/h3&gt;
&lt;p&gt;把这些底牌摆在一起，能看到一个清晰的模式：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    A[&amp;#34;数学/算法突破&amp;lt;br/&amp;gt;信息论 · 关系模型 · PageRank&amp;lt;br/&amp;gt;RSA · Dijkstra · Transformer&amp;#34;] --&amp;gt; B[&amp;#34;工具化&amp;lt;br/&amp;gt;UNIX · SQL · 浏览器 · 路由器&amp;#34;]
    B --&amp;gt; C[&amp;#34;商业模式接住&amp;lt;br/&amp;gt;授权 · 广告拍卖 · 卖水&amp;#34;]
    C --&amp;gt; D[&amp;#34;浪潮之巅&amp;#34;]
    A -.-&amp;gt;|&amp;#34;缺了这一步&amp;#34;| E[&amp;#34;贝尔实验室式悲剧&amp;lt;br/&amp;gt;发明无数，收割寥寥&amp;#34;]
    B -.-&amp;gt;|&amp;#34;缺了这一步&amp;#34;| F[&amp;#34;Sun 式悲剧&amp;lt;br/&amp;gt;Java 改变世界&amp;lt;br/&amp;gt;却没赚到钱&amp;#34;]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;算法本身几乎从不直接赚钱&lt;/strong&gt;——信息论、PageRank、Transformer 都是公开发表的；&lt;/li&gt;
&lt;li&gt;赚钱的是&lt;strong&gt;把算法工具化、再用商业模式接住&lt;/strong&gt;的那一步；&lt;/li&gt;
&lt;li&gt;所以对程序员创业的真正启示是：盯紧公开的算法突破（它们是免费的），竞争发生在工具化和场景化这两层——这正是今天 AI 应用创业的主战场。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;四浪潮的幕后推手风投投行斯坦福印钞机与金融风暴&#34;&gt;四、浪潮的幕后推手：风投、投行、斯坦福、印钞机与金融风暴&lt;/h2&gt;
&lt;p&gt;前面十三章讲的是浪尖上的公司。《浪潮之巅》后半部分把镜头拉远，讲了造就浪潮的生态系统：钱从哪来（风险投资）、怎么退出变现（投资银行）、人才和点子从哪来（斯坦福大学）、什么样的生意最赚钱（印钞机商业模式）、以及整个系统什么时候会崩（金融风暴）。这部分对想创业的程序员其实比公司故事更实用——因为&lt;strong&gt;公司故事你只能旁观，生态规则你却天天在用&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id=&#34;41-风险投资浪潮的放大器&#34;&gt;4.1 风险投资：浪潮的放大器&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;内容&lt;/strong&gt;：现代风险投资正是从仙童那笔投资（阿瑟·洛克牵线）开始的，此后红杉资本（投了苹果、思科、雅虎、Google）、KPCB 成为硅谷的造王者。VC 的运作结构是：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    A[&amp;#34;LP 有限合伙人&amp;lt;br/&amp;gt;大学基金/养老金/富豪&amp;lt;br/&amp;gt;出钱不干活&amp;#34;] --&amp;gt;|&amp;#34;注资&amp;#34;| F[&amp;#34;风险投资基金&amp;lt;br/&amp;gt;10 年周期&amp;#34;]
    G[&amp;#34;GP 普通合伙人&amp;lt;br/&amp;gt;基金管理团队&amp;#34;] --&amp;gt;|&amp;#34;管理&amp;#34;| F
    F --&amp;gt;|&amp;#34;分阶段下注&amp;lt;br/&amp;gt;天使→A→B→C&amp;#34;| S1[&amp;#34;创业公司 A&amp;#34;]
    F --&amp;gt; S2[&amp;#34;创业公司 B&amp;#34;]
    F --&amp;gt; S3[&amp;#34;创业公司 C...N&amp;#34;]
    S1 -.-&amp;gt;|&amp;#34;IPO / 并购退出&amp;#34;| R[&amp;#34;收益分配&amp;lt;br/&amp;gt;LP 拿 80%&amp;lt;br/&amp;gt;GP 拿 20% 分成 + 2% 管理费&amp;#34;]
    S2 -.-&amp;gt;|&amp;#34;大概率失败归零&amp;#34;| X[&amp;#34;幂律分布：&amp;lt;br/&amp;gt;1-2 家赚回整个基金&amp;#34;]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;&lt;strong&gt;规律&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VC 不是发明家，是&lt;strong&gt;放大器&lt;/strong&gt;——它只押注浪潮方向，然后在方向上批量下注；&lt;/li&gt;
&lt;li&gt;收益服从&lt;strong&gt;幂律分布&lt;/strong&gt;：一个基金投二三十家，绝大部分平庸或死掉，靠一两家百倍回报回本。这决定了 VC 只投&amp;quot;天花板足够高&amp;quot;的生意——你的生意如果做大了也只有几亿市值，VC 不会感兴趣，这不丢人，只是不匹配；&lt;/li&gt;
&lt;li&gt;拿 VC 的钱 = 签下对赌：烧钱换增长，赌的是 exit（上市或被收购）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;AI 时代的新思路&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AI 时代的 VC 出现了新变体：&lt;strong&gt;算力换股权&lt;/strong&gt;——微软投 OpenAI 的对价大部分是 Azure 算力额度，投资款又以云服务消费的形式回流。创业者拿谁的钱，就绑定了谁的生态，这个决策比估值高低更重要；&lt;/li&gt;
&lt;li&gt;AI 杠杆让单家公司需要的资本大幅下降（三个人 + 大模型能干过去三十个人的活），&lt;strong&gt;天使轮/A 轮的逻辑正在被重写&lt;/strong&gt;：不缺钱的项目可以更晚融资、要更好的条款；&lt;/li&gt;
&lt;li&gt;对个人的启示：理解幂律也适用于职业选择——你加入哪家创业公司，本质就是把自己的时间当成 LP 出资，&lt;strong&gt;要选那个&amp;quot;成了能改变量级&amp;quot;的池子&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;42-投资银行科技公司变现与退出的管道&#34;&gt;4.2 投资银行：科技公司变现与退出的管道&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;内容&lt;/strong&gt;：投行是科技公司和公开市场之间的管道：承销 IPO（定价、路演、分销股票）、撮合并购。书里对投行的评价是&amp;quot;成也萧何，败也萧何&amp;rdquo;——没有投行，科技公司无法变现、创始人和员工的股票无法变成真金白银；但投行为了佣金也有动力吹大泡沫（2000 年互联网泡沫里，投行把一堆亏损公司包装上市）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;创新工具与数学&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;估值工具&lt;/strong&gt;：DCF（现金流折现）、可比公司倍数——给&amp;quot;未来&amp;quot;定价的一套话术体系；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Google 的荷兰式拍卖 IPO&lt;/strong&gt;（2004）：Google 不信任投行定价，改用拍卖机制让市场竞价决定发行价——这本身是博弈论机制设计的应用，绕开了投行压价分给机构客户的潜规则。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;AI 时代的新思路&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AI 公司给投行出了新难题：&lt;strong&gt;模型能力和数据资产怎么估值？&lt;/strong&gt; 传统的 DCF 和可比倍数面对&amp;quot;三个人的团队年入一亿美元&amp;quot;（如 Midjourney 这类案例）已经失灵——估值锚在漂移，既是混乱也是机会；&lt;/li&gt;
&lt;li&gt;创业公司要提前想好退出路径：是上市（需要规模和合规），还是被收购（需要战略价值）。AI 时代&amp;quot;被巨头收购&amp;quot;的路径更短——很多团队冲着 acquihire（人才收购）去创业，这本身也是一种理性策略。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;43-斯坦福大学硅谷的人才与创新发动机&#34;&gt;4.3 斯坦福大学：硅谷的人才与创新发动机&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;内容&lt;/strong&gt;：硅谷之所以在硅谷，而不是在波士顿 128 号公路（当年东海岸科技更发达），很大程度上因为斯坦福。特曼教授（Frederick Terman）鼓励师生创业，促成了惠普的车库传奇；斯坦福工业园把土地租给科技公司，让企业和学校物理上长在一起；**技术许可办公室（OTL）**让教授的发明可以系统性地授权给公司。雅虎、Google、思科、Sun——书里一半的主角都是斯坦福师生创办的。背后还有一个制度工具：美国 1980 年的 &lt;strong&gt;拜杜法案（Bayh-Dole Act）&lt;/strong&gt;，允许大学持有联邦资助研究的专利并对外授权，一举打通了&amp;quot;国家出钱研究 → 大学持有专利 → 企业付费转化&amp;quot;的链条。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;规律&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;大学对产业的贡献不是发论文，而是&lt;strong&gt;制度设计&lt;/strong&gt;：让人才能自由流动（教授可以停薪留职创业）、让成果能合法变现（OTL + 拜杜法案）；&lt;/li&gt;
&lt;li&gt;对比之下，东海岸高校把发明锁在专利柜里，128 号公路最终被硅谷超越。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;AI 时代的新思路&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;这波 AI 浪潮里，大学的位置明显弱化——算力和数据都在工业界，顶尖人才从大学流向 OpenAI 和各大厂实验室。&lt;strong&gt;创新的源头正在从&amp;quot;大学 + 公司&amp;quot;双引擎变成公司单引擎&lt;/strong&gt;；&lt;/li&gt;
&lt;li&gt;对程序员个人的启示：如果你没有斯坦福，就自己建一个&amp;quot;微生态&amp;quot;——开源社区、技术社群、行业人脉就是个人的 OTL。&lt;strong&gt;在 AI 时代，个人的技术影响力（GitHub、博客、开源项目）是可以直接变现为机会的资产&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;44-印钞机什么样的商业模式最赚钱&#34;&gt;4.4 印钞机：什么样的商业模式最赚钱&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;内容&lt;/strong&gt;：书里专门有一章讨论&amp;quot;印钞机&amp;quot;式的商业模式——&lt;strong&gt;一旦建成，不需要太多人工干预就能持续自动赚钱的系统&lt;/strong&gt;：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;印钞机类型&lt;/th&gt;
					&lt;th&gt;代表&lt;/th&gt;
					&lt;th&gt;为什么能自动印钱&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;广告自动匹配&lt;/td&gt;
					&lt;td&gt;Google AdWords&lt;/td&gt;
					&lt;td&gt;广告主自助竞价投放，无需销售员，边际成本趋零&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;平台抽佣&lt;/td&gt;
					&lt;td&gt;eBay、亚马逊&lt;/td&gt;
					&lt;td&gt;交易由买家卖家自己完成，平台只收过路费&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;直销+按单生产&lt;/td&gt;
					&lt;td&gt;戴尔&lt;/td&gt;
					&lt;td&gt;先收钱再生产，负营运资金，别人替它垫资&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;软件授权&lt;/td&gt;
					&lt;td&gt;微软&lt;/td&gt;
					&lt;td&gt;复制成本为零，多卖一份就是纯利润&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;虚拟商品&lt;/td&gt;
					&lt;td&gt;腾讯&lt;/td&gt;
					&lt;td&gt;虚拟道具边际成本为零，毛利率极高&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;判断标准&lt;/strong&gt;（自查清单）：能不能自动化运转？边际成本是否趋近于零？能不能无限规模化？有没有自增强的网络效应？——四条全中的才是印钞机，缺一条就是苦生意。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AI 时代的新思路&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AI 让&amp;quot;印钞机&amp;quot;民主化了：&lt;strong&gt;一个人 + 一组 Agent，可以运营过去需要一个团队才能跑的自动业务&lt;/strong&gt;（内容站群、自动客服、自动交易撮合），&amp;ldquo;一人公司&amp;quot;第一次成为现实选项；&lt;/li&gt;
&lt;li&gt;但有个关键不同：软件复制的边际成本是零，&lt;strong&gt;大模型推理的边际成本不是零&lt;/strong&gt;（每一次调用都烧 GPU）。所以 AI 时代的印钞机要重新设计定价——从包月订阅走向按量付费、甚至&lt;strong&gt;按结果付费&lt;/strong&gt;（outcome-based pricing：AI 客服按&amp;quot;成功解决的工单数&amp;quot;收费）。谁能设计出&amp;quot;推理成本可控 + 按价值收费&amp;quot;的结构，谁就造出了新一代印钞机；&lt;/li&gt;
&lt;li&gt;警惕伪印钞机：如果你的&amp;quot;自动化&amp;quot;背后要靠大量人工审核兜底（内容安全、幻觉纠错），那你不是印钞机，是外包公司。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;45-金融风暴潮水退去时谁在裸泳&#34;&gt;4.5 金融风暴：潮水退去时谁在裸泳&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;内容&lt;/strong&gt;：书里复盘了 2008 年金融危机的链条：房贷打包证券化（MBS/CDO）→ 层层加杠杆（投行杠杆高达 30 倍以上）→ 评级机构失灵 → 雷曼兄弟倒闭。对科技业的影响则是：泡沫破裂反而加速了洗牌——手握现金的微软、Google 安然过冬，靠融资续命的公司批量死亡。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;背后的数学工具（反面教材）&lt;/strong&gt;：危机的技术根源之一是&lt;strong&gt;高斯 copula 模型&lt;/strong&gt;（李祥林模型）被华尔街滥用——它假设各笔贷款的违约相关性服从正态分布，严重低估了&amp;quot;一起违约&amp;quot;的尾部风险。模型本身没有错，错的是&lt;strong&gt;把模型假设当成了现实&lt;/strong&gt;。这个教训对所有做模型的人（包括今天的 AI 从业者）都成立：&lt;strong&gt;模型的输出只在假设成立的范围内有效&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AI 时代的新思路&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;危机是最好的创业窗口&lt;/strong&gt;：Airbnb（2008）、Uber（2009）、WhatsApp（2009）都诞生在金融危机期间——资本贵、人才便宜、竞争少。如果 AI 投资热退潮，恰恰是真创业者的好时候；&lt;/li&gt;
&lt;li&gt;现金流纪律：书里的幸存者是现金储备厚的公司。AI 创业同理——&lt;strong&gt;推理成本是持续出血点，毛利为负的增长是自杀&lt;/strong&gt;，runway 永远比增长率重要；&lt;/li&gt;
&lt;li&gt;当下 AI 数据中心军备竞赛与 2000 年光纤泡沫的对照值得每个从业者想一遍：2000 年铺的光纤没有白铺（后来都成了互联网的地基），但&lt;strong&gt;铺光纤的公司死了一大批&lt;/strong&gt;——技术判断对了 ≠ 投资判断对了。参与浪潮的方式有很多种，押错位置照样出局。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;五把规律汇总一张图看-40-年的浪潮更替&#34;&gt;五、把规律汇总：一张图看 40 年的浪潮更替&lt;/h2&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;timeline
    title 信息技术浪潮更替（《浪潮之巅》视角 + AI 时代延伸）
    1957 : 硅谷起点 : 八叛徒创立仙童 : 集成电路 + 风险投资诞生
    1960-1980 : 大型机时代 : IBM 独大 : 贝尔实验室发明晶体管/UNIX
    1980-1990 : 个人电脑时代 : 苹果开创 : 微软+Intel 收割（Wintel）
    1995-2000 : 互联网时代 : 网景点火 : 思科卖水 : 雅虎定义门户
    2000-2010 : 搜索与Web 2.0 : Google 登顶 : 泡沫破裂洗礼
    2004-2014 : 社交网络 : Facebook 垄断社交图谱 : 特斯拉开启电动化
    2007-2018 : 移动互联网 : iPhone 重新定义一切 : 诺基亚/摩托罗拉出局
    2016-至今 : 云计算与AI : 微软Azure翻身 : 英伟达成为新Intel
    2022-未来 : 大模型时代 : OpenAI点火 : 格局未定 : 新生态位待抢&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;从这张图能看到几个事实：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;每一波浪潮的主角，上一波都不存在或不成气候&lt;/strong&gt;——PC 时代的微软、互联网时代的 Google、移动时代的苹果（重生）、AI 时代的 OpenAI，都是新公司或&amp;quot;重生公司&amp;rdquo;；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;浪潮间隔在缩短&lt;/strong&gt;：大型机 20 年，PC 15 年，互联网 10 年，移动 10 年，大模型这一波可能 5-8 年就完成格局固化；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;每一波都有&amp;quot;卖水人&amp;quot;&lt;/strong&gt;：Intel（PC）、思科（互联网）、英伟达（AI）——卖水人比淘金者活得久。&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id=&#34;六我的思考与感悟&#34;&gt;六、我的思考与感悟&lt;/h2&gt;
&lt;h3 id=&#34;61-浪潮不是运气是可以识别的&#34;&gt;6.1 浪潮不是运气，是可以识别的&lt;/h3&gt;
&lt;p&gt;读完这本书最大的安慰是：&lt;strong&gt;浪潮来时是有信号的&lt;/strong&gt;——技术突破（大模型通过图灵测试级别的对话）、成本骤降（推理价格两年降了 100 倍）、基础设施就绪（云 + GPU + 开源生态）、杀手应用出现（ChatGPT 两个月破亿用户）。2022 年之后，所有信号都齐了。识别浪潮不难，难的是&lt;strong&gt;承认自己所在的是旧浪潮&lt;/strong&gt;——这对在传统软件行业干得好好的程序员尤其残酷。&lt;/p&gt;
&lt;h3 id=&#34;62-基因决定论也适用于个人&#34;&gt;6.2 &amp;ldquo;基因决定论&amp;quot;也适用于个人&lt;/h3&gt;
&lt;p&gt;书里说公司转型难是因为基因。我想到程序员个体也一样：写了十年 CRUD 的人，不是学不会 AI 应用开发，而是&lt;strong&gt;看问题的基因已经固化&lt;/strong&gt;——习惯想&amp;quot;怎么实现需求&amp;rdquo;，不习惯想&amp;quot;模型能做到什么边界、边界外怎么兜底&amp;quot;。转型不是学几个 API，而是换一种思考方式：从&amp;quot;确定性编程&amp;quot;转向&amp;quot;概率性系统设计&amp;quot;。&lt;/p&gt;
&lt;h3 id=&#34;63-每一波浪潮最大的悲剧都是同一个&#34;&gt;6.3 每一波浪潮最大的悲剧都是同一个&lt;/h3&gt;
&lt;p&gt;网景的悲剧是&amp;quot;帮巨头验证市场&amp;quot;，Sun 的悲剧是&amp;quot;有影响力没变现&amp;quot;，雅虎的悲剧是&amp;quot;把核心能力外包&amp;quot;。这三个悲剧在 AI 创业圈每天都在发生。我给自己列了三个自查问题：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;如果明天模型能力提升 10 倍，我的产品是更值钱还是归零？&lt;/strong&gt;（归零的就是网景型产品）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;我的核心差异化，是在我手里，还是在模型厂商手里？&lt;/strong&gt;（外包了核心的就是雅虎型产品）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;我现在的收入，会不会变成阻止我转型的诺基亚式诅咒？&lt;/strong&gt;（旧业务越舒服越危险）&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;64-对程序员创业最现实的一句话&#34;&gt;6.4 对&amp;quot;程序员创业&amp;quot;最现实的一句话&lt;/h3&gt;
&lt;p&gt;《浪潮之巅》里所有成功的技术创业，无一例外是：&lt;strong&gt;技术突破 × 正确的时机 × 匹配的商业模式&lt;/strong&gt;。程序员往往只有第一个，高估第一个，低估后两个。盖茨赢不是赢在 BASIC 写得好，是赢在&amp;quot;授权不转让&amp;quot;的商业模式；Google 赢不只是赢在 PageRank，是赢在 AdWords；思科赢在&amp;quot;互联网淘金热里卖水&amp;quot;。&lt;/p&gt;
&lt;p&gt;AI 大模型时代对程序员创业最大的利好是：&lt;strong&gt;技术门槛被模型拉平了&lt;/strong&gt;——你不需要是佩奇才能做出聪明的产品。但这也意味着&lt;strong&gt;竞争的焦点彻底移向了商业模式和场景理解&lt;/strong&gt;。这对只懂技术的程序员是坏消息，对愿意补齐商业思考的程序员，是几十年一遇的好消息。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;七给程序员的行动清单&#34;&gt;七、给程序员的行动清单&lt;/h2&gt;
&lt;p&gt;综合全书规律和 AI 时代的现实，我自己的行动清单：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart TD
    A[&amp;#34;识别自己在浪潮中的位置&amp;#34;] --&amp;gt; B{&amp;#34;你的产品是哪种类型？&amp;#34;}
    B --&amp;gt;|&amp;#34;卖水型&amp;lt;br/&amp;gt;基础设施/工具链&amp;#34;| C[&amp;#34;深耕&amp;lt;br/&amp;gt;这是最长命的位置&amp;#34;]
    B --&amp;gt;|&amp;#34;垂直应用型&amp;lt;br/&amp;gt;行业+AI&amp;#34;| D[&amp;#34;挖深护城河&amp;lt;br/&amp;gt;数据/资质/交付&amp;#34;]
    B --&amp;gt;|&amp;#34;功能套壳型&amp;#34;| E[&amp;#34;立刻转型或止损&amp;lt;br/&amp;gt;这是网景的命运&amp;#34;]
    C --&amp;gt; F[&amp;#34;警惕云厂商下场&amp;lt;br/&amp;gt;往深水区走&amp;#34;]
    D --&amp;gt; G[&amp;#34;警惕巨头捆绑&amp;lt;br/&amp;gt;做平台不方便做的事&amp;#34;]
    E --&amp;gt; H[&amp;#34;把积累的认知&amp;lt;br/&amp;gt;转向 1 或 2&amp;#34;]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;具体建议：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;不要把时间花在套壳上&lt;/strong&gt;，花在&amp;quot;模型 + 行业数据 + 工作流&amp;quot;的耦合处；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;保持对基础设施层的关注&lt;/strong&gt;（卖水人最长寿），哪怕不创业，职业方向上也值得靠；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;每 18 个月做一次摩尔定律自查&lt;/strong&gt;：我的技能和产品，跟上模型能力的进步了吗？&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;学盖茨的商业模式思维，学格鲁夫的断腕决断，学安德森的快速转身&lt;/strong&gt;——这三样比学任何框架都重要；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;记住浪潮的窗口期&lt;/strong&gt;：格局固化（70-20-10）之前的窗口大约是 5-8 年。大模型这波从 2022 年算起，留给新玩家的窗口还有，但在收窄。&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id=&#34;八结语&#34;&gt;八、结语&lt;/h2&gt;
&lt;p&gt;吴军在书里写过一句话（大意）：&lt;strong&gt;在浪潮之巅的公司，不是最努力的，而是最幸运的——恰好站在了浪尖上。&lt;/strong&gt; 但通读全书你会发现，&amp;ldquo;幸运&amp;quot;其实有结构：站在浪尖的公司，都是在新旧浪潮交替的混沌期就下了注的公司——盖茨在大型机向 PC 过渡时下注，佩奇在门户向搜索过渡时下注，乔布斯在 PC 向移动过渡时下注。&lt;/p&gt;
&lt;p&gt;今天的 AI 大模型，就是这样一个新旧交替的混沌期。窗口开着，但不会一直开着。&lt;/p&gt;
&lt;p&gt;这本书值得每个程序员读一遍，而且&lt;strong&gt;每隔几年重读一遍&lt;/strong&gt;——因为你所处的浪潮位置变了，读出来的东西会完全不一样。&lt;/p&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;延伸阅读：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;吴军《数学之美》——同作者的技术方法论，笔记见本站《数学之美》学习总结&lt;/li&gt;
&lt;li&gt;Paul Graham《黑客与画家》——创业方法论的另一极，笔记见本站《黑客与画家》创业学习笔记&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
  </channel>
</rss>
