◢ Lesson 6 ⏱ 105 min

AI 时代 · 概念 · 故事 · 视野

🎬 开场 · 5 天 · 1 亿用户

📅
那一天
2022.11.30
🚀
5 天破
100 万用户
📈
2 个月破
1 亿用户

旧金山一家叫 OpenAI 的小公司 · 在博客里发了一篇低调的文章 · 标题写着 “Introducing ChatGPT”。

没有发布会 · 没有大新闻 · 工程师们都以为这只是个内部测试品。

5 天后 · 100 万用户。Instagram 用了 30 个月 到这个数 · TikTok 用了 9 个月

ChatGPT 用了 5 天

但 ChatGPT 不是凭空出现的

那一刻看起来是”奇迹” · 其实是 OpenAI 7 年 · 一条路线的总爆发。下面这条鱼骨图 · 把这 7 年最关键的节点全摆出来 · 让你一眼看清”AI 时代”是怎么被一家公司一步步推出来的。

🧬 OpenAI · development fishbone
一家公司 · 一条路线 · 一个时代
时间2015
2015.12
🧬OpenAI 成立
Sam Altman · Musk · Ilya Sutskever 等创立 · 非营利 · 目标「安全 AGI」
2018
2018.6
📄GPT-1
117M 参数 · 论文标题《Improving Language Understanding by Generative Pre-Training》· 第一次把 G·P·T 三个字摆出来
2019
2019.2
🤐GPT-2
1.5B 参数 · 一度「太危险不敢发」· 反而引爆话题
2019.7
💰Microsoft 投 $10 亿
从非营利转 capped-profit · 算力换股权 · 没这一步就没有后面
2020
2020.5
🐘GPT-3
175B 参数 · few-shot 学习震撼业界 · 第一次让世人相信「大模型路线」可行
2021
2021.7
🤖GitHub Copilot
Codex 模型驱动 · AI 写代码第一次进主流 IDE
2022
2022.3
🎓InstructGPT
RLHF 训练让 AI 听话 · 这是 ChatGPT 能「对话」的底层技术
2022.11.30
🚀ChatGPT 发布
5 天破百万用户 · 2 个月破 1 亿 · 全世界第一次知道 AI 是什么
2023
2023.3
🧠GPT-4
推理 / 代码 / 多模态大幅跃升 · 编程基准接近人类专家
2023.6
🔧Function Calling
AI 第一次「有了手」· 能调外部工具 · 进 agent 时代
2023.11
🌪董事会风波
Sam Altman 被解雇 · 5 天后回归 · OpenAI 治理结构暴露
2024
2024.5
👁GPT-4o
原生多模态 · 文字 / 图像 / 语音同一模型实时处理
2024.9
🧮o1 · 推理模型
新范式 · 模型「想得久」答得对 · 数学竞赛逼近顶尖人类
★ 时代转折点
关键资本 / 技术节点
理念 / 范式跳跃
模型迭代

看出来了吗 · ⭐ 那个节点之前 · 已经有 7 年的论文 · 资本 · 失败 · 训练铺路 —— GPT-1 → GPT-2 → 微软投钱 → GPT-3 → InstructGPT 的 RLHF。ChatGPT 不是天才一闪 · 是路线坚持的终点。这个视角 · 也是你看后面所有 AI 公司的最佳镜头。


今天你会学到的概念地图

🏗 前置📜Transformer 是什么
A · LLM 基础🧠7 个根概念
B · 能力进化📈3 年 7 次跳跃
C · MCP 协议🔌工具世界的 USB-C
D · 3 大基本概念📦Prompt · Context · RAG
E · Multi-Agent🧬5 种协作模式
F · 产品哲学🚀4 特征 + 3 转变
🎯 期末✍️你的行动表

🏗 前置 · Transformer · 一切的起点

在正式开始之前 · 先 5 分钟讲清楚一件事:所有今天的 LLM · 底层都是同一个东西 —— Transformer。

ChatGPT 的 T · Claude 用的 · Gemini 用的 · DeepSeek 用的 · Llama 用的 —— 全是 Transformer。理解它 · 你就理解了 AI 这 3 年起飞的”骨架”。

故事 · 一篇 2017 年的论文 · 没人意识到改变了世界

📜
2017 年 6 月 12 日
Google 8 个工程师发了一篇论文

论文标题特别简单:“Attention Is All You Need”(你需要的只是注意力)· 8 位作者 · 11 页正文 · 当时几乎没引起业界波澜。

论文里发明了一种全新的神经网络架构 · 叫 Transformer。它做的事很简单:用一种新方法让 AI “读”句子。

5 年后 · ChatGPT 发布 · 引爆 AI 时代。它的 G·P·T 里的 T · 就是这篇论文里的 Transformer。

等等 · 它跟”神经网络”什么关系?

很多同学听到 “Transformer” · “神经网络” · “深度学习” 几个词就懵了 · 它们到底什么关系?

一句话:Transformer 就是一种神经网络 · 神经网络有很多种 · Transformer 是其中最适合处理语言的那种。

下面这个 36 秒的动画用 3Blue1Brown 自己写的开源动画引擎 Manim 做的 · 用最经典的”识别手写数字”例子 · 把每一层的输入 / 输出都标清楚

🎬 神经网络 · 每一层在做什么

Made with Manim · 3B1B 同款引擎

📥 输入:一张 6×6 手写”3”的图 = 36 个像素亮度(每个 0~1)

🔀 每一层:8 个神经元 · 各自问一个”是什么样的特征?“的问题 · 听上一层所有数 · 加权求和 · 输出一个 0~1 的”投票”

📤 输出:10 个数字(0~9 各一个)· 每个 = “我是这个数字的概率” · “3” 拿到 71% → 预测:3

💡 一句话:每层都把上一层的一组数字重新组合成新一组数字。Transformer 也是这样 · 只是输入是一串词而不是像素 —— 而它的”权重”不是训练时定死的 · 是每次根据上下文动态算出来的 —— 这就叫注意力

明白这个之后 · 我们再回头看:“Transformer 之前 vs 之后” 的差别就一目了然 ——

核心思想 · 一张图看懂

Transformer 之前 · AI 读一个句子像念课文 · 一个字一个字按顺序读 · 慢 · 还容易忘前面说过什么。

Transformer 之后 · AI 一眼看完整句话 · 所有词同时”互相看” · 知道哪些词跟自己有关 · 哪些不相关。

🐌
2017 之前 · 旧方法
一个字一个字读(RNN)
喜欢苹果
  • ❌ 只能从左到右排队处理
  • ❌ 句子长了 · 前面的容易忘
  • ❌ 不能并行 · GPU 用不起来
  • ❌ 长篇文章性能急剧下降
2017 之后 · Transformer
所有字同时互看
喜欢苹果

↕ ↕ ↕ ↕ ↕
每个字都同时看其他所有字

  • ✓ 所有词并行处理 · 一次性
  • ✓ 长句子不丢前面的
  • ✓ GPU 可以全力加速
  • ✓ 处理几十万字也行

关键概念 · “注意力”(Attention)· 互动演示

Transformer 的核心机制叫 Attention(注意力)—— 每个字”看”其他字时 · 关注度不一样。

下面这个动画演示一个真实的歧义句:“他打开苹果电脑 · 吃了一口苹果” —— 同一个”苹果”出现两次 · 一次是品牌 · 一次是水果。Transformer 如何分清?切换 tab 看看它把”注意力”放在哪里:

🧠 Attention · 看 Transformer 怎么分清"苹果"

🔍当前 query · "苹果"(第 3 个 token)→ 它在"看"哪些字?颜色越深 · 注意力越强。
·
#0
·
打开
#1
⌖ query
苹果
#2
·
电脑
#3
·
·
#4
·
吃了
#5
·
一口
#6
苹果 = ?
苹果
#7

🏆 "苹果" 注意力 Top 3

1.电脑
85%
2.打开
30%
3.苹果
15%

💡 第 1 个"苹果"主要看"电脑" · 注意力 78-85% · Transformer 因此判定:这里的"苹果"是品牌(Apple 公司)· 不是水果。

// 本演示灵感来自 Transformer Explainer(Georgia Tech) 和 BertViz · 真实 Transformer 还有 multi-head attention / positional encoding 等机制 · 这里展示的是最核心的"自注意力"思想

同一个词在不同上下文里 · 含义完全不同 —— Attention 让 AI 真正”理解”上下文 · 这是 Transformer 的核心魔法。

🎉
比喻 1
派对

旧方法:传话游戏 · 一个传一个 · 最后传不清。

Transformer:所有人都同时听到所有人讲话 · 各自决定关注谁。

📚
比喻 2
图书馆查询

每个词都问:“谁跟我有关?”
到图书馆所有书目(其他词)里匹配 · 拿回相关的内容 · 融进自己的理解。

🔦
比喻 3
聚光灯

每个词都有个聚光灯 · 自动照亮句子里跟自己最相关的几个词。

“Attention” 直译就是”注意力” —— 注意哪里 · 哪里就亮。

为什么这么重要?

并行 · 快

所有词同时处理 · GPU 可以全部跑满。这就是为什么能训练几千亿参数的模型 · 把数据规模拉到天上。

🧠长上下文 · 不丢信息

旧方法 RNN 读到第 1000 个词时 · 第 1 个词早忘了。Transformer 每个词都能直接看到每个词 · 不存在距离衰减。

🌍通用 · 一统江湖

同一个 Transformer 架构 · 能做文字 · 图片 · 音乐 · 代码 · 视频。“通用大一统模型” 可能就是它。

📈scale 起飞

Transformer 一出 · “把模型做大 · 把数据加多” 这条路彻底通了。8 年时间 · 参数从亿级到万亿级。

想深入了解 · 3 个最好的资源

💡 一句话记住 —— Transformer = 让 AI 一眼看完整句话 · 每个词同时跟所有词”对话”的架构。所有今天的 LLM 都建在它上面 · 没有它 · 没有 ChatGPT · 没有 Claude · 没有 Cursor · 没有今天的一切。


模块 A · 把 Transformer 装上规模 · 这就是 LLM

承上启下 —— 你刚学的 Transformer 是一种架构 · 一套设计图。它本身还不会做任何事 —— 就像一张电路图不是手机。要变成你今天能调用的 ChatGPT / Claude · 还需要 3 步。

Transformer ≠ LLM · 三个加号

📐第 1 步 · 规模
把架构做大

Transformer 论文里的模型只有 6500 万参数。GPT-3 做到了 1750 亿。GPT-4 业界估计 1 万亿+(未官方确认)。

为什么 · 规模上去 · “涌现”出全新能力(写代码 · 推理 · 翻译)· 不是线性提升 · 是质变

🌊第 2 步 · 数据
喂整个互联网

数万亿 token · 网页 + 书 + 代码 + 维基百科。没经过这步 · 只是一堆随机权重的架构 · 啥都不会。

类比 · Transformer 是空白大脑 · 训练数据是它读过的所有书 · 你看到的”知识”全在权重里

🎓第 3 步 · 调教
教它”听人话”

只有前两步的模型只会做文本续写。InstructGPT 用 RLHF(人类反馈强化学习)让它学会跟你”对话” · 这才有 ChatGPT。

关键 · GPT-3 API 2020 年就有 · 但没人觉得它”会聊天” · 因为缺这一步

💡 一句话 —— LLM = Transformer × 规模 × 数据 × 调教。少一个都不是你今天用的 AI。

它「看见」的世界 · 不是字母 · 是 token

回到刚才那个 Transformer 动画 —— 它处理的最小单位是什么?

不是字母 · 不是单词 · 是 token —— 模型字典里被压成数字的”片段”。

中文整体被记住
「苹果电脑」
→ 1 个 token · ID = 苹果电脑
英文常被切片
「strawberry」
→ 3 个 token · straw + ber + ry
每个 token 进模型
[4842, 3231, 821]
→ 一串 ID 数字

这意味着 —— LLM 从来没”看见”过单独的字母。它看到的是 ID 序列。在它的世界里 · “strawberry” 不是 10 个字母 · 是 3 个数字。

这个架构的直接后果 · 一个小实验

现在带着这个理解 · 做个实验。问任何 AI:“strawberry 里有几个 r?”

它会答错。

但这不是 AI 笨 · 是架构层面的必然 —— 它在看 [4842, 3231, 821] · 不在看字母。下面这个 demo 让你亲眼看一遍这个切分过程:

🧩 token 化 · AI 看到的世界

🤖 AI 看到的:2 个 token

每块颜色 = 一个 token

strawberry
📝字符数

10

🧩token 数

2

📊压缩比

5.0x

🍓 strawberry 之谜 · 数 r 给你看

输入 "strawberry" · 点上面按钮看 AI 怎么数 r · 你会发现它经常答错。

// AI 看到的是 token · 不是字母 · 也不是字 · 它在 token 层做"接龙"。字母级问题它天然弱—— 但同时 · 它能处理上下文、风格、语义。Token 化是 AI 一切能力和一切局限的根。

💡 泛化的力量 —— 记住这个例子 · 它能让你预测所有LLM 在”字母层”会出错的场景:拼写检查 · 押韵 · 字数限制 · 字符级反转 · 单字数数。只要任务需要 LLM 看见单字符 · 它就会失败

站在 Transformer 之上 · LLM 怎么”预测下一个词”

你刚学的 Transformer 是个架构 · 描述的是 “N 个 token 同时通过 attention 互看”。但你按下 ChatGPT 的回车之后 · 它具体怎么用这个架构 · 一个字一个字给你回答的?拆开就 5 步:

1输入 · tokenize把你的话切成 N 个 token
你输入
”今天天气真”
模型看到
[今天] [天气] [真]
2嵌入 · embed每个 token → 一串数字向量

每个 token 查模型的”字典”· 拿到一个 4096 维(或更高)的数字向量。这串数字编码了这个 token 的”含义” · 但它还没看过句子里的其他 token

3Transformer × 96 层每个 token 通过 attention 看到所有其他 token

这就是你刚学的 attention · 但堆叠 96 层(GPT-3 是 96 · 更大的模型更多)。每过一层 · 每个 token 的向量都被刷新一次 —— 现在它”知道”了句子里所有其他 token 的存在 · 并把相关的信息融进自己的向量里。“真”这个 token · 在第 96 层之后 · 已经”知道”它前面是”今天天气”

4投影 · projection最后位置的向量 → 词表大小的”打分”

只看最后一个位置 —— “真”那个位置在第 96 层的输出向量。把它乘上一个矩阵 · 投影成词表大小的一长串数字(比如 10 万 token · 就是 10 万个数字 · 叫 logits)。每个数字代表”下一个 token 是这个 token 的得分”。

5抽样 · softmax + sample10 万个分数 → 概率分布 → 抽一个

把 10 万个 logits 通过 softmax 变成概率分布(加起来等于 1)· 然后按概率抽一个

35%
22%
8%
不错
5%
30%
⟲ 关键揭示 · autoregressive · 自回归生成
每次只产 1 个 token · 加回去 · 再来一遍

抽到 “暖” 之后 · LLM 并没有接着往后预测。它把 “暖” 加到输入序列末尾 · 然后整个流程从头再走一遍

轮 1 输入:[今天] [天气] [真]→ 产出 “暖”
轮 2 输入:[今天] [天气] [真] [暖]→ 产出 ”。“
轮 3 输入:[今天] [天气] [真] [暖] [。]→ 产出 “适合”
… 直到产出”结束 token”为止

你看到的 ChatGPT 一段几百字的流式回答 · 其实是这个循环跑了几百次。每个 token 都让整个 96 层 Transformer 重算一遍。这是为什么 LLM 越长输出越慢 · 也是为什么”流式输出”看起来一个字一个字蹦出来。

💡 这就是 LLM 的”心跳” —— 下面 7 个根概念 · 每个都对应这个流程里的某个环节:


7 个 LLM 根概念 · 挂回流程图

记住上面那 5 步 + 自回归循环。下面 7 张卡 · 每一张都对应这个心跳里的某个位置 —— 你看完会发现 · 之前听过的所有 AI 词汇 · 突然都”挂”得上去了:

📦 Context Window · 第 1 步能容纳多少 token
🌡 Temperature · 第 5 步抽样的”随机度”
🎓 Training vs Inference · 这个流程 = inference · 不改任何权重
😵 Hallucination · 第 5 步高概率 ≠ 事实正确
📅 Knowledge Cutoff · 第 3 步的权重由训练数据决定
🧠 LLM · 就是这整个流程本身
🧩 Token · 流程的最小单位(你已经懂了)

点任一卡看动画 demo

🧠 LLM 7 个根概念 · 点任一卡看动画演示

🧠

根概念 · 1 / 7

LLM

所有"神奇能力"的根:预测下一个 token。给定 "Hello ",AI 内部算出每个候选词的概率:

"Hello ___"

点任一选项 · 看 AI 选了什么。所有看似神奇的"理解 / 推理 / 创作"能力 · 都从这件小事涌现。

// 这 7 个概念是所有 AI 文章的基本词汇。理解它们 · 你能看懂业界 90% 的讨论。
⏭ 下一步 · 模块 A → 模块 B

Module A 揭示了 LLM 只做一件事 —— next-token prediction。听起来很受限:它怎么可能”调工具”、“上网”、“读你电脑里的文件”?

这就是 Module B 要解开的悬念。剧透:模型本身没多做任何事 · 它还在那 5 步心跳里。但你的代码做了点别的 —— 它盯着 token 流找特定模式。这一个微小但关键的”机制外挂” · 让 AI 从”只会说”变成”会做”。


模块 B · AI 的”能力进化史” · 3 年 7 次跳跃

故事钩子 —— 2023.6.13 OpenAI 在博客里发了 “Function Calling” · 当时工程师没在意 · 但这是 LLM 历史上第二重要的一天 —— AI 第一次”有了手”。

下面这条时间线 · 是过去 3 年 AI 能力进化的全部关键节点。点开每个节点看真实示例:

📈 能力进化时间线 · 点任一节点看详情

🔧

2023.6

Function Calling / Tool Use

AI 第一次"有了手"

🎯解决了什么

LLM 之前只会"输出文字" · 现在能"调用工具" · 查天气 / 读文件 / 算数都行

💡为什么重要

LLM 第二重要的一天 · 一切 agent 的起点 · OpenAI 6/13 发布

📵之前

"上海天气怎么样?" → "我不知道"

之后

"上海天气怎么样?" → 调 weather API → "上海 28 度无雨"

// 3 年内 AI 从"接龙工具"变成"能开终端干活的 agent" —— 这是技术史上前所未见的速度。 每一次跳跃都让前一阶段的"不可能"变成"基本款"。

看动画 · function calling 这一跳到底发生了什么?

时间线里最关键的节点就是 2023.6 那个 function calling。下面这个动画用一个”查天气”的小例子 · 把整条链路演一遍:

🔧 2023.6 · function calling

用户 → LLM → 工具请求 → 你的代码 → API → 结果回到 LLM → 准确回答。动画里 LLM 看起来在”调”工具 · 但你按 Module A 学的知识 · 它只能预测下一个 token。它怎么”调”任何东西的?下面把这个真相拆透。

揭开真相 · LLM 其实从来没有「调用」任何工具

刚刚那个动画看上去 · LLM 在”调用”weather API。但是 · 倒回模块 A 你学的那 5 步心跳 ——

LLM 只能做一件事 · 那就是预测下一个 token

那它到底怎么”调用”任何东西的?

真相:它没有。整个 function calling 机制里 · 模型还是只在做 next-token prediction —— 只不过它学会了在某些时候输出一种特定格式的文字。真正去调 API 的 · 是你的代码

下面 6 步把这个真相拆透。

1你的代码做告诉模型有哪些工具可用

发请求时 · 你在 prompt 里塞一段 tool 描述(OpenAI / Anthropic 都用 JSON Schema):

tools: [{
name: "get_weather",
description: "查询某个城市的实时天气",
parameters: {
  city: { type: "string", description: "城市名" }
}
}]

从模型的角度看 · 这就是一段普通文字·进它的 context · 占 token。

2用户问”上海今天天气怎么样?”

进入模块 A 的 5 步心跳 · tokenize → embed → 96 层 Transformer → 投影 → softmax。啥都没变

3模型「决定用工具」本质:它输出了一段特定格式的文字

因为它在训练时见过成千上万这种 pattern(user 问实时信息 → assistant 输出 tool_call JSON)· 所以现在它的 softmax 给这些 token 的概率很高。一个一个 token 流出来:

「让我查一下。」← 普通输出<tool_call>← 特殊 token · 标记开始 {"name": "get_weather", "arguments": {"city": "上海"}}</tool_call>← 特殊 token · 标记结束

划重点 · 模型只是在说话。它没有”真的”调任何东西。它的”决定” = 它的 softmax 给 <tool_call> 这个 token 的概率最高。

4你的代码做监听 token 流 · 看到 </tool_call>截停

OpenAI/Anthropic SDK 在底层一直盯着 token 流。一旦看到 </tool_call> · 立刻:

a. 截停
停止模型继续生成
b. 解析
JSON.parse 出 name + args
c. 执行
get_weather(“上海”) · 真去打 HTTP
5你的代码做把 API 结果塞回 context·让模型继续

把 API 返回的 JSON 包成 tool_result 加到对话末尾 · 再次调用模型继续生成。现在它的 context 里多了:

<tool_result name="get_weather">
{"temp": 28, "rain": false, "city": "上海"}
</tool_result>

这只是多了一段输入文字 · 模型完全不知道这是”API 调来的” · 还是”用户复制粘贴的”。对它来说都一样。

6模型继续 next-token prediction现在 context 里有真实数据 · 自然就答对了

新的 softmax 把”28”、“°C”、“无雨”这些 token 的概率推得很高(因为它们刚出现在 context 里 · attention 直接抓得到)。继续 token by token 输出:

「上海今天 28°C · 没有下雨 · 适合户外活动 ✓」
🎯 一句话真相
function calling = 教模型「说一种你代码听得懂的话」+ 你代码真的去做事

模型从头到尾没变· 还是 Module A 那 5 步心跳。变的是两个地方:

  • 训练数据 · 喂大量 <tool_call>{...}</tool_call> 格式的样本 · 模型学会”在合适的位置高概率输出这个 pattern”
  • 运行时 · 你的 SDK 在 token 流里监听·看到 tool_call 就截停 + 解析 + 执行 + 注入结果
💡 想象一下 · 舞台演员和道具组

舞台上演员说”我递给你一杯水” —— 但真正把水送到对方手里的是道具组。LLM 就是台上的演员 · 它只会”说话”(输出 token)·真正去打 API 的是道具组(你的代码)。整套 function calling 就是这套表演分工 —— 演员演得多逼真都不重要 · 道具组该做事还得做事。

为什么这个揭示重要 · 一旦你看穿这点 · 后面所有”AI 能做事”的产品就全清楚了:

  • Agent = 同一个机制 · 多个 tool · 多轮循环(产出 tool_call → 执行 → 注入结果 → 再产出下一个 tool_call · 直到模型不再输出 tool_call)← 下面这个动画就在演这个
  • MCP = 把 tools 这层标准化 · 让任何 server 都能注册成”可调工具”· 模型不用重训
  • Claude Code / Cursor = tools = [read_file · edit_file · run_bash · …] · 加上一个 agent loop
  • ”为什么 GPT-3.5 也勉强能做 function calling · 但不如 GPT-4 稳” = 训练数据里这个 pattern 的密度和质量不同 · 没有架构区别

那 · 如果让它「一直循环」呢?· Agent Loop

刚才那 6 步是一次 function calling 的完整流程。但很多任务做不完 —— 比如调一个 bug · 你需要:先找代码 · 再读代码 · 跑测试看错误 · 改代码 · 再跑测试验证。5 次工具调用 · 5 个 tool_result 累积进 context · 才能完成 1 个任务

这就是 agent loop —— 把刚才那 6 步接着循环 N 次:每次模型看着之前所有 tool_result 来决定下一次要 call 什么 tool · 直到它的输出里不再包含 <tool_call> —— 那意味着模型认为任务完成了。

agent ≠ 新机制·agent = function calling × N 轮 · 直到模型不再 tool_call

下面这个动画演一次完整的 5 轮调 bug · 你能看到每一轮都对应刚才那 6 步 · 而每一轮的 think 都基于上一轮的 tool_result

🤖 2024 · agent loop · 5 轮调 bug

注意第 3 轮的红色错误 —— 那是 agent 的”发现时刻”·因为前一轮的 tool_result 进了 context · 第 3 轮 think 才能从一般搜索转到精确定位。这就是”agent 越循环越聪明”的真正机制:不是模型变聪明 · 是 context 越来越富

💡 看似新东西 · 其实是你 50 年来就在用的工作模式

这其实就是你自己调 bug 的过程 —— 想(“可能在 auth 里”)→ 做(grep 一下)→ 看(找到 3 处)→ 再想(“看 stack trace”)→ 再做(改 42 行)→ 再看(跑测试)。Agent loop 不是 AI 的新发明 · 是它学会了人类工程师 50 年来的工作模式。所以当你看 Claude Code / Cursor 跑起来感觉像”小工程师在干活” —— 不是错觉 · 它真的在复刻你的思维循环。

🎯 一句话总结整个 Module B

Module A:LLM = 5 步心跳 · 预测下一个 token。
function calling:教模型说”工具调用”格式的话 · 你的代码听懂后执行。模型没变 · 加了根输出线
agent loop:把这条线反复走·每次 tool_result 都进 context · 让下一次决策更精准。机制没变 · 加了循环
Claude Code · Cursor · Aider · MCP:就是 agent loop 在不同 tool 集合上的不同实例。本质相同

关键洞察 · 3 年 vs 30 年

💬
2022 起点
AI 只会输出文字
🔧
2023 转折
AI 能用工具了
🤖
2025 现在
AI 自己开终端干活

3 年内 · AI 从”接龙工具”变成”能跑在 terminal 里自己干活的 agent”——这是技术史上前所未见的速度


模块 C · AI 工具世界的「USB-C」· MCP

承上启下 —— 模块 B 的最后我们看到 · agent = function calling 反复跑。但有个问题没解决:每家 AI app 都要自己写和每个数据源(GitHub / Slack / Postgres …)的接驳代码。这就是 2024.11 Anthropic 推 MCP 想解决的问题 —— 给 AI 工具世界一个”USB-C”。

1 · 看清问题 · 为什么需要一个标准

把所有当下的 AI 应用列出来:Claude Desktop · Cursor · ChatGPT · Windsurf · Zed · Cline · Continue · Copilot Studio · Aider · Replit … 假设 M 个。

把所有想接的数据源也列出来:GitHub · Slack · Postgres · Drive · Notion · Linear · Sentry · Stripe … 假设 N 个。

问题:每家 AI app 都要为每个数据源单独写胶水代码 · 总工程量 = M × N。下面这个动画把这个数字的可怕讲清楚:

🔌 M × N → M + N · the core of mcp

5 × 5 = 255 + 5 = 10 · 看起来只省了 15 条线。但 scale 到 100 × 100·就是 10,000 条胶水代码 vs 200 条接口。这就是 MCP 的全部数学 · 也是它存在的理由。

💡 想象一下 · 没有 USB-C 之前的桌面

回忆一下 2010 年 —— 手机 micro-USB · iPhone Lightning · 笔记本三种 type-A · 相机 mini-USB · Kindle 又一种 … 桌上一团乱麻 · 出门要带 4 根线。M 个设备 × N 种接口 = 一抽屉数据线

USB-C 出来后呢 · 所有设备一根线搞定。MCP 干的就是 USB-C 干的事 —— 在 AI 工具世界做一次同样的统一。所以你以后看到”某某 AI app 支持 MCP” · 就和当年”某某新机型支持 USB-C”一个意思 · 接得越多 · 桌面越干净。

2 · 灵感来源 · IDE 世界 8 年前解决过同样的事

MCP 不是凭空发明的。它直接借鉴了 LSP(Language Server Protocol)—— 微软 2016 年为 IDE 世界搞的同款标准。

📜 2016 · IDE 世界
LSP · Language Server Protocol

问题:M 个 IDE × N 种语言 = M × N 个 plugin。VSCode · IntelliJ · Vim · Sublime 各自写 TypeScript / Python / Rust 支持。

:定义一套 IDE 和”语言服务器”之间的协议。语言侧只写一个 server · 所有 IDE 受益。

🤖 2024 · AI 世界
MCP · Model Context Protocol

问题:M 个 AI app × N 个数据源 = M × N 个工具集成。

:定义一套 AI app 和”上下文服务器”之间的协议。数据源侧只写一个 MCP server · 所有 AI app 受益。

💡 同一招打两次 · 8 年前打 IDE 战 · 现在打 AI 战。LSP 的成功(VSCode 主流地位的一个核心原因)就是 MCP 的样板。

3 · 2024.11.25 · Anthropic 开源 MCP

协议
JSON-RPC 2.0
和 LSP 同一个底层协议 · 业界成熟
许可证
MIT · 完全开源
不是 Anthropic 专属 · 任何人可实现
官方 SDK
7 种语言
Python · TypeScript · Java · Kotlin · Swift · C# · Rust
官方 server 数
~20 个 reference 实现
filesystem · git · github · slack · postgres …

4 · 核心架构 · 三角色 · 看动画

🏗 mcp architecture · host · client · server

动画里看到的:Host(你用的 AI 应用)内部 spawn 多个 Client · 每个 Client 一对一接 1 个 Server。一次 tool_call 沿 Client → Server → 外部 API → 结果回流 · 走完全程。

🏠
HOST
你用的 AI 应用

Claude Desktop · Cursor · Zed · ChatGPT Desktop · Copilot Studio · …
容量:1 Host : N Clients

🔌
CLIENT
Host 内的连接器

Host 内部·和某个 Server 一对一对接·负责协议握手、消息序列化。
容量:1 Client : 1 Server

⚙️
SERVER
提供能力的程序

一个 server = 一类能力。github-server · postgres-server · filesystem-server …
容量:1 Server 可被 N 个 Host 共用

5 · Server 暴露给 LLM 的 3 类原语

每个 MCP server 都对 client 声明自己能提供什么。一共就 3 类:

tools
🔧 能被 LLM “调用”的动作

可执行函数。每个 tool 有名字 + JSON Schema 描述参数。LLM 通过 tools/call 触发。

{
name: "create_issue",
inputSchema: {
  title: "string",
  body: "string"
}
}
resources
📁 能被读入 context 的数据

只读资源。每个有 URI 标识。LLM(或用户)通过 resources/read 拉取。

{
uri: "file:///docs/spec.md",
mimeType: "text/markdown"
}
prompts
📝 可注入对话的模板

预制的 prompt 模板。用户从 UI 触发(比如 slash 命令)。带参数。

{
name: "review_pr",
arguments: [
  { name: "pr_number" }
]
}

💡 关键区别 · tools 模型主动调(“do something”)· resources 模型/用户主动读(“give me data”)· prompts 用户主动触发(“use this template”)。

6 · Client 反向给 Server 的 2 类原语(进阶)

MCP 不止单向 · Client 也对 Server 暴露能力:

sampling
🧠 server 让 client 调 LLM

Server 内部需要”想”的时候 · 不用自己接 LLM API · 反过来请 client 去问 LLM。

用途:让 server 也能用 agent 能力 · 不用自己付 API 费 · 不用自己集成 OpenAI/Anthropic SDK。

roots
🗂 server 申请文件系统作用域

Server 启动后向 client 询问:“我能访问哪些目录?” Client 返回明确的 root 列表。

用途:安全隔离。filesystem-server 不能乱跑·只能在 user 授权的目录里读写。

7 · 传输层 · 模型怎么”听”和”说”

MCP 协议归协议 · 实际跑起来需要传输层。当前两种主流方式:

📟 local
stdio

Host 把 server 当本地 subprocess 启动 · 走 stdin/stdout 通信。

适合:本地文件 / 本地 db / shell 命令 · 高性能 · 无网络开销

🌐 remote
Streamable HTTP

Host 通过 HTTP 请求远端 server · 支持 SSE 流式 · 也支持普通响应。

适合:云端服务 · SaaS · 第三方 API(GitHub · Linear · Stripe)

认证OAuth 2.1

历史注:MCP 早期还有 HTTP + SSE transport · 2025.3 弃用 · 被 Streamable HTTP 取代。

8 · 一次完整工作流 · 步进式协议演示

下面这个交互组件 · 把刚才架构动画里的”一次 tool_call”拆成 8 步 · 每步都能看到真实的 JSON-RPC 报文 —— 点 step 或点 ▶ 看完整循环:

🔌 MCP protocol walkthrough · 一次完整的工具调用 · 8 步
点 step 看每一步的 JSON-RPC 报文
Step 1 / 8
ClientServer1Host spawn Client2345678
初始化Step 1 · Host spawn Client · 启动连接

Host(如 Claude Desktop)为每个配置的 server 创建一个 Client 实例。本地 server 通过 stdio 启动 subprocess · 远端 server 走 Streamable HTTP。

📨 wire message
// 内部操作 · 无 JSON-RPC 消息
spawn("github-server", { stdio: true })
// 或 fetch("https://mcp.example.com/sse")

💡 看出来没?这其实就是模块 B 学的 function calling + agent loop · 只是把”tools 哪儿来”那一步用 JSON-RPC 标准化了。Step 6→7→8 = function calling 单轮 · Step 8→6 的循环 = agent loop。

9 · 生态全景 · 2026 现状

🏠 hosts已适配 MCP 的 AI 应用· 15+
🧠 Claude Desktop💻 Claude CodeCursorWindsurfVS CodeZedClineContinueAiderChatGPT DesktopCopilot StudioReplitBlockSourcegraph
⚙️ servers能注册的工具 / 数据源· 500+ · 覆盖几乎所有主流 SaaS
官方 reference
📁 filesystem🐙 git🦊 github💬 slack🐘 postgres📀 sqlite🎭 puppeteer🔍 brave-search🧠 memory🌐 fetch⏰ time
大厂提供
☁️ Cloudflare💳 Stripe🔔 Sentry🚀 Apollo📊 Linear📝 Notion🛡 Atlassian✅ Asana
社区
🎵 Spotify🎨 Figma📔 Obsidian✉️ Gmail▶️ YouTube👽 Reddit… 500+
🛠 sdks写 server 用
7 种官方
🐍 Python📘 TypeScript☕ JavaK Kotlin🦅 Swift⚓ C#🦀 Rust

最少 ~20 行就能写出一个能用的 server。

10 · 推荐资源 · 想深挖去哪

🏛 官方
🛒 市场 / 评测
📖 原始资料
  • Anthropic 公告原文
  • Latent Space 播客:“Introducing MCP”
  • 《MCP for Developers》· Anthropic 工程博客
🎯 上手最快的 3 件事
  • 1. 在 Claude Desktop 装 filesystem server
  • 2. 用 Python SDK 写一个 hello-world server
  • 3. 在 smithery.ai 装一个真实 server(如 github)

11 · 为什么 MCP 是 AI 时代的「USB-C」

🎯 一句话总结模块 C

function calling 解决了”模型能调工具”·MCP 解决了”工具能在所有模型间共用”

对开发者:写一个 MCP server · Claude Desktop / Cursor / ChatGPT / Zed 全部能用 · ROI 跳跃。
对 AI app:不用再为每个数据源单独集成 · 直接接驳生态。Cursor 内置 100+ 个 server 这事 · 没 MCP 不可能。
对用户:你的 AI 突然能用你已经在用的所有工具(GitHub · Slack · Notion · Linear …)· 这是真正的”统一 AI 入口”。
对生态:MCP server marketplace 正在出现 · 类比”App Store 之前 vs 之后”。

💡 学完这个模块你应该能:1) 看到任何 AI 工具集成就能说出它是不是 MCP · 2) 知道为什么 Cursor 的 “MCP integration” 是个大新闻 · 3) 想给自己的产品做 AI 集成时 · 第一反应是”写个 MCP server”而不是”对接 Claude API”。

⏭ 下一步 · 模块 C → 模块 D

A/B/C 三个模块解决的都是 “模型本身能做什么” · 已经讲完。

但你肯定有过这样的体验 —— 同样的 ChatGPT · 同样的 Claude · 不同人用 · 效果天壤之别。为什么?

因为模型从来不是看你”是谁” · 它只看见你给它的 context。给什么 · 怎么给 · 留多少预算 —— 这就是 Module D 要拆的功夫:Prompt 工程 · Context 工程 · RAG。这 3 个概念也是从”AI 用户”到”AI 工程师”的分水岭。


模块 D · 现代 AI 必须掌握的 3 个基本概念

承上启下 —— 模块 A/B/C 讲了模型本身的机制(next-token · function calling · MCP)。模块 D 讲怎么让模型在真实任务里”看见正确的东西” —— 这才是用 AI 的真功夫。3 个概念 · 一个比一个高维

📝
level 1
Prompt 工程

选择正确的「指令」。你怎么和模型说话 · 决定它怎么答。

📦
level 2
Context 工程

准备正确的「整个上下文」。Prompt 只是其中一小部分 · 真正的杠杆在这里。

🔍
level 3
RAG

让 AI 动态「查正确的知识」。当 context 装不下所有资料时的工程解。

📝 ⊂ 📦 ⊃ 🔍 · 三者层层包含 · 互相补充 · 缺一就有死角


Level 1 · Prompt 工程 · 原理与应用

1.1 原理 · 为什么 prompt 是「第一杠杆」

回忆模块 A 那 5 步心跳:LLM 是 next-token predictor。它输出的每个 token · 都是基于当前 context 的 softmax 抽样。

你的 prompt 进入 context → 直接改变 softmax 的概率分布 → 直接改变输出。这就是为什么 prompt 工程有效 —— 它不是”心理学技巧”· 是数学影响

1.2 5 个核心技术 · 每个都对应模型的某个机制

🎯 zero-shot
直接说要做什么

最朴素的形态 · 直接描述任务。清晰 · 具体 · 给约束

把这段日志按"错误类型 / 时间 / 影响范围"
分类 · 输出 markdown 表格。
📚 few-shot
给 1-2 个例子

让模型从例子里 in-context learn 格式 / 风格。比说 10 句解释更有效

输入: "苹果"   输出: { 词性: "名词", 类: "水果" }
输入: "跑步"   输出: { 词性: "动词", 类: "运动" }
输入: "蓝色"   输出: ?
🧠 chain-of-thought
让它”想”出来

让模型输出思考过程再答。它的 next-token prediction 是单步的 · 给它”草稿空间”准确率提升 10-40%。

问题: ...

先一步步分析 · 再给最终答案。
🎭 role / persona
指定身份和约束

在 system prompt 里设定身份 / 风格 / 不能做什么。约束越具体 · 行为越稳

你是一个 senior security engineer。
回答时只列具体技术点 · 不说商业意义。
不熟的领域 · 直说"不知道"。
📐 structured output
强制输出可解析的格式

让模型输出 JSON / XML / 指定 schema · 你的代码就能直接消费 —— 这是把 LLM 接入工程系统的关键技术。OpenAI / Anthropic 都原生支持 response_format: {type: "json_schema"}

response_format: {
  type: "json_schema",
  schema: {
    severity: { enum: ["low","med","high"] },
    summary:  { type: "string", maxLength: 200 },
    affected: { type: "array", items: { type: "string" } }
  }
}

1.3 实战 · 同任务的 prompt 对比

✍️ prompt 好坏对比 · 任务一样 · 输出天壤之别

💸

任务

写一个 ERC-20 转账函数

差 prompt
写个 transfer 函数
好 prompt
用 Solidity 0.8.20 写一个 ERC-20 transfer 函数:

要求:
- 余额不足要 revert,错误信息 "insufficient balance"
- 转账成功 emit Transfer(from, to, amount) 事件
- to 不能是 0x0
- 返回 bool(成功 true)

只给代码,不要解释。

点右边按钮看 AI 实际给出的代码差异

// 好 prompt 4 件套:🎯 任务清晰 · 📚 给足背景 · 📐 说清格式 · 🎨 给例子 · 这就是 Context Engineering 的本质。

Level 2 · Context 工程 · 比 prompt 大一圈

2.1 原理 · prompt vs context 的区别

这是初学 AI 最容易混淆的概念。看动画一次说清:

📖 prompt vs context · 一次说清

动画揭示:用户写的「prompt」只是模型 context 的 1/5。完整 context 还包含 system prompt · tools schema · 对话历史 · 检索文档。Context engineering = 管整个包·prompt engineering 只是其中一段。Context 工程 ⊃ Prompt 工程

2.2 Context 里到底装什么 · 真实场景的预算分配

光说 context “很大” 抽象。下面这个交互组件 · 用 200K tokens 的真实预算 · 看 4 种典型场景实际怎么填满

📊 context budget · 200K tokens · 不同场景的实际分配
点场景看 context 怎么被填满
已用 118K / 200K · 58.8%
IDE agent · 带 5 个文件 · 工具调用 + 工程上下文
200K context window
system_prompt· 4K · 2.0%· agent 行为指令
tools_schema· 12K · 6.0%· 20 个 tool JSON Schema
open_files· 35K · 17.5%· 5 个打开的文件 + 选中片段
agent_history· 50K · 25.0%· 前几轮的 tool_calls 和 results
user_message· 500 · 0.3%· 「修一下登录 bug」
reserved_for_response· 16K · 8.0%· agent 输出 + 推理
free_budget· 83K · 41.3%· 剩下的空间
💡 context engineering 视角

agent 跑 10 轮后 · history + files 已占一半 · 这就是为什么 Cursor / Claude Code 需要做 context compaction(压缩历史)。

💡 关键洞察 · 你的「user_message」在任何场景里都只占 0.1-1%。99% 的 context 是被 system / tools / history / RAG 这些别的东西吃掉的 —— 这就是为什么”我 prompt 写得很好但 AI 表现还是差”。Prompt 不是问题 · context 是

💡 真实场景 · 一个 4 小时的 Claude Code 调 bug

你用 Claude Code 调一个 auth bug · 跑了 4 小时 · 第 80 轮你忽然觉得它”变笨了” —— 改的代码越来越奇怪 · 之前明明搞懂的细节这会儿又问了一遍。

不是模型变笨 —— 它的 context 已经被 80 轮失败尝试塞满了 · 你刚才那句新指令前面横着 50K 的”我试过 X 但不行 · 又试 Y 又不行 …” · 关键的最新代码反而被挤到角落。这就是为什么 /compact 命令存在·把那 50K 失败历史压成 3K 总结 · 主战场马上恢复。

2.3 为什么 · context 越长 · 性能反而越差

刚才 2.2 的「长 agent 跑爆」场景里看到模型性能塌方。这不是工程偷懒 · 是模型架构本身的物理限制。下面把学界共识 + 4 个底层原因讲清楚。

🔬 现象 · “Lost in the Middle” 效应

Liu et al. 2023(Stanford NLP · Percy Liang 组)做了一个经典实验:把同一段「正确答案」分别藏在 context 的开头 · 中段 · 末尾 · 测模型能不能找到。结果是反直觉的 U 形曲线

📈 multi-document QA · 关键信息位置 vs 检索准确率
100%50%0%accuracy开头中段末尾85%⚠ ~50%75%

GPT-3.5 · Claude · 开源模型测都一样 · 关键信息在中段时 · 准确率比头尾低 20-30%

📄 Liu et al. (2023) · Lost in the Middle · How Language Models Use Long Contexts · Stanford & UW NLP

💡 想象一下 · 侦探小说的”埋线”位置

想象一本侦探小说有 30 章。凶手线索 ——

  • 藏在 第 1 章 · 开篇就盯上 · 你大概率记得 (85%)
  • 藏在 最后一章 · 高潮揭示 · 你也大概率记得 (75%)
  • 偏偏藏在 第 15 章的脚注里 · 翻过去就忘 (50%)

LLM 看 context 是同一个直觉 —— 越靠中间 · 越容易被’翻过去’。这就是为什么 Anthropic 官方推荐”长文档放 system prompt 头部 · 用户问题永远放最后一条 message”。

🧠 4 个底层机制 · 为什么会发生

① attention dilution
注意力的「物理稀释」

回忆模块 A · attention 用 softmax 归一化 —— 所有 token 的 attention 权重加起来 = 1

context 从 8K → 200K · 每个 token 平均能分到的 attention 从 1/8000 → 1/200000 · 稀释了 25 倍。关键 token 和噪声 token 在「竞争」这同一个固定的 1 · 越长越难脱颖而出。

💡 直觉版 · 5 人会议时 · 你能给每人 20% 注意力 · 关键发言一句就听到。换成 200 人大会 · 平均每人 0.5% · 重要人讲话也变成背景音。LLM 是同样的物理约束。

② positional encoding 外推退化
训练 vs 推理长度的鸿沟

模型实际「见过」的序列长度往往只有 4K-32K。所谓 200K · 是用 RoPE 旋转 / YaRN / ALiBi 外推硬撑出来的。

类比 · 你训练时跑过 100m · 让你跑 1km 还得保持原配速 · 不可能。2024 NVIDIA RULER benchmark 测出几乎所有模型的”有效 context”远小于 advertised。

③ distractor 攻击
不相关上下文「抢」注意力

RAG 场景实测:召回 5 段相关 chunks · 准确率 80%。同样 5 段相关 + 加 50 段「看着像但其实无关」的 distractor · 准确率掉到 55%

模型会把 attention 「投资」到 distractor 上 · 因为它们语义相近。这就是为什么 re-ranking 在 RAG 里是必需的

④ recency bias
”最近”的 token 被过度关注

因果注意力(causal attention)让每个 token 只能看到自己之前的 token。生成位置越靠后 · 越偏向最近的 token(数学上:远 token 经历了更多次 softmax 归一化)。

这也是为什么模型常”遗忘”早期对话里的 instruction · 而记得刚才那句话 —— 这就是 U 形曲线右半部分”recovery”的来源。

📊 最新发现 · advertised context ≠ effective context

2024-2025 的多个 benchmark 持续证实:标称 200K / 1M context 的模型 · 在复杂推理场景下实际可用范围远低于宣传。

📐 ruler · niah 等 benchmark 的实测(综合 2024-2025)
模型标称 context实测有效实/标比
GPT-4 Turbo128K~64K50%
Claude 3.5 Sonnet200K~95K48%
Gemini 1.5 Pro1M / 2M~250K25%
Llama 3.1 70B128K~32K25%

📄 来源 · NVIDIA RULER · Hsieh et al. “Same Task More Tokens” · Karpinska et al. NoCha · Databricks Long Context RAG (2024)

💡 工程启示 · 这就是 context engineering 存在的全部理由

上面的 4 个机制 · 直接对应 2.4 你将看到的 4 个核心技术:

  • attention dilutioncompaction · 压缩历史(减少 token 总数 · 让单 token 的 attention 浓度升高)
  • positional 退化 + recency biasstrategic positioning · 关键 instruction 放头尾(避开 U 谷底)
  • distractor 攻击RAG 里的 re-ranking(只塞最相关的 chunks · 不要”召回多就好”)
  • attention dilution 的极端subagents(把子任务隔离到独立 context · 主 context 只看摘要)

一句话总结 · “为什么 context 越长越蠢” 不是 bug · 是 attention 机制 + 训练长度 + 因果掩码三件事的合力。Context 工程的所有技术 · 本质上都在对抗这三件事

2.4 Context 工程的 4 个核心技术

📜 compaction · 压缩
把旧对话浓缩

Claude Code / Cursor 跑久了 · 自动总结前 50 轮 · 用一段摘要替换原始消息。原 30K 变 3K · 释放 27K 给后续工作。
Claude Code 的 /compact 命令 = 手动触发这个

🧠 subagents · 分担
让子任务独立 context

把”搜文件 / 跑测试 / 改代码”派给 subagent · 主 context 只看它们的总结。Claude Code 的 Agent tool · Cursor 的 background agents · 都是这个模式。

💾 memory · 跨会话记忆
让 context 跨”会话”延续

ChatGPT Memory · Claude Projects · Cursor Rules —— 把用户反复需要的偏好/项目背景抽出来·下次自动加进 context。
不再每次解释”我用 TypeScript 不用 JavaScript”。

🎯 strategic positioning · 位置工程
把关键内容放在头尾

直接对抗 2.3 的 U 曲线 —— 关键 instruction / 当前任务 / 输出格式约束放最前面或最末尾·而非中间。
Anthropic 官方:long documents 放 system prompt 头部 · 用户问题始终在最后一条 message。

2.5 实际应用 · Claude Code 怎么管 context

📋 一个真实 agent 的 context 策略
CLAUDE.md · 项目级 system prompt · 自动加载 · 全程在 context 里
@-mentions · 用户指明哪些文件加进 context · 而非默认全加
Agent tool · 把”搜索”派给 subagent · 主 context 只收摘要
/compact · 用户手动触发对话压缩
MCP tools/list 缓存 · 工具 schema 只发一次 · 不重复

启示 · 一个工程级 AI 应用的”性能” · 80% 取决于 context 怎么组装 · 20% 取决于用了什么模型。

2.6 当 5 招都不够时 · 通向 RAG 的桥

把 2.5 的 5 招摆在一起看 · 它们各有专属的适用范围 · 也各有共同的盲点:

解决什么局限
CLAUDE.md项目级常驻知识静态 · 太大就爆 system prompt
@-mentions用户精选文件需要用户知道该 @ 哪个文件
Agent tool子任务隔离 contextsubagent 也得知道读哪个文件
/compact压缩历史对话不创造新内容 · 只能减
MCP 缓存减 schema 重复传输不解决知识总量问题

共同盲点 · 这 5 招处理的全是「已经在 context 里」的东西 · 或者「用户/agent 主动知道该读什么」的东西。

但真实业务场景里的知识 · 几乎都是反过来的 ——

📚
巨量

公司 500 页 PDF + 10,000 个 confluence 页面 + 3 年 Slack 历史 · 装不下 CLAUDE.md

🌀
动态

用户每次问的相关知识子集完全不同 · 没法事先决定该加载什么。

🤷
未知

用户问之前 · 用户和 agent 都不知道该 @ 哪一页 / 读哪个文件。

这时候 5 招挨个失效:CLAUDE.md 装不下 · 用户不知道该 @ 谁 · subagent 不知道读哪个 · /compact 没东西可压 · MCP 缓存不管知识总量。

你需要的是「第 6 招」 —— 在用户问问题的那一刻 · 让系统自动从海量知识里搜出最相关的几小段 · 实时塞进 context。

🎯 RAG 在 context 工程光谱里的位置

RAG = context 选择算法的「自动化版本」

Level 2 的 5 招都是人工选该把什么塞进 context(用户 @-mention · agent 决策 · system prompt 设计)。RAG 是把这个「选什么进 context」的决策交给算法·而且是查询时刻的实时决策。

2.5 五招本质
”我已经知道该把什么塞进 context · 帮我塞进去 · 帮我精简”
RAG 本质
”我不知道该塞什么进 context · 你帮我从这堆资料里搜

💡 看清楚了 —— RAG 不是某种新机制 · 它继续做的还是 context 工程那件事 · 只是把”选什么进 context”从手工变成了向量搜索。理解了这一点 · 下面所有 RAG 技术细节都只是这个核心算法的工程实现。

💡 想象一下 · 图书馆 vs 图书管理员

公司知识库 500 页文档 · 你问”去年 Q3 营收”。两种方式:

不用 RAG · 像找资料时把整个图书馆搬到你办公桌上 —— 500 页全堆桌前 · 你淹没在和”营收”无关的章节里 · 找不着北 · 而且 context 早就爆了。

用 RAG · 是先派图书管理员—— 她浏览全部 500 页 · 帮你拣出 3 段最相关的 · 只把这 3 段递到你桌前。你看见的全是”营收”相关 · 干净利落。

所有”对话你的 PDF / 公司知识库”产品 · 它们背后那个”图书管理员”·就是 RAG。


Level 3 · RAG · 让 AI 动态查正确的知识

3.1 原理 · 看动画

带着刚才的揭示再看:当知识总量 > context 预算 · 用向量相似度搜索查询时刻自动 context 选择 —— 具体怎么做?看一遍:

🔍 retrieval-augmented generation

离线一次:文档 → 切片 → 向量化 → 存数据库。每次查询:问题也变成向量 → 找最近邻 chunks → 塞进 context 让 AI 看着真实资料回答。

把这个流程对应回上一节的揭示 —— “切片 + 向量化 + 存库” = 把知识预处理成可搜索形式·“找最近邻” = 查询时刻的自动 context 选择·“塞进 context” = 让模型用真实资料而非记忆回答。RAG 解决的”知识截止”和”私有数据”两个表面问题 · 其实都是同一个根本问题:当知识量超过 context · 怎么动态选

3.2 RAG 的 4 个关键技术 · 实操层

✂️ chunking · 切片策略
切多大 · 怎么切

切太小 → 上下文丢失。切太大 → 召回不准 + 浪费 token。
常用:300-800 token / chunk · 重叠 10-20% · 按语义边界(段落 / 章节)切。

🧮 embedding · 向量化模型
把文字压成向量

用 embedding 模型(OpenAI text-embedding-3 · Cohere embed · BAAI bge)把每段 chunk 变成 1024-3072 维向量。
质量直接决定召回准不准

🔀 hybrid search · 混合检索
向量 + 关键词

只用向量召回会丢”精确关键词”。最佳实践:向量 + BM25 关键词检索结合 · 用 RRF 算法合并排名。
召回率提升 10-30%。

🎯 re-ranking · 重排
先粗召后精排

第 1 步召 50 个 chunks → 用 cross-encoder 模型(Cohere Rerank · BAAI bge-reranker)精排 → 取 top 5 给 LLM。
每个生产 RAG 都该有这一步

3.3 真实问题 · 什么时候不该用 RAG

小数据(< 50 页) → 直接塞进 context · 别 RAG
低频访问(一次性查询) → 直接塞进 context
精确事实(数字 / 公式 / 引用) → 用 SQL 或 function call · 别 RAG
需要"全局推理" → RAG 切片会丢上下文 · 用 long-context 模型直接读

⚠️ RAG 不是万能的 —— 它适合”大语义库 · 模糊查询”的场景。其他场景往往更直接的方案更好。


三者协同 · 现代 AI app 的完整决策树

学完 module B/C/D · 你现在能区分何时用什么了 · 这是工程师才有的判断力:

🎯 RAG vs Function Calling vs MCP · 怎么选
🔍 用 RAG · 当…
  • 数据是大量文本·语义模糊查询
  • 查询模式:“找相关的”
  • chunk-level 信息就够回答
  • 不需要执行动作
🔧 用 Function Calling · 当…
  • 需要精确结果(数据库查询 · API 调用)
  • 需要执行动作(写文件 · 发邮件)
  • schema 是结构化的
  • 就当前 AI app 用 · 不分享
🔌 用 MCP · 当…
  • 同样的工具多个 AI app 都要用
  • 想跨 Claude / Cursor / ChatGPT 共用
  • 第三方服务(GitHub · Slack)
  • 希望加入生态 · 一次写多处用

三者关系 · MCP 是「Function Calling 的标准化包装」· RAG 是「Tool Call 的一种特例(query knowledge base)」。所有”AI 能做事”的产品最终都是:选模型 + prompt 工程 + context 工程 + 这三个组件的某种组合

💡 学完模块 D 你应该能 —— 1) 看到一个 AI 应用 · 一眼说出它用了 prompt 工程的哪几招 2) 看到一个聊久了变笨的 AI · 能猜出是 context 没管好 3) 给自己的产品做 AI 集成时 · 第一反应不是”调 OpenAI API” · 而是”我的 context 该怎么组装”。


模块 E · Multi-Agent 协作 · 让每个 agent 看少一点

承上启下 —— Module D 把 1 个 agent 的 context 工程讲透了:怎么压缩 · 怎么位置 · 怎么避开 U 曲线。但即便如此 · 单 agent 上下文总有上限 · 越复杂的任务越容易撞墙。怎么破?让 1 个 agent 变成多个 · 每个看少一点。这就是 multi-agent 协作。

1 · 单 agent 的天花板 · 为什么需要多个

回忆 Module D 的两个铁律:

铁律 1 · context 越长越蠢
Lost in the Middle

Liu et al. 2023 · U 曲线 · 关键信息在中段时准确率比头尾低 20-30%。

含义:一个 agent 揽下「搜索 + 阅读 + 推理 + 输出」全套·context 拥堵 · 中段信息被忽略。

铁律 2 · attention 被稀释
softmax 物理稀释

所有 token 的 attention 加起来 = 1。context 从 8K → 200K · 每个 token 平均 attention 稀释 25 倍

含义:什么都管的”全能 agent”·关键工具的 schema 和无关历史一起竞争注意力 · 决策质量塌方。

破局思路 · 既然「context 满 → 性能差」是物理限制 · 那就让每个 agent 都只看自己那一小块·让总系统的智能由「多 agent 的协作」涌现出来。

💡 想象一下 · 没有任何医院让全科医生做心脏手术

任何一家三甲医院 · 都不会让同一个医生包办:诊断 + 麻醉 + 主刀 + 术后护理 + 复诊。哪怕这个人理论上”全都懂”。

因为现代医学早就明白 —— 每个角色的 context 不同:外科盯术中风险 · 麻醉师盯生命体征 · 护士盯术后恢复 · 各看一摊 · 互不打扰 · 这样最稳。

Multi-agent 就是 把这条人类工程界 100 年的经验搬到 AI 世界 —— 把”一个全能选手”拆成”一队专精专家”。不是 AI 的新发明 · 是它学了人类怎么搞复杂系统。

一句话 · Multi-agent = context 工程从「单 agent 内」升级到「跨 agent 系统级」·所有 Module D 学的道理 · 在这里继续生效。

2 · 看动画 · 单 agent vs orchestrator-workers

下面这个动画把同一个任务 · 一边用单 agent · 一边拆给一个编排 + 4 个专精 worker · 视觉对比 context 占用和准确率 ——

🧬 single agent vs multi-agent · context 对比

数据来自 Anthropic Research System (2025) 的内部实测:同一类复杂研究任务 · multi-agent 比单 agent 准确率提升约 90%·但 token 消耗约 15×结论:质量/成本严重不对称 · 复杂任务值得换 · 简单任务别瞎用

3 · 5 种协作模式 · Anthropic 钦点

Anthropic 在 2024.12 的官方博客《Building effective agents》里把 multi-agent 系统拆成 5 种正交模式。它们是任何复杂 agent 系统的”乐高积木” —— 真实产品基本是这 5 种的组合:

🧬 anthropic 钦点的 5 种 multi-agent 模式
点切换 · 看每个模式的数据流 + 适用场景 + 伪代码
🔗Chaining · 串行工作流 · 路径固定
inputABCoutputdeterministic · 每步顺序固定
把任务拆成顺序步骤 · 上一步输出 = 下一步输入
🎯 适用场景
任务有明确顺序 · 每一步都需要前一步的结果 · 不需要 LLM 做「下一步选什么」的决策。
📋 例子
翻译 → 校对 → 润色 · 三个独立 LLM 调用串成 pipeline。
💻 伪代码
step1 = llm("翻译: " + text)
step2 = llm("校对: " + step1)
step3 = llm("润色: " + step2)
return step3

💡 Workflow vs Agent 的关键区分 —— Anthropic 把上面 5 种分成两大类:workflow(路径固定 · 适合可预测任务 · 前 3 种)和 agent(LLM 动态决策 · 适合开放任务 · 后 2 种)。能用 workflow 别用 agent·workflow 更可控 · 更便宜 · 更可调试。

4 · 为什么这样表现更好 · 用 Module D 的工具逐条解释

Module D 的发现Multi-agent 怎么解决
U 曲线 · 中段被忽略每个 agent 的 context 变短 · 都落在 U 曲线左半部分
attention 稀释 · 200K 每 token 1/200K每个 agent 40K · 每 token attention 浓度 ×5
distractor 攻击 · 无关上下文抢注意每个 agent 的 context 里只有相关信息 · 没有别的 worker 的中间产物
recency bias · 远 token 被遗忘每个 agent 的对话短 · 远 token 没那么远

本质·multi-agent 不是新魔法·它是把 Module D 的 4 条 context 物理规律用系统架构翻过来对抗 —— context 工程从「prompt 层」上升到「系统层」。

Anthropic 自己的实测 · 数字会说话

📊 anthropic research system · 2025
→ Anthropic 用 Claude 搭了一个 orchestrator-workers 系统做”深度研究”任务(比如 “整理 Q3 中美 AI 监管动态”)
→ 同任务对比单 agent vs multi-agent · multi-agent 准确率提升 90.2%
→ token 消耗约 15× 单 agent·但对复杂研究任务这个交换”值”
→ 失败模式 · subagents 不共享 context · 容易”重复造轮子”或”漏掉同事的发现”·需要 orchestrator 显式协调

📄 Anthropic 工程博客 · How we built our multi-agent research system (2025)

5 · 主流框架 · 你能立刻上手的几个

🧠
Anthropic 原生
Claude Code · Task tool

Claude Code 内置的 Task 工具 · 直接 spawn subagent · 主 context 只看 subagent 总结。orchestrator-workers 模式

你已经在用了 · 不用装。

📊
LangChain 系
LangGraph

把 multi-agent 表达成状态机 · 节点 = agent · 边 = 转移条件。最适合可视化·复杂分支。

langchain-ai/langgraph

👥
角色驱动
CrewAI

用「角色」定义 agent:researcher · writer · editor。最易上手 + 最适合非工程师·写 30 行配置就能跑起来。

crewAIInc/crewAI

💬
微软
AutoGen

Microsoft Research 出品 · agent 通过对话协作 · 支持 human-in-the-loop。研究界用得多。

microsoft/autogen

🐝
OpenAI
Swarm

OpenAI 2024.10 发布 · 极简 · 主打”agent handoff” —— 一个 agent 把对话权移交给另一个。

openai/swarm

🏢
软件公司模拟
MetaGPT

把一整个”软件公司”作为 agent 集合:PM · 架构师 · 工程师 · QA。典型 SOP 化 workflow

geekan/MetaGPT

6 · 案例研究 · Claude Code 的多 agent 协作

理论说得再多 · 不如看一个真实运行的系统。Claude Code 自己就是一个 multi-agent orchestrator · 而且把上面 5 种模式都用过。下面把它的协作方式完整解剖给你看 —— 这是你今天用的工具 · 不是抽象例子。

6.1 真实场景 · 一个开发任务的拆解

假设你给 Claude Code 发指令:“帮我加个 dark mode 切换到 settings 页”。它不会一口气把整个项目读完 + 一个 prompt 写完所有改动 —— 它会分工

📋 main agent 看到任务后的内部流程
读取 CLAUDE.md:拿到项目级 system prompt(“用 TypeScript · React + Tailwind · 测试用 vitest”)
并行派出 2 个 subagentExplore 找相关文件 + code-architect 设计方案
各自跑 5-30 秒·把内部 32K 探索 token 压缩成 1.4K 总结返回
main 拿到两份总结·直接用 Edit / Write 实现具体改动
实现完成后派出 code-reviewer:检查代码质量 · 拿到 “ship it” 或 “fix X”
任务完成

6.2 看动画 · Task tool 派出 subagent 的完整流程

下面这个动画把上面文字描述的 6 步全部演一遍 —— 包括最关键的 summary-only return 机制:

🧭 claude code · task tool · 完整协作流程

动画里看到 main 把 Explore 和 code-architect 并行派出·subagent 各自在独立 40K context 里工作 · 但只把总结返回 main·这就是 Claude Code 不爆 context 的核心。

6.3 5 大设计哲学 · 工程细节

把动画里看到的设计选择 · 拆成 5 条可落地的原则:

① context 隔离
每个 subagent 自己的 context · 不共享

Explore 走的 grep / read 历史 · 不进 main 的 context。
code-architect 的思考过程 · main 也看不到。

对应 Module D · 直接对抗 attention 稀释 · 每个 agent 都在自己的 U 曲线左半部分。

② summary-only return
subagent 只把”结论”还回 main

内部 32K 跑完 · 返回的可能就 500-1500 tokens · 把”我读了 50 个文件 · 试了 3 种思路”压缩成「在 X 处用 Y 方法」

这是最重要的一条·没有这个机制 · multi-agent 就退化成”context 总和更大的单 agent”。

③ 并行 dispatch
一次 Task() 调用塞多个 subagent

Claude Code 一条消息里可以发 Task([“Explore”, “code-architect”]) · 两个 subagent 同时启动·节省 wall-clock 时间。

实战·复杂任务 main 通常一开始就 fan-out 3-5 个 探索类 subagent · 全部跑完再汇总。

④ 专精 agent
每个 agent 自己的 system prompt + 工具子集 + 模型

Explore · 只给 Read / Grep / Glob · 不给 Edit · 防误改文件。
code-reviewer · 跑 opus · 因为审查需要最高推理。
code-simplifier · 跑 haiku · 因为机械重命名不需要复杂推理。

工具子集 + 模型选择 · 让每个 agent 都恰好够用·省钱 + 安全。

⑤ worktree 隔离
写文件型 subagent 并行时 · 各跑各的 git worktree

并行派 3 个 subagent 改不同文件 · 它们会互相覆盖·解决方法:Task(…, isolation: “worktree”) · Claude Code 给每个 subagent 创建独立 git worktree · 跑完才合并。
失败了 worktree 自动丢弃·不污染主分支。

这是 Claude Code 独有的工程细节 · 真做过并行 agent 系统的人都踩过文件冲突的坑 · 这是解药。

6.4 配置示例 · 自定义你自己的 subagent

Claude Code 不只有内置 subagent · 你可以在 .claude/agents/<name>.md定义自己的。下面是一个典型配置:

📝 .claude/agents/security-auditor.md
---
name: security-auditor
description: 审查代码安全性 · OWASP top 10 + 业务逻辑漏洞
tools: [Read, Grep, Glob, WebFetch]  # 只读 · 不许改
model: opus                          # 需要深度推理
isolation: none                      # 不改文件 · 不需要 worktree
---

# 你的职责

你是一个 senior security engineer。审查给定的代码或 PR ·
找出可能的安全问题 · 但不要修复 · 只报告。

## 检查清单

1. SQL injection / NoSQL injection
2. XSS / CSRF / clickjacking
3. 鉴权 / 授权漏洞
4. 敏感信息泄露
5. 业务逻辑层面的滥用 (race · IDOR · ...)

## 输出格式

返回 JSON · 字段 = { severity, location, description, suggested_fix }

定义好后 · 你(或者其他 agent)可以这样调用 ——

Task({
description: "Audit auth flow",
prompt: "审查 src/auth/ 里所有处理 token 的逻辑 · 重点看 race condition",
subagent_type: "security-auditor"
})

6.5 决策 · 什么时候 main 自己干 · 什么时候派 subagent

不是所有事都要派出去 —— 滥用 subagent 会拖慢任务、增加 token 成本。Claude Code 内部的经验法则:

✅ 派 subagent
  • 探索式·grep / find / 搜文档 · 大量 token 不需要进主 context
  • 独立可验证·任务有明确的「成功 / 失败」信号
  • 需要不同视角·审查 · 评估 · 安全分析
  • 可并行·能和主任务的其他步骤同时跑
❌ main 自己干
  • 改 1-3 个文件的简单 edit·派出去不值得
  • 需要和用户实时交互·subagent 无法问澄清
  • 高度依赖最新 context·派出去会拿到过时信息
  • 总 token 预算小·subagent 启动开销不划算

💡 核心判断 · 「这块工作的中间过程 · main 需要看到吗?」需要 → 主 agent 自己干 · 不需要 → 派 subagent 让它自己消化·只把结论还回来。

7 · 决策树 · 什么时候才该上 multi-agent?

Anthropic 在 “Building effective agents” 的核心建议 ——

能不上就别上。先试单 LLM 调用 · 再试 workflow(前 3 种模式 · 路径固定) · 实在不行才上 agent / multi-agent。复杂度的代价是真金白银的延迟 · token · 调试痛苦。

🪜 什么时候升级 · 决策阶梯
单 LLM 调用 · 任务能用 1 个 prompt + 输出格式完成 · 选这个
2-3×workflow(chain / routing / parallel) · 任务有清晰固定的步骤 · 不需要 LLM 决策路径 · 选这个
~5×single agent + tools(Module B 的 agent loop) · 任务路径不可知 · 需要 LLM 动态决策下一步 · 但工具集还能塞进单个 context · 选这个
10-15×multi-agent(orchestrator-workers / evaluator-optimizer) · 任务太复杂 · 单 agent context 装不下 + 不同子任务要不同专家 · 才上这个

💰 数字是相对成本(token + 延迟 + 调试时间)。最常见错误:用 multi-agent 解决一个 workflow 就能搞定的问题 · 烧钱 + 慢 + 难调。

8 · 资源 · 想深挖去哪

🏛 anthropic 必读
🛠 框架文档
📖 经典论文 / 文章
  • Park et al. 2023 · Generative Agents · multi-agent 模拟开山作
  • Wu et al. 2023 · AutoGen 论文
  • Anthropic Customer Stories · multi-agent 真实生产案例
🎯 实操起手 3 步
  • 1. 读 Anthropic「Building effective agents」
  • 2. 在 Claude Code 用 Task 工具体感一次 spawn subagent
  • 3. 用 CrewAI 30 行配置跑一个 multi-agent demo

9 · 一句话总结模块 E

🎯 把整条认知链路串起来

Module A:LLM = 5 步心跳
Module B:function calling + agent loop · LLM 能用工具 + 循环
Module C:MCP 把工具世界标准化
Module D:怎么管 1 个 agent 的 context
Module E:当 1 个不够 · 用 N 个 agent · 让每个看少一点

所有现代复杂 AI 系统(Claude Research · Cursor Composer · Devin · Manus · ChatGPT Pro Mode …)都是这 5 个模块拼出来的。没有新魔法 · 只有这些原理的不同组合

💡 学完 Module E 你应该能 —— 1) 看到任何复杂 AI 系统 · 能拆解成 5 种 Anthropic 模式之一 2) 知道 multi-agent 不是免费午餐 · 用之前先问”workflow 行不行” 3) 自己设计 AI 产品时 · 第一句话不再是”给一个 prompt” · 而是”我的 agent 怎么分工”。

⏭ 下一步 · 模块 E → 模块 F · 视角切换

A 到 E 全是”造 AI 应用”的工程视角 —— 模型怎么算 · 工具怎么接 · 协议怎么定 · 上下文怎么管 · agent 怎么分工。

但 AI 时代真正的赢家·不止是会做工程的 —— 是会选对问题去做的人。Cursor 不是”AI 插件做得更好”赢了 GitHub Copilot · 是”我们要造一个生而 AI 的 IDE”这个判断赢了。

最后一个模块换个视角:从「怎么造」→「造什么」。看看在 AI 时代 · 哪些产品形态、哪些工作模式·正在被重新洗牌。


模块 F · AI 时代的产品和工作

故事钩子 —— 4 个 MIT 应届毕业生(Michael Truell · Sualeh Asif · Arvid Lunnemark · Aman Sanger · 2022 届)做了 Cursor · 不和微软的 GitHub Copilot 比”AI 插件做得好” · 而是说:“我们要造 AI 长成的 IDE” · 短短几年 · 母公司 Anysphere 估值达到数百亿美元区间·史上增长最快开发工具之一。

当前 AI 世界全景 · 模型 + 产品

Cursor 只是众多 AI 时代产品之一。在开始想”你做什么”之前 · 先把全景看一遍 —— 哪些模型值得用 · 哪些产品已经做出来 · 你的想法在什么坐标里。

🌍 AI 全景 · 模型

闭源旗舰 · 4
🤖
ChatGPT / GPT-5
OpenAI
🧡

通用对话 · 编程 · 写作

💡 最广为人知 · 生态最大

🧠
Claude
Anthropic
🧡

编程 · 长文档 · 推理

💡 代码能力领先 · 安全性强

Gemini
Google
🧡

多模态 · 长 context · 搜索

💡 context 最大(2M+ token)· 集成 Google

🥟
Doubao 豆包
ByteDance
💛

中文场景 · 国内市场

💡 中国用户数第一 · 字节生态绑定

开源主力 · 3
🦙
Llama
Meta
💚

自部署 · 隐私场景

💡 开源最强 · 可自由微调

🐳
DeepSeek V3
DeepSeek
💛

编程 · 数学 · 通用

💡 中国开源黑马 · 性价比极高

🌊
Qwen 通义
Alibaba
💚

中文场景 · 通用

💡 中文最强开源 · 多尺寸可选

推理模型 · 3
🎓
o3 / o4
OpenAI
❤️

数学 · 复杂逻辑 · 科研

💡 思考很久再答 · 慢但准

💭
Claude Extended Thinking
Anthropic
❤️

复杂代码 · 长链推理

💡 可控的"思考时长"

🦉
DeepSeek-R1
DeepSeek
💚

数学 · 代码推理

💡 开源推理模型 · 比肩 o1 · 引爆全球

图像生成 · 4
🎨
Midjourney
Midjourney
🧡

艺术创作 · 概念图

💡 美学水准最高 · Discord 起家

🖌
DALL·E 3 / GPT-Image
OpenAI
🧡

通用绘图 · 指令理解

💡 集成 ChatGPT · 指令最听话

🌅
Flux
Black Forest Labs
💚

写实 · 自部署

💡 开源最强 · SD3 团队出走作

🌙
Jimeng 即梦
ByteDance
💛

中文场景 · 国内 C 端

💡 字节系国民级图像产品 · 抖音同源

视频生成 · 8
🎬
Sora 2
OpenAI
❤️

电影感 · 长时长

💡 第一波"AI 视频质感"的引爆者

📽
Veo 3
Google DeepMind
❤️

高保真 · 同步音轨

💡 集成 Gemini · 首批支持视频+音频同步

🎞
Runway Gen-4
Runway
🧡

影视后期 · 创作者

💡 AI 视频老兵 · 工具链最完整

🌱
Seedance 1.0
ByteDance
🧡

电商 · 短视频 · 剪映集成

💡 字节火山引擎旗舰 · 长镜头一镜到底

🍃
Kling 可灵
Kuaishou
💛

中文创意 · 物理仿真

💡 中国市场份额第一 · 快手出品

🌊
Hailuo 海螺
MiniMax
💛

人物动作 · 表情细节

💡 物理建模强 · 人物连贯性好

🐉
Hunyuan Video
Tencent
💚

自部署 · 大模型微调

💡 13B 参数开源 · 唯一开源旗舰

🎭
Wanxiang 通义万相
Alibaba
💛

电商素材 · 商品视频

💡 阿里电商场景深度定制

音频生成 · 3
🎤
ElevenLabs
ElevenLabs
🧡

语音克隆 · 多语种配音

💡 业界领先的拟人语音

🎵
Suno
Suno
💛

歌曲生成

💡 一句话生成完整歌曲

🎷
Udio
Udio
💛

高质量音乐

💡 Suno 最强对手 · 音乐人评价高

💰 价格:💚 免费💛 便宜🧡 中等❤️ 贵
// 选模型 3 个权衡:能力 vs 速度 vs 价格 · 大部分场景中等模型够用 · 难题用推理模型 · 私有数据用开源

你的想法适合 AI 吗 · 4 特征自测

🎯 AI-shaped problem · 4 特征自测

⚡ 快速试一个想法

📝 正在评估

(自定义)

🌫

特征 1

输出有"模糊性"吗?

有没有唯一正确答案?

🔍

特征 2

验证比生成便宜吗?

你能快速判断 AI 输出好不好吗?

↩️

特征 3

错误可以恢复吗?

出错了能重来 / 撤销吗?

特征 4

用户更要"快"还是"准"?

速度 vs 精度 用户更看重哪个?

// 4 个特征都满足 · 你找到了一个 AI-first 产品的种子。 2-3 个满足 · 仍可做 · 但要谨慎设计。0-1 个满足 · 别硬塞 AI,可能不是 AI 适合解决的问题。

AI-first vs AI-bolted-on · 一个关键二分

🌱
推荐
AI-first(生而 AI)

没有 AI 就根本不存在的产品。AI 是灵魂 · 不是装饰。

代表:
CursorPerplexityMidjourneyClaude Code
🔩
避免
AI-bolted-on(缝上去)

老产品塞一个 AI 按钮。AI 是装饰 · 不用也行 · 长期被 AI-first 取代。

代表:
Word + CopilotPhotoshop + AI

AI 时代工作的 3 大转变

🔄
转变 1
生产 → 验证

你的价值不再是”写” · 是判断

📥
转变 2
写代码 → 管 context

70% 时间在给 AI 喂资料

👥
转变 3
1 工人 → 1 + N agent

一个人指挥多个 AI 同时干活


🎯 期末 · 你的 AI 时代行动表

概念自测 · 你都懂了吗

解释 token 是什么 · 为什么 AI 数不出 strawberry 的 r

什么是 hallucination · 为什么会发生

Function Calling 解决了什么问题

Agent Loop 的 4 个步骤是什么

推理模型和普通模型有什么不同

AI-first 和 AI-bolted-on 的区别

RAG 是什么 · 它解决什么问题

AI 时代工作的 3 大转变是什么

你的行动表

✍️ 1 · 你工作 / 学习里最痛苦的重复环节是?
✍️ 2 · 它符合 AI-shaped problem 几个特征?
输出模糊
验证便宜
错误可恢复
速度优先
✍️ 3 · 下周你打算试一个 AI 工具吗?哪个?
ChatGPTClaudeCursorClaude CodePerplexityMidjourney
✍️ 4 · 你的”支点”是什么?(AI 是杠杆 · 杠杆放大的是支点)

🎬 收尾 · 你建立了 AI 时代的全景认知

📚 你今天学会的所有概念
A · LLM 基础 · 5 步心跳 · Token · Context Window · Knowledge Cutoff · Hallucination · Temperature
B · 能力进化 · function calling 6 步真相 · agent loop · think→act→observe
C · MCP 协议 · M×N → M+N · 三角色 · 5 类原语 · 8 步 JSON-RPC 报文
D · 3 大基本概念 · Prompt 工程 · Context 工程 (Lost-in-Middle · attention 稀释 · 4 机制) · RAG
E · Multi-Agent 协作 · 5 种 Anthropic 模式 · 决策阶梯 · 主流框架
F · 产品时代 · AI-shaped problem · AI-first vs AI-bolted-on · 3 大工作转变
🚀 接下来

L7 · 实战 · 真正用 AI 写代码
Karpathy 自治度滑块 · Anthropic workflow→agent 阶梯 · Context 工程深入

L8 · 造工具 · 你也成为故事的一部分
自己写 MCP server · 自己写 Skills · 期末项目展示

推荐资源 · 深挖故事