feat(ai-protocols): add MCP and A2A protocol demos and documentation
docs(ai-protocols): update AI protocols page with visual demos and detailed explanations style(git-demos): improve responsive design and layout for git visualization components refactor(ai-history): simplify and clean up demo components chore: update config to register new AI protocol components
This commit is contained in:
@@ -1,348 +1,154 @@
|
||||
# AI 简史与核心概念
|
||||
> 💡 **学习指南**:本章节通过交互式演示,带你回顾 AI 如何从“只会算数的机器”进化成“能写诗的艺术家”。
|
||||
>
|
||||
> 我们将聚焦于三次核心的思维跃迁:从**教它规则**,到**让它模仿**,最终实现**让它创造**。同时,我们也会梳理关键的历史节点,带你理清技术发展的脉络。
|
||||
---
|
||||
title: 'AI 简史:从符号逻辑到千亿参数大模型'
|
||||
description: 'AI 发展 70 年,经历了三次浪潮、两次寒冬,最终融合为今天的大模型时代。'
|
||||
---
|
||||
|
||||
# AI 简史:从符号逻辑到千亿参数大模型
|
||||
|
||||
AI 发展 70 年,经历了**三次浪潮、两次寒冬**,从符号主义的逻辑推演,到连接主义的神经网络,再到行为主义的强化学习,最终融合为今天的大模型时代。以下是清晰的发展脉络与关键里程碑。
|
||||
|
||||
<AiEvolutionDemo />
|
||||
|
||||
### 关键里程碑 (Timeline)
|
||||
---
|
||||
|
||||
<AIEvolutionTimelineDemo />
|
||||
## 一、理论奠基与符号主义的诞生(1940s-1950s)
|
||||
|
||||
## 0. 引言:机器能思考吗?
|
||||
### 核心人物与理论
|
||||
|
||||
1950 年,艾伦·图灵提出了一个问题:**"机器能思考吗?"**
|
||||
- **1943 年**:沃伦・麦卡洛克与沃尔特・皮茨提出 **MP 神经元模型**,首次用数学描述神经网络
|
||||
- **1950 年**:艾伦・图灵发表《计算机器与智能》,提出**图灵测试**,定义机器智能标准
|
||||
- **1956 年**:**达特茅斯会议**,约翰・麦卡锡首次提出"人工智能"概念,标志 AI 学科正式诞生
|
||||
|
||||
为了回答这个问题,人类尝试了三种截然不同的解法:
|
||||
::: tip 符号主义兴起
|
||||
**符号主义**(逻辑主义/计算机学派)主张 **智能 = 符号推理**,将知识编码为符号,通过逻辑规则推导解决问题,是**自上而下**的智能模拟路径。
|
||||
:::
|
||||
|
||||
1. **教它规则**(逻辑):像教小孩一样,把所有规则写给它。
|
||||
2. **让它模仿**(概率):给它看大量数据,让它自己找规律。
|
||||
3. **让它创造**(生成):不仅能分类,还能根据理解创造新东西。
|
||||
### 早期突破
|
||||
|
||||
本教程将带你亲手体验这三个阶段。
|
||||
- **1956 年**:纽厄尔和西蒙开发**逻辑理论家**(Logic Theorist),首个能证明数学定理的 AI 程序
|
||||
- **1958 年**:麦卡锡发明 **LISP 语言**,成为 AI 研究的重要工具
|
||||
- **1959 年**:乔治・德沃尔与约瑟夫・恩格尔伯格开发首台**工业机器人**,标志 AI 从理论走向应用
|
||||
|
||||
---
|
||||
|
||||
## 1. 符号主义:教机器"守规矩"(20世纪50年代 - 80年代)
|
||||
## 二、符号主义黄金时代与第一次 AI 浪潮(1960s-1970s)
|
||||
|
||||
早期的 AI 科学家认为:智慧就是**逻辑推理**。
|
||||
只要我们把世界上的所有知识都写成 `If...Then...` 的规则,机器就能像人一样聪明。
|
||||
### 专家系统的辉煌
|
||||
|
||||
这被称为**专家系统**或**符号主义人工智能**。
|
||||
符号主义在**专家系统**领域取得巨大成功,通过将领域专家知识编码为规则库,解决特定领域复杂问题。
|
||||
|
||||
### 1.1 什么是"基于规则"?
|
||||
| 时间 | 标志性成果 | 意义 |
|
||||
| --- | --- | --- |
|
||||
| **1965 年** | Dendral 系统 | 首个专家系统,用于化学分子结构分析 |
|
||||
| **1977 年** | MYCIN 系统 | 诊断血液感染的专家系统,准确率达 69% |
|
||||
| **1980 年** | XCON 系统 | 为 DEC 公司配置计算机,节省 4000 万美元/年 |
|
||||
|
||||
就像教小孩:
|
||||
### 第一次 AI 寒冬(1974-1980)
|
||||
|
||||
- 如果看到红灯,就停下。
|
||||
- 如果下雨,就带伞。
|
||||
::: warning ❄️ 第一次 AI 寒冬
|
||||
符号主义局限性显现:
|
||||
- **知识获取瓶颈**:规则需人工编写,无法自动获取
|
||||
- **脆性问题**:难以处理例外情况,稍微偏离规则就崩溃
|
||||
- **计算能力不足**:当时的硬件无法支撑复杂推理
|
||||
|
||||
在代码中,这表现为:
|
||||
|
||||
```javascript
|
||||
// 基于规则的 AI 示例
|
||||
function decideTrafficLight(color) {
|
||||
if (color === 'red') {
|
||||
return 'stop'
|
||||
} else if (color === 'yellow') {
|
||||
return 'caution'
|
||||
} else if (color === 'green') {
|
||||
return 'go'
|
||||
} else {
|
||||
return 'unknown'
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 1.2 专家系统的巅峰:MYCIN
|
||||
|
||||
1970 年代,斯坦福大学开发的 MYCIN 系统能诊断血液感染,准确率达到专家水平。
|
||||
|
||||
它的工作原理是:
|
||||
|
||||
```lisp
|
||||
// MYCIN 系统的规则示例 (伪代码)
|
||||
(IF
|
||||
(organism IS gram-positive) AND
|
||||
(morphology IS coccus) AND
|
||||
(growth-chains IS chains)
|
||||
THEN
|
||||
(identity IS 0.7 streptococcus))
|
||||
```
|
||||
|
||||
_数据示例 (知识库格式)_:
|
||||
|
||||
```json
|
||||
// 专家系统知识库示例
|
||||
{
|
||||
"rules": [
|
||||
{
|
||||
"id": "RULE-001",
|
||||
"conditions": ["traffic_light == red", "speed > 0"],
|
||||
"action": "brake",
|
||||
"priority": 1
|
||||
},
|
||||
{
|
||||
"id": "RULE-002",
|
||||
"conditions": ["weather == rainy", "visibility < 100m"],
|
||||
"action": "turn_on_lights",
|
||||
"priority": 2
|
||||
}
|
||||
]
|
||||
// 系统按优先级依次匹配规则,遇到匹配就执行
|
||||
}
|
||||
```
|
||||
|
||||
### 1.3 交互演示:规则 vs 学习
|
||||
|
||||
下方的演示展示了两种方式的区别。
|
||||
|
||||
- **左边 (规则)**:你必须显式地写代码 `if (size > 6)`。如果世界变了(比如苹果变小了),你的代码就失效了。
|
||||
- **右边 (学习)**:你不需要写规则。你只需要给机器看一堆苹果和樱桃的数据,点击 **Train**,它自己会"悟"出一个分界线。
|
||||
|
||||
<RuleBasedVsLearningDemo />
|
||||
|
||||
### 1.4 符号主义的局限性
|
||||
|
||||
规则看起来很完美,但现实世界太复杂了。
|
||||
|
||||
<CombinatorialExplosionDemo />
|
||||
|
||||
**问题 1:组合爆炸**
|
||||
|
||||
- 试图写下"识别猫"的所有规则?不可能!
|
||||
- "有胡须"?老鼠也有。
|
||||
- "有尖耳朵"?狗也有。
|
||||
- "毛茸茸的"?兔子也是。
|
||||
- 现实世界有无限边界情况,规则永远写不完。
|
||||
|
||||
**问题 2:无法处理不确定性**
|
||||
|
||||
- 如果规则冲突怎么办?
|
||||
- 如果遇到没见过的情况怎么办?
|
||||
- 规则系统很"脆弱",缺少人类常识。
|
||||
|
||||
> ⚠️ **教训**:试图用有限规则描述无限现实,注定失败。这导致了 1980 年代的**AI 寒冬**。
|
||||
美国 DARPA 削减 AI 研究经费,AI 进入第一次低谷期。
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## 2. 连接主义:教机器"像人脑一样思考"(21世纪10年代至今)
|
||||
## 三、专家系统复兴与第二次 AI 浪潮(1980s)
|
||||
|
||||
既然规则写不完,不如换个思路:**让机器自己学**?
|
||||
科学家开始模仿人脑的结构——**神经元**。
|
||||
### 商业应用爆发
|
||||
|
||||
这就是**连接主义**的核心思想。
|
||||
- 日本"**第五代计算机计划**"(1982)推动全球 AI 投资热潮
|
||||
- 美国 DEC、IBM 等公司推出商用专家系统开发工具
|
||||
- 符号主义达到巅峰,成为 AI 领域绝对主流
|
||||
|
||||
### 2.1 人脑的启示
|
||||
|
||||
人脑有约 860 亿个神经元,每个神经元通过突触连接成千上万个其他神经元。
|
||||
|
||||
**关键发现**:
|
||||
|
||||
- 单个神经元很"笨"(只是兴奋或不兴奋)
|
||||
- 但几百亿个神经元连在一起,就产生了智能
|
||||
|
||||
### 2.2 感知机
|
||||
|
||||
1957 年,康奈尔大学的 Frank Rosenblatt 发明了感知机——这是最简单的人工神经元。
|
||||
|
||||
它的工作原理:
|
||||
|
||||
1. **接收输入**:从多个"突触"接收信号($x_1, x_2, ...$)
|
||||
2. **加权求和**:每个输入有对应的**权重**,代表重要性
|
||||
3. **激活判断**:如果总和超过某个**阈值(偏置)**,就激活(输出 1)
|
||||
|
||||
```text
|
||||
如果不带公式,怎么理解?
|
||||
|
||||
简单来说就是:打分机制。
|
||||
总分 = (输入1 × 权重1) + (输入2 × 权重2) + ... + 基础分
|
||||
如果 总分 > 0,输出 1 (激活)
|
||||
否则,输出 0 (静默)
|
||||
```
|
||||
|
||||
### 2.3 交互演示:玩转神经元
|
||||
|
||||
调整下方的**权重**和**偏置**,看看能否控制神经元的输出。
|
||||
|
||||
- **权重($w$)**:代表输入的"重要性"。$w$ 越大,这个输入对结果影响越大。
|
||||
- **偏置($b$)**:代表神经元的"门槛"。$b$ 越小,神经元越容易兴奋(输出 1)。
|
||||
### 连接主义的早期尝试
|
||||
|
||||
<PerceptronDemo />
|
||||
|
||||
### 2.4 从单神经元到深度学习
|
||||
- **1958 年**:罗森布拉特发明**感知机**,首个可学习的神经网络模型
|
||||
- **1969 年**:明斯基与佩珀特出版《感知机》,指出单层感知机无法解决**异或问题**,导致连接主义研究陷入停滞
|
||||
|
||||
单个神经元能做什么?只能做简单分类(比如判断"苹果还是樱桃")。
|
||||
### 第二次 AI 寒冬(1987-1993)
|
||||
|
||||
但如果把神经元分层连接:
|
||||
::: warning ❄️ 第二次 AI 寒冬
|
||||
- 专家系统**维护成本高昂**,难以扩展到复杂领域
|
||||
- 个人电脑崛起,第五代计算机计划失败
|
||||
- AI 市场崩盘,研究经费再次大幅削减
|
||||
:::
|
||||
|
||||
```
|
||||
输入层 (图片像素)
|
||||
↓
|
||||
隐藏层 1 (识别边缘)
|
||||
↓
|
||||
隐藏层 2 (识别形状)
|
||||
↓
|
||||
隐藏层 3 (识别物体部件)
|
||||
↓
|
||||
输出层 (识别物体)
|
||||
```
|
||||
---
|
||||
|
||||
这就是**神经网络**。当网络有很多层时,我们称之为**深度学习**。
|
||||
## 四、机器学习兴起与连接主义复苏(1990s-2000s)
|
||||
|
||||
<NeuralNetworkVisualizationDemo />
|
||||
### 符号主义衰落,机器学习崛起
|
||||
|
||||
### 2.5 神经网络是如何学习的?
|
||||
- **1997 年**:IBM **深蓝** 击败国际象棋世界冠军卡斯帕罗夫,是符号主义最后的辉煌
|
||||
- 同时,**统计机器学习**开始取代基于规则的方法,支持向量机(SVM)、决策树等算法成为主流
|
||||
|
||||
不像专家系统需要人写规则,神经网络通过**看数据**自己学。
|
||||
|
||||
**学习过程(反向传播)**:
|
||||
|
||||
1. **前向传播**:输入数据,得到预测结果
|
||||
2. **计算误差**:对比预测和真实答案
|
||||
3. **反向传播**:根据误差调整每个神经元的权重
|
||||
4. **重复**:重复几百万次,直到误差足够小
|
||||
### 连接主义的重生
|
||||
|
||||
<BackpropagationDemo />
|
||||
|
||||
_数据示例 (训练数据格式)_:
|
||||
|
||||
```json
|
||||
// 图像分类训练数据示例
|
||||
{
|
||||
"dataset": "cats_vs_dogs",
|
||||
"samples": [
|
||||
{
|
||||
"image": "cat_001.jpg",
|
||||
"label": 1, // 1 = 猫
|
||||
"features": [0.2, 0.8, 0.5, ...] // 提取的特征向量
|
||||
},
|
||||
{
|
||||
"image": "dog_001.jpg",
|
||||
"label": 0, // 0 = 狗
|
||||
"features": [0.7, 0.3, 0.9, ...]
|
||||
}
|
||||
]
|
||||
// 神经网络会自动学习:什么样的 feature 组合更可能是猫
|
||||
}
|
||||
```
|
||||
|
||||
### 2.6 连接主义的突破:2012 年 AlexNet
|
||||
|
||||
2012 年,AlexNet 在 ImageNet 竞赛中以压倒性优势夺冠,标志着深度学习时代的到来。
|
||||
|
||||
**关键因素**:
|
||||
|
||||
- **大数据**:ImageNet 提供了 1400 万张标注图片
|
||||
- **大算力**:GPU 的并行计算能力让训练深度网络成为可能
|
||||
- **新算法**:ReLU 激活函数、Dropout 正则化等技术突破
|
||||
|
||||
### 2.7 连接主义的局限
|
||||
|
||||
深度学习很强大,但也不是完美的:
|
||||
|
||||
- **黑盒问题**:虽然能识别猫,但我们说不清"它是怎么识别的"
|
||||
- **数据饥渴**:需要海量标注数据,获取成本高
|
||||
- **缺乏常识**:能识别出这是“猫”,但理解不了“猫喜欢抓老鼠”或“猫通常怕狗”这种常识关系(因为它只是在做像素级的统计匹配,而非真正的概念理解)
|
||||
- **1986 年**:鲁梅尔哈特等人提出**反向传播算法**,解决多层神经网络训练难题
|
||||
- **1997 年**:李飞飞创立 **ImageNet 数据集**,为后续深度学习提供数据基础
|
||||
- **2006 年**:杰弗里・辛顿提出**深度信念网络**,通过逐层预训练解决梯度消失问题,开启深度学习时代
|
||||
|
||||
---
|
||||
|
||||
## 3. 生成式人工智能:机器有了"创造力"(21世纪20年代至今)
|
||||
## 五、深度学习革命与连接主义主导(2010s)
|
||||
|
||||
以前的 AI 主要是**判别式**(这是猫还是狗?)。
|
||||
现在的 AI 是**生成式**(画一只猫!)。
|
||||
### 关键技术突破
|
||||
|
||||
这一切的背后,是 **Transformer** 架构的诞生。它让 AI 学会了理解上下文,学会了"举一反三"。
|
||||
<NeuralNetworkVisualizationDemo />
|
||||
|
||||
### 3.1 从"识别"到"创造"
|
||||
|
||||
传统深度学习(判别式模型):
|
||||
|
||||
- 输入:一张图
|
||||
- 输出:这是猫(概率 98%)
|
||||
|
||||
生成式 AI:
|
||||
|
||||
- 输入:一句话"一只戴着墨镜的猫"
|
||||
- 输出:生成一张对应的图片
|
||||
|
||||
<DiscriminativeVsGenerativeDemo />
|
||||
|
||||
### 3.2 Transformer:AI 的"瑞士军刀"
|
||||
|
||||
2017 年,Google 发表论文《Attention Is All You Need》(注意力机制就是你所需的全部),提出 Transformer 架构。
|
||||
|
||||
它的核心创新:**注意力机制**
|
||||
|
||||
**原理**:让模型在处理一个词时,能"关注"到句子中其他相关的词。
|
||||
|
||||
例如:"小明把苹果给了**他**的母亲"
|
||||
|
||||
当模型处理"他"时,注意力机制会让它关注到"小明",从而理解"他"指代的是小明。
|
||||
| 时间 | 突破 | 影响 |
|
||||
| --- | --- | --- |
|
||||
| **2012 年** | AlexNet 在 ImageNet 竞赛中错误率降至 15.3% | 标志深度学习超越传统方法,引爆计算机视觉革命 |
|
||||
| **2014 年** | GAN(生成对抗网络)提出 | AI 具备生成逼真图像、音频能力,推动生成式 AI 发展 |
|
||||
| **2015 年** | ResNet(残差网络)解决深层网络训练难题 | 网络层数突破 1000 层,进一步提升模型性能 |
|
||||
| **2016 年** | AlphaGo 击败围棋世界冠军李世石 | 结合深度强化学习与蒙特卡洛树搜索,实现复杂决策能力 |
|
||||
| **2017 年** | **Transformer 架构**发布 | 基于自注意力机制,解决长距离依赖问题,为大模型奠定基础 |
|
||||
|
||||
<AttentionMechanismDemo />
|
||||
|
||||
### 3.3 GPT:从文本生成到通用智能
|
||||
::: tip 行为主义的发展
|
||||
**行为主义**(进化主义)主张智能来自与环境的互动,通过试错学习优化行为,**强化学习**是其核心技术。AlphaGo 就是深度学习与强化学习结合的代表作。
|
||||
:::
|
||||
|
||||
2018 年,OpenAI 发布 GPT-1(生成式预训练变换器)。
|
||||
---
|
||||
|
||||
**核心思想**:
|
||||
## 六、大模型时代与通用智能曙光(2018 至今)
|
||||
|
||||
1. **预训练**:在海量文本上学习"预测下一个词"
|
||||
2. **微调**:在特定任务上调整(比如问答、翻译)
|
||||
|
||||
从 GPT-1 (2018) → GPT-2 (2019) → GPT-3 (2020) → GPT-4 (2023)
|
||||
|
||||
- 参数量从 1.17 亿 → 1750 亿 → 1.8 万亿(估计)
|
||||
- 能力从文本生成 → 多模态(图片、音频、视频)
|
||||
### 预训练模型范式确立
|
||||
|
||||
<GPTEvolutionDemo />
|
||||
|
||||
### 3.4 生成式人工智能的局限
|
||||
- **2018 年**:OpenAI 发布 **GPT-1**(1.17 亿参数),谷歌发布 **BERT**,确立"**预训练 + 微调**"新范式
|
||||
- **2019 年**:**GPT-2**(15 亿参数)展现惊人的文本生成能力,引发对 AI 伦理的广泛讨论
|
||||
- **2020 年**:**GPT-3**(1750 亿参数)通过"暴力美学"展现**涌现能力**,无需微调即可完成多种任务
|
||||
|
||||
虽然强大,但也存在问题:
|
||||
### 生成式 AI 爆发
|
||||
|
||||
- **幻觉**:一本正经地胡说八道
|
||||
- **偏见放大**:从训练数据中学到人类偏见
|
||||
- **不可解释**:仍然是个黑盒,不知道内部怎么运作
|
||||
- **2022 年 11 月**:**ChatGPT**(GPT-3.5)发布,通过 RLHF(人类反馈强化学习)大幅提升对话能力,成为现象级产品
|
||||
- **2023 年 3 月**:**GPT-4** 发布,具备**多模态能力**(文本 + 图像),进一步提升逻辑推理与安全性
|
||||
- **2023 年**:Stable Diffusion、Midjourney 等图像生成模型兴起,多模态大模型成为主流
|
||||
- **2024 年**:**Sora** 等视频生成模型发布,AI 生成能力扩展到动态内容领域
|
||||
|
||||
---
|
||||
|
||||
## 4. AI 范式对比总结
|
||||
## 七、AI 三大学派的融合与未来展望
|
||||
|
||||
| 时代 | 核心理念 | 代表产物 | 优势 | 局限 |
|
||||
| :----------------- | :-------------- | :-------------------------- | :----------------------- | :--------------------------- |
|
||||
| **符号主义** | 智慧 = 规则 | 深蓝(下棋)、MYCIN(诊断) | 可解释性强,逻辑清晰 | 无法处理模糊、复杂的现实世界 |
|
||||
| **连接主义** | 智慧 = 神经网络 | AlphaGo、人脸识别 | 能处理复杂模式,性能强大 | 需要海量数据,是个"黑盒" |
|
||||
| **生成式人工智能** | 智慧 = 通用理解 | ChatGPT、Midjourney | 能创造新内容,理解上下文 | 幻觉、偏见、不可解释 |
|
||||
<DiscriminativeVsGenerativeDemo />
|
||||
|
||||
**AI 的进化趋势**:
|
||||
### 未来趋势
|
||||
|
||||
1. **从人工到自动**:从人写规则 → 机器自动学习
|
||||
2. **从单一到通用**:从下棋专用 → 通用人工智能
|
||||
3. **从判别到生成**:从分类识别 → 创造新内容
|
||||
- **多模态融合**:文本、图像、音频、视频等信息的统一处理
|
||||
- **高效大模型**:降低训练成本,提升推理效率,推动边缘部署
|
||||
- **可解释 AI**:解决黑箱问题,增强 AI 可信度
|
||||
- **AGI 探索**:从专用智能向通用人工智能迈进,追求更全面的人类智能模拟
|
||||
|
||||
> 关于大语言模型的详细原理,请移步下一章:[大语言模型入门](./llm-intro.md)
|
||||
|
||||
---
|
||||
|
||||
## 5. 名词速查表
|
||||
|
||||
| 名词 | 英文原文 | 解释 |
|
||||
| :----------------- | :--------------------------------- | :-------------------------------------------------------------------------------------------------- |
|
||||
| **符号主义** | Symbolic AI | 基于规则的人工智能。认为智能可以用逻辑规则表示。代表:专家系统、深蓝。 |
|
||||
| **专家系统** | Expert Systems | 符号主义的代表产物。通过人工编写大量规则来模拟专家决策。代表:MYCIN(医疗诊断)。 |
|
||||
| **连接主义** | Connectionism | 基于神经网络的人工智能。模仿人脑神经元连接结构,通过数据自动学习。 |
|
||||
| **感知机** | Perceptron | 最简单的神经网络单元。接收多个输入,加权求和后通过激活函数输出。 |
|
||||
| **神经网络** | Neural Network | 由多个感知机分层连接组成的模型。通过调整权重来学习数据中的模式。 |
|
||||
| **深度学习** | Deep Learning | 使用**多层**神经网络的学习方法。能自动提取层次化特征(边缘 → 形状 → 物体)。 |
|
||||
| **反向传播** | Backpropagation | 神经网络的学习算法。通过计算预测误差,反向调整每层的权重,逐步优化模型。 |
|
||||
| **生成式人工智能** | Generative AI | 能**创造新内容**的人工智能(文本、图片、音频等),而非仅仅是分类或识别。代表:ChatGPT、Midjourney。 |
|
||||
| **判别式人工智能** | Discriminative AI | 用于**分类**的人工智能(如:这是猫还是狗?)。传统深度学习大多是判别式的。 |
|
||||
| **Transformer** | Transformer | 2017 年由 Google 提出的架构,基于注意力机制。是现代大语言模型(GPT、BERT)的基础。 |
|
||||
| **注意力机制** | Attention Mechanism | 让模型在处理一个元素时,能动态"关注"其他相关元素的技术。是 Transformer 的核心。 |
|
||||
| **GPT** | Generative Pre-trained Transformer | OpenAI 的系列模型。通过"预训练 + 微调"范式,在大量文本上学习生成能力。 |
|
||||
| **预训练** | Pre-training | 在大规模无标注数据上进行初步训练,学习通用知识(如语言规律)。 |
|
||||
| **微调** | Fine-tuning | 在预训练模型基础上,使用特定任务的小规模数据进行调整,使模型适应具体应用。 |
|
||||
| **幻觉** | Hallucination | 生成式人工智能模型"自信地编造错误内容"的现象。如 ChatGPT 编造不存在的论文或事实。 |
|
||||
| **通用人工智能** | Artificial General Intelligence | 像人类一样具备多领域智能、能自主学习推理的人工智能(尚未实现)。 |
|
||||
AI 的发展是一条**螺旋式上升**的道路,每个时代的技术都为后续突破奠定基础。今天的大模型并非完全抛弃符号主义,而是在连接主义框架下,通过海量数据学习到了类似符号推理的能力,实现了**不同学派思想的深度融合**。
|
||||
|
||||
@@ -1,3 +1,318 @@
|
||||
# AI 协议(MCP 等)
|
||||
# AI Agent 协议(MCP & A2A)
|
||||
|
||||
> 待实现
|
||||
::: tip 核心问题
|
||||
**AI Agent 如何与外部世界"对话"?** 就像互联网需要 HTTP 协议,AI Agent 也需要标准化的通信协议。本章介绍两个最主流的 Agent 协议:MCP 和 A2A,它们分别解决了 AI 与工具、Agent 与 Agent 之间的通信问题。
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## 0. 什么是协议?
|
||||
|
||||
在计算机领域,**协议(Protocol)** 是一套标准化的规则和约定,让不同的系统、程序能够相互"理解"和"通信"。
|
||||
|
||||
### 0.1 为什么需要协议?
|
||||
|
||||
想象一个场景:你给朋友寄快递,需要填写地址。如果每个人写的地址格式都不一样,快递员就没法投递。协议就是规定了"地址怎么写"的标准——省、市、区、街道、门牌号,按这个格式写,谁都能看懂。
|
||||
|
||||
计算机也是一样。两个程序要通信,必须约定好:
|
||||
- 数据格式是什么?(JSON?二进制?)
|
||||
- 怎么建立连接?(握手流程)
|
||||
- 出错了怎么办?(错误处理)
|
||||
|
||||
### 0.2 计算机中常见的协议
|
||||
|
||||
| 协议 | 作用 | 你每天都在用 |
|
||||
|------|------|-------------|
|
||||
| **HTTP** | 网页传输协议 | 浏览器打开网页 |
|
||||
| **HTTPS** | 加密的 HTTP | 网银、支付页面 |
|
||||
| **TCP/IP** | 互联网基础协议 | 所有网络通信 |
|
||||
| **DNS** | 域名解析协议 | 把 `google.com` 变成 IP 地址 |
|
||||
| **SMTP** | 邮件发送协议 | 发送邮件 |
|
||||
| **WebSocket** | 双向实时通信 | 聊天软件、在线游戏 |
|
||||
| **SSH** | 安全远程登录 | 连接服务器 |
|
||||
| **FTP** | 文件传输协议 | 上传/下载文件 |
|
||||
|
||||
这些协议构成了互联网的基石。没有它们,你无法浏览网页、发送邮件、观看视频。
|
||||
|
||||
### 0.3 协议的价值
|
||||
|
||||
协议的核心价值是**标准化**和**互操作性**:
|
||||
|
||||
- **标准化**:大家都按同一套规则办事,减少沟通成本
|
||||
- **互操作性**:不同厂商、不同技术栈的系统可以无缝对接
|
||||
|
||||
比如 HTTP 协议,让 Chrome 浏览器可以访问 Nginx 服务器,让 Python 爬虫可以抓取 Java 网站的数据。不需要 Chrome 和 Nginx 互相"认识",只要都遵守 HTTP 协议就行。
|
||||
|
||||
### 0.4 AI Agent 也需要协议
|
||||
|
||||
AI Agent 要真正"干活",需要:
|
||||
- 调用外部工具(查天气、发邮件、操作数据库)
|
||||
- 与其他 Agent 协作(分工合作完成复杂任务)
|
||||
|
||||
这就需要标准化的协议来规定"AI 怎么调用工具"、"Agent 之间怎么对话"。这就是 **MCP** 和 **A2A** 的由来。
|
||||
|
||||
---
|
||||
|
||||
## 1. Agent 协议的层次
|
||||
|
||||
在深入了解具体协议之前,让我们先看看 Agent 生态中的通信层次:
|
||||
|
||||
| 层级 | 协议 | 解决的问题 | 类比 |
|
||||
|------|------|-----------|------|
|
||||
| **1** | Function Call | AI 如何调用本地函数 | 大脑发出指令 |
|
||||
| **2** | **MCP** | AI 如何连接外部工具和数据源 | USB-C 接口 |
|
||||
| **3** | **A2A** | Agent 之间如何协作通信 | 企业微信 |
|
||||
|
||||
::: tip 逐行解读这张表
|
||||
**第1层(Function Call)**:这是大模型最基础的能力——通过输出结构化数据(JSON)来触发函数执行。它是"协议"的基础,但本身更像是一种能力而非标准协议。
|
||||
|
||||
**第2层(MCP)**:Model Context Protocol,由 Anthropic 于 2024 年 11 月发布。它标准化了 AI 与外部工具、数据源的连接方式,就像 USB-C 统一了各种设备的充电接口。
|
||||
|
||||
**第3层(A2A)**:Agent-to-Agent Protocol,由 Google 于 2025 年 4 月发布。它让不同的 Agent 能够相互发现、通信和协作,就像企业微信让同事之间可以发任务、聊天。
|
||||
:::
|
||||
|
||||
本章重点介绍第 2、3 层的两个正式协议:MCP 和 A2A。
|
||||
|
||||
---
|
||||
|
||||
## 2. MCP (Model Context Protocol)
|
||||
|
||||
### 2.1 协议基本信息
|
||||
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **全称** | Model Context Protocol |
|
||||
| **发起方** | Anthropic |
|
||||
| **发布时间** | 2024 年 11 月 25 日 |
|
||||
| **官方文档** | [modelcontextprotocol.io](https://modelcontextprotocol.io) |
|
||||
| **开源协议** | MIT License |
|
||||
| **GitHub** | [github.com/modelcontextprotocol](https://github.com/modelcontextprotocol) |
|
||||
|
||||
::: tip 为什么叫"Context Protocol"?
|
||||
**Context(上下文)** 是大模型理解任务的关键。MCP 的核心思想是:**让 AI 能够动态获取所需的上下文信息**,而不是把所有信息都塞进 Prompt。
|
||||
|
||||
比如,AI 需要读取一个文件时,不需要你把文件内容复制粘贴给它,而是通过 MCP 直接访问文件系统。
|
||||
:::
|
||||
|
||||
### 2.2 发布的背景
|
||||
|
||||
2024 年,随着 Claude 3.5 Sonnet 的发布,Anthropic 发现一个问题:**每个工具都要单独集成**。
|
||||
|
||||
想象一下:
|
||||
- 你想让 AI 读取 GitHub 仓库 → 要写 GitHub 集成代码
|
||||
- 你想让 AI 查询数据库 → 要写数据库集成代码
|
||||
- 你想让 AI 操作文件系统 → 要写文件系统集成代码
|
||||
|
||||
每个集成都要重复写类似的代码:认证、错误处理、数据转换……
|
||||
|
||||
Anthropic 在官方博客中写道:
|
||||
> "We're introducing the Model Context Protocol (MCP), an open protocol that standardizes how applications provide context to LLMs."
|
||||
|
||||
**核心目标**:让工具开发者写一次代码,所有支持 MCP 的 AI 应用都能使用。
|
||||
|
||||
### 2.3 MCP 是什么?
|
||||
|
||||
<McpVisualDemo />
|
||||
|
||||
**三大核心能力**:
|
||||
|
||||
| 能力 | 英文 | 作用 | 示例 |
|
||||
|------|------|------|------|
|
||||
| **工具** | Tools | AI 可以调用的功能 | 查询天气、发送邮件 |
|
||||
| **资源** | Resources | AI 可以读取的数据 | 文件内容、数据库记录 |
|
||||
| **提示** | Prompts | 预定义的提示模板 | 代码审查模板、写作模板 |
|
||||
|
||||
### 2.4 MCP 的内部实现
|
||||
|
||||
<McpDetailedDemo />
|
||||
|
||||
### 2.5 类比理解:USB-C 接口
|
||||
|
||||
MCP 就像 **USB-C 接口**:
|
||||
|
||||
- **以前**:每个设备都有自己的充电口(圆口、扁口、磁吸……)
|
||||
- **现在**:USB-C 统一了所有设备的充电和数据传输
|
||||
- **MCP**:统一了 AI 与所有工具的连接方式
|
||||
|
||||
工具开发者只需要实现一次 MCP Server,所有支持 MCP 的 AI 应用(Claude、Cursor、Windsurf 等)都能直接使用。
|
||||
|
||||
### 2.6 MCP 的典型应用场景
|
||||
|
||||
| 场景 | 说明 | 示例 |
|
||||
|------|------|------|
|
||||
| **本地文件操作** | 让 AI 读取/修改本地文件 | 读取代码库、分析日志文件 |
|
||||
| **数据库查询** | 让 AI 直接查询数据库 | SQL 查询、数据分析 |
|
||||
| **API 调用** | 让 AI 调用第三方服务 | GitHub API、Slack、邮件 |
|
||||
| **开发工具集成** | 让 AI 使用开发工具 | Git 操作、终端命令 |
|
||||
|
||||
**实际案例**:
|
||||
- **Cursor/Windsurf**:通过 MCP 连接文件系统、Git、终端
|
||||
- **Claude Desktop**:通过 MCP 连接笔记软件、邮件客户端
|
||||
- **自动化脚本**:让 AI 执行自动化任务(备份、部署、数据同步)
|
||||
|
||||
---
|
||||
|
||||
## 3. A2A (Agent-to-Agent Protocol)
|
||||
|
||||
### 3.1 协议基本信息
|
||||
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **全称** | Agent-to-Agent Protocol |
|
||||
| **发起方** | Google |
|
||||
| **发布时间** | 2025 年 4 月 9 日 |
|
||||
| **官方文档** | [google.github.io/A2A](https://google.github.io/A2A) |
|
||||
| **开源协议** | Apache 2.0 |
|
||||
| **GitHub** | [github.com/google/A2A](https://github.com/google/A2A) |
|
||||
|
||||
::: tip 为什么是 Google 发起?
|
||||
Google 在 Cloud Next 2025 大会上发布 A2A,与其企业级 AI 战略密切相关。
|
||||
|
||||
Google 认为:未来的企业 AI 不是单个超级 Agent,而是**多个专业 Agent 协作**——有的负责数据分析,有的负责代码生成,有的负责文档处理。
|
||||
|
||||
这些 Agent 需要一种标准化的方式相互通信,A2A 应运而生。
|
||||
:::
|
||||
|
||||
### 3.2 发布的背景
|
||||
|
||||
MCP 解决了"AI 如何连接工具"的问题,但还有一个问题:**多个 Agent 如何协作?**
|
||||
|
||||
想象一个场景:
|
||||
- Agent A 是"需求分析专家"
|
||||
- Agent B 是"代码生成专家"
|
||||
- Agent C 是"测试专家"
|
||||
|
||||
用户说:"帮我开发一个登录功能"
|
||||
|
||||
Agent A 分析需求后,需要把任务分配给 Agent B;Agent B 写完代码后,需要让 Agent C 测试。它们之间如何通信?
|
||||
|
||||
Google 在官方博客中写道:
|
||||
> "A2A is an open protocol that enables AI agents to communicate with each other, facilitating collaboration across different frameworks and vendors."
|
||||
|
||||
**核心目标**:让不同厂商、不同框架开发的 Agent 能够无缝协作。
|
||||
|
||||
### 3.3 A2A 是什么?
|
||||
|
||||
<A2AVisualDemo />
|
||||
|
||||
**三大核心概念**:
|
||||
|
||||
| 概念 | 英文 | 作用 | 类比 |
|
||||
|------|------|------|------|
|
||||
| **Agent Card** | Agent 名片 | 描述 Agent 的能力 | 员工工牌 |
|
||||
| **Task** | 任务 | 要执行的工作单元 | 工单 |
|
||||
| **Message** | 消息 | Agent 之间的通信内容 | 聊天记录 |
|
||||
|
||||
### 3.4 A2A 的内部实现
|
||||
|
||||
<A2ADetailedDemo />
|
||||
|
||||
### 3.5 类比理解:企业微信
|
||||
|
||||
A2A 就像 **企业微信**:
|
||||
|
||||
- **Agent Card**:每个人的名片,显示姓名、部门、职责
|
||||
- **发任务**:@某人,分配一个任务
|
||||
- **聊天沟通**:任务执行过程中可以随时沟通
|
||||
- **任务追踪**:能看到任务的进度和状态
|
||||
|
||||
不同的 Agent 就像不同的同事,A2A 让它们能够协作完成复杂项目。
|
||||
|
||||
### 3.6 A2A 的典型应用场景
|
||||
|
||||
| 场景 | 说明 | 示例 |
|
||||
|------|------|------|
|
||||
| **软件开发** | 多 Agent 协作完成开发任务 | 需求分析→代码→测试→部署 |
|
||||
| **企业工作流** | 不同部门 Agent 协作处理业务 | HR Agent + 财务 Agent + 法务 Agent |
|
||||
| **智能客服** | 多个专业 Agent 分工处理 | 接待→解答→转接→记录 |
|
||||
| **数据分析** | 多个 Agent 协作分析数据 | 收集→清洗→分析→可视化→报告 |
|
||||
|
||||
**实际案例**:
|
||||
- **Google Agent Space**:企业内部多个 Agent 协作处理文档、邮件、日程
|
||||
- **软件开发团队**:需求 Agent → 代码 Agent → 测试 Agent → 部署 Agent
|
||||
- **智能客服系统**:接待 Agent → 专业解答 Agent → 人工转接 Agent
|
||||
|
||||
---
|
||||
|
||||
## 4. MCP vs A2A:对比与关系
|
||||
|
||||
### 4.1 核心差异
|
||||
|
||||
| 维度 | MCP | A2A |
|
||||
|------|-----|-----|
|
||||
| **发起方** | Anthropic (2024.11) | Google (2025.04) |
|
||||
| **定位** | AI 与工具的连接 | Agent 与 Agent 的协作 |
|
||||
| **通信范围** | Client-Server | Peer-to-Peer |
|
||||
| **数据格式** | JSON-RPC 2.0 | HTTP + JSON |
|
||||
| **类比** | USB-C 接口 | 企业微信 |
|
||||
|
||||
### 4.2 两者的关系
|
||||
|
||||
MCP 和 A2A **不是竞争关系,而是互补关系**:
|
||||
|
||||
<ProtocolComparisonDemo />
|
||||
|
||||
### 4.3 如何选择?
|
||||
|
||||
| 场景 | 选择 |
|
||||
|------|------|
|
||||
| 让 AI 调用本地函数或工具 | Function Call |
|
||||
| 使用第三方工具(数据库、API、文件系统) | MCP |
|
||||
| 构建多 Agent 协作系统 | A2A |
|
||||
| 同时需要工具集成和多 Agent 协作 | MCP + A2A |
|
||||
|
||||
---
|
||||
|
||||
## 5. 协议的未来趋势
|
||||
|
||||
### 5.1 生态发展
|
||||
|
||||
**MCP 生态**(截至 2025 年初):
|
||||
- 官方提供的 Server:文件系统、SQLite、Git、PostgreSQL 等
|
||||
- 社区贡献的 Server:Slack、Notion、Figma、Stripe 等
|
||||
- 支持 MCP 的应用:Claude Desktop、Cursor、Windsurf、Zed 等
|
||||
|
||||
**A2A 生态**(刚发布):
|
||||
- Google 自家的 Agent 产品率先支持
|
||||
- 开源社区正在开发各种语言的 SDK
|
||||
- 企业级应用正在探索中
|
||||
|
||||
### 5.2 标准化进程
|
||||
|
||||
目前 Agent 协议还处于"战国时代":
|
||||
- MCP 和 A2A 是最主流的两个
|
||||
- 还有其他新兴协议如 ANP、AGP 等
|
||||
- 未来可能会融合或统一
|
||||
|
||||
类比互联网的发展:
|
||||
- 早期:各种局域网协议并存
|
||||
- 后来:TCP/IP 成为标准
|
||||
- 现在:Agent 协议可能也会走向统一
|
||||
|
||||
---
|
||||
|
||||
## 6. 小结
|
||||
|
||||
::: tip 核心要点
|
||||
| 协议 | 一句话理解 | 发布时间 | 发起方 | 适用场景 |
|
||||
|------|-----------|---------|--------|---------|
|
||||
| **MCP** | AI 连接工具的"USB-C" | 2024.11 | Anthropic | 工具集成、数据源连接 |
|
||||
| **A2A** | Agent 协作的"企业微信" | 2025.04 | Google | 多 Agent 协作、任务委托 |
|
||||
|
||||
**关键洞察**:
|
||||
1. MCP 解决"AI 如何获取外部能力"的问题
|
||||
2. A2A 解决"多个 AI 如何协作"的问题
|
||||
3. 两者互补,未来可能会融合使用
|
||||
4. 选择协议要根据具体场景,没有银弹
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## 参考资料
|
||||
|
||||
1. **MCP 官方文档**: [modelcontextprotocol.io](https://modelcontextprotocol.io)
|
||||
2. **MCP GitHub**: [github.com/modelcontextprotocol](https://github.com/modelcontextprotocol)
|
||||
3. **Anthropic 发布博客**: "Introducing the Model Context Protocol" (2024-11-25)
|
||||
4. **A2A 官方文档**: [google.github.io/A2A](https://google.github.io/A2A)
|
||||
5. **A2A GitHub**: [github.com/google/A2A](https://github.com/google/A2A)
|
||||
6. **Google Cloud Blog**: "Announcing the Agent-to-Agent Protocol" (2025-04-09)
|
||||
|
||||
Reference in New Issue
Block a user