init repo
This commit is contained in:
24
.gitignore
vendored
Normal file
24
.gitignore
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
# OS
|
||||
.DS_Store
|
||||
|
||||
# Env
|
||||
.env
|
||||
.env.*
|
||||
|
||||
# Python
|
||||
__pycache__/
|
||||
.pytest_cache/
|
||||
.mypy_cache/
|
||||
.venv/
|
||||
venv/
|
||||
|
||||
# Node
|
||||
node_modules/
|
||||
.next/
|
||||
dist/
|
||||
build/
|
||||
.nuxt/
|
||||
.output/
|
||||
|
||||
# Misc
|
||||
*.log
|
||||
24
.project.json
Normal file
24
.project.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"name": "AI记忆技术演进",
|
||||
"description": "AI 记忆技术演进研究展示页面",
|
||||
"status": "archived",
|
||||
"kind": "analysis",
|
||||
"created": "2025-07-24",
|
||||
"ports": [
|
||||
{
|
||||
"port": 3724,
|
||||
"label": "dev",
|
||||
"fixed": true
|
||||
}
|
||||
],
|
||||
"stack": [
|
||||
"HTML"
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"url": "http://localhost:3724",
|
||||
"type": "docs",
|
||||
"label": "local docs"
|
||||
}
|
||||
]
|
||||
}
|
||||
120
01-上下文窗口演进.md
Normal file
120
01-上下文窗口演进.md
Normal file
@@ -0,0 +1,120 @@
|
||||
# 上下文窗口演进
|
||||
|
||||
> 从 512 tokens 到 1000 万 tokens,AI 的"工作记忆"扩大了近 20,000 倍。
|
||||
|
||||
## OpenAI GPT 系列
|
||||
|
||||
| 模型 | 发布时间 | 上下文窗口 | 备注 |
|
||||
|------|----------|-----------|------|
|
||||
| GPT-1 | 2018.06 | 512 tokens | 最初的 Transformer LM |
|
||||
| GPT-2 | 2019.02 | 1,024 tokens | 1.5B 参数 |
|
||||
| GPT-3 | 2020.05 | 2,048 tokens | 175B 参数,few-shot 涌现 |
|
||||
| GPT-3.5 / ChatGPT | 2022.11.30 | 4,096 tokens | 聊天界面上线,AI 出圈 |
|
||||
| GPT-4 | 2023.03.14 | 8K / 32K tokens | 多模态,两个上下文版本 |
|
||||
| GPT-4 Turbo | 2023.11.06 | 128K tokens | DevDay 发布,上下文翻 4 倍 |
|
||||
| GPT-4o | 2024.05.13 | 128K tokens | 全模态,速度更快 |
|
||||
| o1-preview | 2024.09.12 | 128K tokens | 思维链推理 |
|
||||
| o1 (正式版) | 2024.12.05 | 200K tokens | 100K 输出 tokens |
|
||||
| GPT-4.1 | 2025.04.14 | 1M tokens | 含 mini 和 nano 变体 |
|
||||
| o3 | 2025.04 | 200K tokens | 与 o4-mini 同期发布 |
|
||||
|
||||
## Anthropic Claude 系列
|
||||
|
||||
| 模型 | 发布时间 | 上下文窗口 | 备注 |
|
||||
|------|----------|-----------|------|
|
||||
| Claude 1 | 2023.03 | 9K tokens | 首次 API 发布 |
|
||||
| Claude 2 | 2023.07.11 | 100K tokens | 从 9K 跳到 100K,里程碑 |
|
||||
| Claude 2.1 | 2023.11.21 | 200K tokens | 翻倍 |
|
||||
| Claude 3 (Haiku/Sonnet/Opus) | 2024.03.04 | 200K tokens | 三级模型家族 |
|
||||
| Claude 3.5 Sonnet | 2024.06.20 | 200K tokens | 性能超 Opus,性价比之王 |
|
||||
| Claude 3.5 Sonnet v2 | 2024.10.22 | 200K tokens | Computer Use 引入 |
|
||||
| Claude 3.7 Sonnet | 2025.02.25 | 200K tokens | Extended Thinking 模式 |
|
||||
| Claude Sonnet 4 / Opus 4 | 2025.05.22 | 200K tokens | Opus 4 最强编程模型 |
|
||||
| Claude Sonnet 4.5 | 2025.09.29 | 200K (1M beta) | 1M 上下文 Beta 测试 |
|
||||
| Claude Opus 4.5 | 2025.11.24 | 200K tokens | 最强推理 |
|
||||
| Claude Opus 4.6 | 2026.02.05 | **1M tokens** | 1M GA,128K 输出 |
|
||||
| Claude Sonnet 4.6 | 2026.02.17 | **1M tokens** | 1M GA,64K 输出 |
|
||||
|
||||
## Google Gemini 系列
|
||||
|
||||
| 模型 | 发布时间 | 上下文窗口 | 备注 |
|
||||
|------|----------|-----------|------|
|
||||
| Gemini 1.0 | 2023.12.06 | 32K tokens | Ultra/Pro/Nano 三版 |
|
||||
| Gemini 1.5 Pro | 2024.02.15 | **1M tokens** (默认 128K) | 首个 1M 上下文模型 |
|
||||
| Gemini 1.5 Pro (扩展) | 2024 年中 | **2M tokens** | Google I/O 翻倍 |
|
||||
| Gemini 2.0 Flash | 2024.12 | 1M tokens | Agentic 时代开启 |
|
||||
| Gemini 2.5 Pro | 2025 | 1M tokens | — |
|
||||
| Gemini 2.5 Flash | 2025.05.20 | 1M tokens | 混合思考控制 |
|
||||
|
||||
## 开源模型
|
||||
|
||||
### Meta Llama
|
||||
|
||||
| 模型 | 发布时间 | 上下文窗口 |
|
||||
|------|----------|-----------|
|
||||
| LLaMA 1 | 2023.02.24 | 2,048 tokens |
|
||||
| Llama 2 | 2023.07 | 4,096 tokens |
|
||||
| Llama 3 | 2024.04.18 | 8,192 tokens |
|
||||
| Llama 3.1 | 2024.07.23 | 128K tokens |
|
||||
| Llama 3.2 | 2024.09 | 128K tokens |
|
||||
| Llama 4 Maverick | 2025.04.05 | **1M tokens** |
|
||||
| Llama 4 Scout | 2025.04.05 | **10M tokens** |
|
||||
|
||||
### Mistral AI
|
||||
|
||||
| 模型 | 发布时间 | 上下文窗口 |
|
||||
|------|----------|-----------|
|
||||
| Mistral 7B | 2023.10 | 8K (滑动窗口到 32K) |
|
||||
| Mixtral 8x7B | 2023.12.11 | 32K tokens |
|
||||
| Mistral Large 2 | 2024 | 128K tokens |
|
||||
| Mistral Small 3.1 | 2025.03.17 | 128K tokens |
|
||||
|
||||
### 阿里 Qwen(通义千问)
|
||||
|
||||
| 模型 | 发布时间 | 上下文窗口 |
|
||||
|------|----------|-----------|
|
||||
| Qwen 1 | 2023.08 | 8K tokens |
|
||||
| Qwen 2 | 2024.06.06 | 128K tokens |
|
||||
| Qwen 2.5 | 2024.09.19 | 128K tokens |
|
||||
| Qwen 2.5-1M | 2025.01 | **1M tokens** |
|
||||
| Qwen 3 | 2025.04.28 | 1M tokens |
|
||||
|
||||
### DeepSeek
|
||||
|
||||
| 模型 | 发布时间 | 上下文窗口 |
|
||||
|------|----------|-----------|
|
||||
| DeepSeek-V2 | 2024.05 | 128K tokens |
|
||||
| DeepSeek-V3 | 2024.12.25 | 128K tokens |
|
||||
| DeepSeek-R1 | 2025.01.20 | 128K tokens |
|
||||
|
||||
## 增长趋势图
|
||||
|
||||
```
|
||||
tokens
|
||||
10M ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ★ Llama 4 Scout
|
||||
│
|
||||
1M ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ★─────────────★ Claude 4.6 / GPT-4.1
|
||||
│ │ Gemini 1.5
|
||||
│ │
|
||||
200K ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ★───────┤ Claude 2.1 → 3.x
|
||||
128K ─ ─ ─ ─ ─ ─ ─ ─ ─ ★─┤ │ GPT-4 Turbo / Llama 3.1
|
||||
│ │ │ │
|
||||
100K ─ ─ ─ ─ ─ ─ ─ ★───┤ │ │ Claude 2
|
||||
32K ─ ─ ─ ─ ─ ─ ★─┤ │ │ │ GPT-4 32K
|
||||
8K ─ ─ ─ ─ ─ ★─┤ │ │ │ │ GPT-4
|
||||
4K ─ ─ ─ ─ ★─┤ │ │ │ │ │ ChatGPT
|
||||
2K ─ ─ ─ ★─┤ │ │ │ │ │ │ GPT-3
|
||||
1K ─ ─ ★─┤ │ │ │ │ │ │ │ GPT-2
|
||||
512 ─ ★─┤ │ │ │ │ │ │ │ │ GPT-1
|
||||
│ │ │ │ │ │ │ │ │ │
|
||||
─────┼──┼──┼──┼──┼──┼──┼───┼─┼───────┼──→ 时间
|
||||
'18'19'20'22'23 '24 '25-26
|
||||
```
|
||||
|
||||
## 关键转折点
|
||||
|
||||
1. **Claude 2(2023.07)** —— 首次突破 100K,证明长上下文可行
|
||||
2. **Gemini 1.5 Pro(2024.02)** —— 首个 1M 上下文,开启百万 token 时代
|
||||
3. **Llama 3.1(2024.07)** —— 开源阵营跟进到 128K
|
||||
4. **Claude 4.6 / GPT-4.1(2026.02 / 2025.04)** —— 主流商用模型进入 1M 时代
|
||||
5. **Llama 4 Scout(2025.04)** —— 10M tokens,开源模型超越闭源上下文长度
|
||||
87
02-RAG技术演进.md
Normal file
87
02-RAG技术演进.md
Normal file
@@ -0,0 +1,87 @@
|
||||
# RAG 技术演进
|
||||
|
||||
> 检索增强生成(Retrieval-Augmented Generation)——让 AI 在有限上下文内"记住"无限知识。
|
||||
|
||||
## 核心论文时间线
|
||||
|
||||
| 时间 | 里程碑 | 说明 |
|
||||
|------|--------|------|
|
||||
| 2017.03 | FAISS 发布 | Facebook AI 相似度搜索库,向量检索的基础设施 |
|
||||
| 2019 | Wizard of Wikipedia | 通过检索 Wikipedia 句子提升事实准确性 |
|
||||
| 2020.02 | REALM 论文 | Google,检索增强语言模型预训练,可微分检索器 |
|
||||
| 2020.05 | **RAG 论文**(Facebook/Meta AI) | Lewis 等,arXiv:2005.11401,组合 DPR + BART,奠定 RAG 范式 |
|
||||
| 2020 | Dense Passage Retrieval(DPR) | 双 BERT 编码器,比 BM25 提升 9-19 个百分点 |
|
||||
|
||||
## 从 Naive RAG 到 Advanced RAG
|
||||
|
||||
### Naive RAG(2022-2023)
|
||||
|
||||
最简单的线性管道:
|
||||
|
||||
```
|
||||
文档 → 分块(Chunk) → 向量化(Embed) → 存入向量数据库
|
||||
↓
|
||||
用户提问 → 向量化 → 相似度搜索 → 取 Top-K → 拼入 Prompt → LLM 生成
|
||||
```
|
||||
|
||||
**问题**:检索质量不稳定、缺乏自我纠错、无法处理复杂查询。
|
||||
|
||||
### Advanced RAG(2023-2024)
|
||||
|
||||
| 时间 | 方法 | 论文/项目 | 改进点 |
|
||||
|------|------|-----------|--------|
|
||||
| 2023.10 | **Self-RAG** | arXiv:2310.11511 | LLM 学会自主决定是否检索、检索什么,通过反射 token 自我评估 |
|
||||
| 2024.01 | **Corrective RAG (CRAG)** | arXiv:2401.15884 | 增加评估器判断检索结果相关性,不相关则触发 Web 搜索补充 |
|
||||
| 2024.07 | **GraphRAG** | Microsoft 开源 | 用 LLM 从文档中提取知识图谱,支持全局摘要查询,GitHub 10K+ stars |
|
||||
|
||||
### Agentic RAG(2024-2025)
|
||||
|
||||
RAG 不再是固定管道,而是由 Agent 动态编排:
|
||||
|
||||
```
|
||||
用户提问
|
||||
↓
|
||||
Agent 路由器(判断是否需要检索、从哪里检索)
|
||||
↓
|
||||
┌────────────┬────────────┬────────────┐
|
||||
│ 向量数据库 │ 知识图谱 │ Web 搜索 │
|
||||
└────────────┴────────────┴────────────┘
|
||||
↓
|
||||
Agent 评估器(结果够不够好?需不需要再查?)
|
||||
↓
|
||||
LLM 生成 → Agent 自检 → 输出
|
||||
```
|
||||
|
||||
## 向量数据库生态
|
||||
|
||||
| 数据库 | 创建时间 | 类型 | 特点 |
|
||||
|--------|----------|------|------|
|
||||
| FAISS | 2017.03 | 库(非数据库) | Facebook 出品,高性能相似度搜索,行业基石 |
|
||||
| Weaviate | 2018 末 | 开源数据库 | 最早的专用向量搜索数据库之一 |
|
||||
| Milvus | 2019 | 开源数据库 | 专为向量构建,分布式架构 |
|
||||
| Pinecone | 2019(成立) | 云托管 | 全托管服务,开箱即用 |
|
||||
| pgvector | 2021.04 | PostgreSQL 扩展 | 给现有 Postgres 加向量能力,低迁移成本 |
|
||||
| Qdrant | 2021 | 开源数据库 | Rust 编写,高性能 |
|
||||
| Chroma | 2022.10 | 开源数据库 | 2023.04 获 $18M 种子轮,开发体验好 |
|
||||
|
||||
### 生态变化趋势
|
||||
|
||||
```
|
||||
2017-2020:只有 FAISS 一个选择
|
||||
2021-2022:pgvector、Qdrant、Chroma 涌现
|
||||
2023: 向量数据库"百花齐放",每个 LLM 项目标配
|
||||
2024-2025:整合期——pgvector 因为"不用换数据库"逆袭;
|
||||
专用数据库开始差异化(图+向量、多模态、混合搜索)
|
||||
```
|
||||
|
||||
## RAG vs 长上下文:替代还是互补?
|
||||
|
||||
| 维度 | 长上下文 | RAG |
|
||||
|------|---------|-----|
|
||||
| 适用数据量 | < 1M tokens | 无上限 |
|
||||
| 延迟 | 上下文越长越慢 | 检索本身很快 |
|
||||
| 成本 | 全量计费 | 只检索相关片段 |
|
||||
| 准确性 | 全局理解好 | 可能漏检 |
|
||||
| 实时性 | 需要重新装入 | 新增数据即时可搜 |
|
||||
|
||||
**结论**:不是替代关系。1M 上下文适合"需要全局理解的文档",RAG 适合"海量知识库的精准检索"。实际应用中两者经常组合使用。
|
||||
91
03-持久记忆系统.md
Normal file
91
03-持久记忆系统.md
Normal file
@@ -0,0 +1,91 @@
|
||||
# 持久记忆系统
|
||||
|
||||
> 从"每次对话都是陌生人"到"AI 记住你是谁"。
|
||||
|
||||
## MemGPT / Letta
|
||||
|
||||
**核心思想**:借鉴操作系统虚拟内存,让 LLM 拥有分层记忆管理能力。
|
||||
|
||||
| 时间 | 事件 |
|
||||
|------|------|
|
||||
| 2023.10.12 | MemGPT 论文发布(arXiv:2310.08560),"Towards LLMs as Operating Systems" |
|
||||
| 2024.09 | MemGPT 更名为 Letta,MemGPT 变成设计模式名,Letta 是开源框架 |
|
||||
|
||||
**架构**:
|
||||
```
|
||||
主上下文(有限 token)← 类比 RAM
|
||||
↕ 自动换入换出
|
||||
归档存储(无限)← 类比磁盘
|
||||
```
|
||||
|
||||
LLM 自主决定什么信息保留在"工作记忆"中,什么信息归档到长期存储,需要时再调回来。
|
||||
|
||||
## ChatGPT Memory
|
||||
|
||||
| 时间 | 事件 |
|
||||
|------|------|
|
||||
| 2024.02 | OpenAI 发布 ChatGPT Memory 功能(测试) |
|
||||
| 2024.09.05 | Memory 向 Free/Plus/Team/Enterprise 用户开放 |
|
||||
| 2025.04.10 | Memory 扩展为参考所有历史对话做个性化,不再仅限显式保存 |
|
||||
| 2025.06.03 | 免费用户也获得轻量级跨会话连续性 |
|
||||
|
||||
**机制**:用户可以让 ChatGPT "记住"特定信息,也可以手动管理记忆列表。后期演进为自动从历史对话中提取。
|
||||
|
||||
## Claude 记忆体系
|
||||
|
||||
| 时间 | 事件 |
|
||||
|------|------|
|
||||
| 2024.06 | Claude Projects 上线 —— 持久工作区,可上传文档、设置自定义指令 |
|
||||
| 2024.09.12 | Anthropic 为 Team/Enterprise 用户推出记忆功能 |
|
||||
| 2026.03 初 | 记忆功能向所有 Claude 用户开放 |
|
||||
|
||||
**Claude Code 的记忆系统**(开发者工具):
|
||||
- `~/.claude/projects/<project>/memory/` 目录存放持久记忆
|
||||
- `CLAUDE.md` 文件作为项目级和用户级持久指令
|
||||
- 自动记忆:积累构建命令、调试经验、架构笔记、代码风格偏好
|
||||
- 跨会话保持连续性
|
||||
|
||||
## IDE 记忆系统
|
||||
|
||||
### Cursor
|
||||
- **Cursor Rules**:持久化系统提示(`.cursorrules` 文件)
|
||||
- **社区 Memory Banks**:第三方方案提供长期上下文
|
||||
- 无内置自动记忆,依赖规则文件和社区方案
|
||||
|
||||
### Windsurf
|
||||
- **Memories 系统**:自动记忆(AI 在对话中识别重要信息)+ 手动记忆
|
||||
- 但深层上下文理解不跨会话持久化,每次会话需重新读取文件
|
||||
|
||||
## 记忆框架
|
||||
|
||||
| 框架 | 时间 | 说明 |
|
||||
|------|------|------|
|
||||
| **Zep** | 2023 | 基于时序知识图谱的记忆,底层用 Graphiti 框架;社区版已停更,转向 Zep Cloud |
|
||||
| **Mem0** | 2024 公开;2025.10 获 $24M A 轮 | 通用 AI 记忆层,自动提取、压缩、检索关键事实;YC 孵化 |
|
||||
| **OpenMemory** | 2025 | 本地持久记忆存储(基于 MCP),支持 Claude Desktop、Cursor、Windsurf 等 |
|
||||
|
||||
## 从无到有的转变
|
||||
|
||||
```
|
||||
2022 以前 ───── 完全无状态,每次对话从零开始
|
||||
│
|
||||
2023 ────────── MemGPT 提出分层记忆概念(学术)
|
||||
│
|
||||
2024 上半年 ─── ChatGPT Memory 上线(产品化)
|
||||
│ Claude Projects 提供持久工作区
|
||||
│
|
||||
2024 下半年 ─── 记忆框架生态涌现(Zep、Mem0)
|
||||
│ IDE 开始集成记忆(Cursor Rules、Windsurf)
|
||||
│
|
||||
2025 ────────── 记忆成为标配功能,不是差异化卖点
|
||||
│ MCP 让记忆跨平台流通
|
||||
│
|
||||
2026 ────────── AI 主动管理自己的记忆
|
||||
Claude Code auto-memory 自动积累项目经验
|
||||
```
|
||||
|
||||
## 关键转折
|
||||
|
||||
1. **MemGPT(2023.10)** —— 概念突破:LLM 可以像操作系统一样管理自己的记忆
|
||||
2. **ChatGPT Memory(2024.02)** —— 产品突破:数亿用户首次体验"AI 记住我"
|
||||
3. **MCP + OpenMemory(2025)** —— 架构突破:记忆从应用锁定变成可插拔标准
|
||||
68
04-微调与对齐.md
Normal file
68
04-微调与对齐.md
Normal file
@@ -0,0 +1,68 @@
|
||||
# 微调与对齐——通过训练"写入"记忆
|
||||
|
||||
> 如果上下文是 AI 的"短期记忆",那微调就是"长期记忆写入"。
|
||||
|
||||
## 微调 API 时间线
|
||||
|
||||
### OpenAI
|
||||
|
||||
| 时间 | 事件 |
|
||||
|------|------|
|
||||
| 2020-2022 | GPT-3 微调可用(davinci/curie/babbage/ada) |
|
||||
| 2023.08.22 | GPT-3.5 Turbo 微调上线 |
|
||||
| 2023 末-2024 初 | GPT-4 微调开放(实验性) |
|
||||
| 2024.08.20 | GPT-4o 微调 GA($25/M 训练 tokens) |
|
||||
| 2024.12 | 强化微调(RFT)Alpha 发布,"12 Days of OpenAI" |
|
||||
| 2025.05 | RFT GA,支持 o4-mini($100/hr 训练) |
|
||||
| 2025.05 | GPT-4.1 nano 监督微调可用 |
|
||||
|
||||
## 参数高效微调(PEFT)突破
|
||||
|
||||
### LoRA(2021.06)
|
||||
|
||||
**论文**:arXiv:2106.09685,"Low-Rank Adaptation of Large Language Models"
|
||||
|
||||
```
|
||||
原始权重矩阵 W (d×d) ← 冻结
|
||||
+
|
||||
低秩分解 ΔW = A(d×r) × B(r×d) ← 可训练,r << d
|
||||
|
||||
训练参数量:从数十亿 → 数百万(减少 99%+)
|
||||
```
|
||||
|
||||
**影响**:让普通开发者也能在消费级 GPU 上微调大模型,将知识"写入"模型参数。
|
||||
|
||||
### QLoRA(2023.05.23)
|
||||
|
||||
**论文**:arXiv:2305.14314
|
||||
|
||||
```
|
||||
4-bit 量化模型 + LoRA 适配器
|
||||
→ 65B 模型在单张 48GB GPU 上微调
|
||||
→ 成本再降一个数量级
|
||||
```
|
||||
|
||||
## 对齐方法——教 AI "如何思考"
|
||||
|
||||
| 时间 | 方法 | 论文 | 意义 |
|
||||
|------|------|------|------|
|
||||
| 2022.01 | **InstructGPT / RLHF** | OpenAI | 强化学习+人类反馈,GPT-3 学会遵循指令;成为行业标准 |
|
||||
| 2023.05.29 | **DPO** | arXiv:2305.18290 | 直接偏好优化,跳过奖励模型,直接在偏好数据对上训练;比 RLHF 简单得多 |
|
||||
| 2024-2025 | ORPO / SimPO / KTO | 各种 | 在 DPO 基础上继续简化对齐流程 |
|
||||
|
||||
## 微调 vs 其他记忆方式
|
||||
|
||||
| 维度 | 微调 | 上下文/RAG | 持久记忆 |
|
||||
|------|------|-----------|---------|
|
||||
| 写入速度 | 慢(需要训练) | 即时 | 即时 |
|
||||
| 持久性 | 永久(进入参数) | 会话级 / 检索级 | 跨会话 |
|
||||
| 灵活性 | 低(改了就改了) | 高(随时替换) | 中 |
|
||||
| 成本 | 高 | 低 | 低 |
|
||||
| 适用场景 | 领域专业知识、风格迁移 | 实时信息、用户数据 | 用户偏好、历史 |
|
||||
|
||||
## 趋势
|
||||
|
||||
微调在记忆体系中的角色正在从"主角"变成"专用工具":
|
||||
- **不再用微调来补充知识** —— 1M 上下文 + RAG 更高效
|
||||
- **微调专注于行为和风格** —— 教模型"怎么做"而非"知道什么"
|
||||
- **对齐方法持续简化** —— 从 RLHF 到 DPO 到更轻量的变体
|
||||
88
05-Agent记忆架构.md
Normal file
88
05-Agent记忆架构.md
Normal file
@@ -0,0 +1,88 @@
|
||||
# Agent 记忆架构
|
||||
|
||||
> 从"人类管理 AI 的记忆"到"AI 自己管理自己的记忆"。
|
||||
|
||||
## 早期自主 Agent(2023)
|
||||
|
||||
| Agent | 上线时间 | 记忆方案 |
|
||||
|-------|----------|---------|
|
||||
| **AutoGPT** | 2023.03 | 最初用 Pinecone 向量数据库存记忆;后简化为本地文件存储。5 个月 GitHub 100K+ stars |
|
||||
| **BabyAGI** | 2023.03 | 任务创建/执行/优先级循环 + 向量记忆(Pinecone)。作者 Yohei Nakajima |
|
||||
| **AgentGPT** | 2023.03 | 浏览器端自主 Agent |
|
||||
|
||||
**早期特点**:记忆方案粗糙,向量数据库当万能解法,经常"记了但找不到"。
|
||||
|
||||
## 框架记忆模块
|
||||
|
||||
### LangChain(2022.10 上线)
|
||||
|
||||
| 记忆类型 | 说明 |
|
||||
|---------|------|
|
||||
| ConversationBufferMemory | 保留全部对话历史(最简单,token 爆炸) |
|
||||
| ConversationSummaryMemory | 用 LLM 总结历史(省 token,丢细节) |
|
||||
| VectorStoreRetrieverMemory | 对话存入向量库,按相关性检索 |
|
||||
|
||||
演进:从简单的对话历史 → 复杂的分层记忆类型。
|
||||
|
||||
### LangGraph(2024 上线)
|
||||
|
||||
- **基于状态的记忆**:checkpointing 机制
|
||||
- **线程级持久化**:每个对话线程独立状态
|
||||
- **2025 初**:长期记忆支持上线,JSON 文档存储 + 自定义命名空间
|
||||
|
||||
### CrewAI(2024)
|
||||
|
||||
四种记忆类型:
|
||||
```
|
||||
短期记忆 ← 当前任务上下文
|
||||
长期记忆 ← 跨任务持久化
|
||||
实体记忆 ← 关于人/物/概念的结构化信息
|
||||
程序记忆 ← "怎么做"的经验积累
|
||||
```
|
||||
统一 Memory 类 + LLM 分析内容 + RAG 支持检索。
|
||||
|
||||
### AutoGen / AG2(Microsoft, 2023)
|
||||
|
||||
- ListMemory:按时间顺序记录
|
||||
- 对话级记忆:维护多 Agent 间的对话历史
|
||||
|
||||
## Agent SDK
|
||||
|
||||
| SDK | 发布时间 | 核心特性 |
|
||||
|-----|----------|---------|
|
||||
| **OpenAI Agents SDK** | 2025.03 | Swarm 的生产级演进;4 个核心原语(Agents/Handoffs/Guardrails/Tools);提供者无关 |
|
||||
| **Claude Agent SDK** | 2025 | 与 Claude Code 同基础设施;程序化构建 Agent,支持文件编辑、命令执行、MCP 集成 |
|
||||
|
||||
## Agent 记忆架构的演进
|
||||
|
||||
```
|
||||
2023 初 ──── "向量数据库就是记忆"
|
||||
AutoGPT/BabyAGI 用 Pinecone 存一切
|
||||
问题:检索质量差,无结构
|
||||
|
||||
2023-2024 ── "框架化记忆管理"
|
||||
LangChain 提供多种 Memory 类型
|
||||
开始区分短期/长期/实体记忆
|
||||
|
||||
2024 ─────── "结构化 + 持久化"
|
||||
LangGraph checkpoint、CrewAI 四种记忆
|
||||
Agent 开始有"经验积累"
|
||||
|
||||
2025 ─────── "SDK 级记忆"
|
||||
OpenAI / Claude Agent SDK 提供原生记忆
|
||||
MCP 让 Agent 接入任意外部记忆
|
||||
|
||||
2026 ─────── "自主记忆管理"
|
||||
Agent 决定记什么、忘什么、什么时候回忆
|
||||
Claude Code auto-memory 是典型案例
|
||||
```
|
||||
|
||||
## 核心转变
|
||||
|
||||
| 维度 | 早期(2023) | 现在(2025-2026) |
|
||||
|------|-------------|-------------------|
|
||||
| 谁管理记忆 | 开发者硬编码 | Agent 自主决策 |
|
||||
| 存储方式 | 全塞向量库 | 分层(工作/短期/长期/程序) |
|
||||
| 检索方式 | 向量相似度 | 多策略(向量+图谱+时序+语义) |
|
||||
| 跨 Agent 共享 | 不支持 | MCP 标准化共享 |
|
||||
| 经验学习 | 无 | 程序记忆 / auto-memory |
|
||||
94
06-MCP与工具记忆.md
Normal file
94
06-MCP与工具记忆.md
Normal file
@@ -0,0 +1,94 @@
|
||||
# MCP 与工具记忆
|
||||
|
||||
> Model Context Protocol——让记忆跨工具、跨平台流通的开放标准。
|
||||
|
||||
## MCP 时间线
|
||||
|
||||
| 时间 | 事件 |
|
||||
|------|------|
|
||||
| 2024.11.25 | Anthropic 发布 MCP 开放标准 |
|
||||
| 2024.11 | Python 和 TypeScript SDK 发布;预建服务器覆盖 GitHub、Slack、Google Drive、Postgres、Puppeteer |
|
||||
| 2024.11-2025 初 | 早期采用者:Block、Apollo、Zed、Replit、Codeium、Sourcegraph |
|
||||
| 2025.04 | 生态爆发:8M+ MCP 服务器下载量(发布时仅 ~100K);5,800+ 服务器;300+ 客户端 |
|
||||
| 2025 | OpenAI 和 Google DeepMind 采纳 MCP |
|
||||
| 2025 | C# 和 Java SDK 上线 |
|
||||
| 2025.12 | Anthropic 将 MCP 捐赠给 Linux 基金会下的 Agentic AI Foundation(AAIF),联合创始方:Anthropic、Block、OpenAI |
|
||||
|
||||
## MCP 如何实现"工具记忆"
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────┐
|
||||
│ AI 模型 │
|
||||
│ "用户上次让我用深色主题,这次也用深色" │
|
||||
└──────────────┬──────────────────────────────┘
|
||||
│ MCP 协议(标准化接口)
|
||||
│
|
||||
┌──────────┼──────────┐
|
||||
│ │ │
|
||||
▼ ▼ ▼
|
||||
┌────────┐ ┌────────┐ ┌────────┐
|
||||
│ 文件系统 │ │ 数据库 │ │ 知识库 │
|
||||
│ MCP │ │ MCP │ │ MCP │
|
||||
│ Server │ │ Server │ │ Server │
|
||||
└────────┘ └────────┘ └────────┘
|
||||
|
||||
MCP 服务器暴露两种核心能力:
|
||||
- Resources(资源):模型可以读取的数据
|
||||
- Tools(工具):模型可以调用的操作,包括写入记忆
|
||||
```
|
||||
|
||||
## 记忆相关的 MCP 实践
|
||||
|
||||
### OpenMemory(Mem0, 2025)
|
||||
|
||||
```
|
||||
本地持久记忆存储
|
||||
↓
|
||||
MCP Server 暴露记忆读写接口
|
||||
↓
|
||||
Claude Desktop / Cursor / Windsurf 等任何 MCP 客户端
|
||||
↓
|
||||
AI 在任意工具中都能读写同一份记忆
|
||||
```
|
||||
|
||||
**核心价值**:记忆不再被锁在单个应用里。你在 Claude Desktop 里告诉 AI 的偏好,切换到 Cursor 里也能用。
|
||||
|
||||
### Claude Code 的 MCP 记忆
|
||||
|
||||
Claude Code 本身就支持 MCP 服务器,可以:
|
||||
- 连接外部知识库作为记忆源
|
||||
- 通过 MCP 工具读写数据库
|
||||
- 接入第三方记忆服务
|
||||
|
||||
## MCP 之前 vs 之后
|
||||
|
||||
| 维度 | MCP 之前 | MCP 之后 |
|
||||
|------|---------|---------|
|
||||
| 记忆归属 | 锁在各应用内 | 跨应用共享 |
|
||||
| 接入方式 | 每个 App 自己写适配器 | 标准协议,写一次到处用 |
|
||||
| 开发者成本 | 为每个 AI 工具单独开发 | 一个 MCP Server 覆盖所有 |
|
||||
| 用户体验 | 换工具就丢记忆 | 记忆跟着用户走 |
|
||||
| 生态 | 碎片化 | 5,800+ 服务器的统一生态 |
|
||||
|
||||
## 5 个月从 0 到 5,800+
|
||||
|
||||
```
|
||||
MCP 服务器数量:
|
||||
|
||||
5800 ┤ ████
|
||||
│ █████████
|
||||
│ ██████████████
|
||||
│ █████████████████
|
||||
│ ████████████████████████
|
||||
│ ████████████████████████████
|
||||
│ ██████████████████████████████████
|
||||
100 ┤ █████
|
||||
│ ████
|
||||
0 ┤█
|
||||
└────────────────────────────────────────────
|
||||
2024.11 2025.04
|
||||
```
|
||||
|
||||
这个增速说明了两件事:
|
||||
1. AI 工具确实需要标准化的外部数据接入
|
||||
2. 开发者社区对"AI 记忆可插拔"有强烈需求
|
||||
83
07-注意力机制演进.md
Normal file
83
07-注意力机制演进.md
Normal file
@@ -0,0 +1,83 @@
|
||||
# 注意力机制演进
|
||||
|
||||
> 大上下文窗口背后的底层技术支撑——没有这些创新,1M tokens 就只是理论数字。
|
||||
|
||||
## 核心问题
|
||||
|
||||
原始 Transformer 的自注意力复杂度是 O(n^2):
|
||||
- 4K tokens → 1600 万次计算
|
||||
- 128K tokens → 163 亿次计算
|
||||
- 1M tokens → 1 万亿次计算
|
||||
|
||||
不解决这个问题,长上下文就是空谈。
|
||||
|
||||
## 关键创新时间线
|
||||
|
||||
| 时间 | 创新 | 影响 |
|
||||
|------|------|------|
|
||||
| 2017.06 | **原始 Transformer / 自注意力** | "Attention Is All You Need";O(n^2) 复杂度限制了上下文长度 |
|
||||
| 2019-2020 | **稀疏注意力变体** | Longformer、BigBird;降低注意力复杂度,支持更长序列 |
|
||||
| 2022.05.27 | **FlashAttention** | IO 感知的精确注意力 + 分块计算;2-4x 加速;让长上下文训练变得实际可行 |
|
||||
| 2023 | **FlashAttention-2** | 更好的并行和工作分配 |
|
||||
| 2023.08 | **Ring Attention** | 分块并行 Transformer;将注意力计算分布到多设备,理论上支持"无限"上下文 |
|
||||
| 2023.11 | **Striped Attention** | 优化 Ring Attention 在因果 Transformer 上的效率 |
|
||||
| 2024 | **FlashAttention-3** | 异步计算 + 低精度支持 |
|
||||
| 2024.02 | **Ring Attention 处理百万级视频** | 实际验证 1M+ token 处理能力 |
|
||||
|
||||
## FlashAttention:最关键的突破
|
||||
|
||||
### 传统注意力
|
||||
|
||||
```
|
||||
Q, K, V 矩阵(全在 GPU HBM 中)
|
||||
↓
|
||||
计算完整 n×n 注意力矩阵(写回 HBM)
|
||||
↓
|
||||
与 V 相乘(再次读写 HBM)
|
||||
|
||||
问题:GPU 的计算很快,但 HBM 读写是瓶颈
|
||||
```
|
||||
|
||||
### FlashAttention
|
||||
|
||||
```
|
||||
Q, K, V 矩阵
|
||||
↓
|
||||
分块(Tiling):切成小块放入 SRAM
|
||||
↓
|
||||
在 SRAM 中完成注意力计算(不写回中间结果)
|
||||
↓
|
||||
只输出最终结果到 HBM
|
||||
|
||||
效果:减少 HBM 读写次数,2-4x 加速,无精度损失
|
||||
```
|
||||
|
||||
## Ring Attention:分布式长上下文
|
||||
|
||||
```
|
||||
设备 1 设备 2 设备 3 设备 4
|
||||
┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐
|
||||
│ Q块1 │ │ Q块2 │ │ Q块3 │ │ Q块4 │
|
||||
│ K块1 │ ──→ │ K块1 │ ──→ │ K块1 │ ──→ │ K块1 │ ──→ (环形传递)
|
||||
│ V块1 │ │ V块1 │ │ V块1 │ │ V块1 │
|
||||
└──────┘ └──────┘ └──────┘ └──────┘
|
||||
|
||||
KV 块在设备间环形传递,每个设备只需要存储自己的 Q 块
|
||||
→ 上下文长度随设备数线性扩展
|
||||
→ 理论上:设备数 × 单设备上下文 = 总上下文
|
||||
```
|
||||
|
||||
## 技术栈对应关系
|
||||
|
||||
| 上下文里程碑 | 底层技术支撑 |
|
||||
|-------------|-------------|
|
||||
| 4K → 32K | 模型架构优化(RoPE 位置编码等) |
|
||||
| 32K → 128K | FlashAttention 让训练可行 |
|
||||
| 128K → 1M | FlashAttention-2/3 + 稀疏注意力 |
|
||||
| 1M → 10M | Ring Attention + 分布式计算 |
|
||||
|
||||
## 趋势
|
||||
|
||||
- **精确注意力没有被抛弃** —— FlashAttention 证明通过 IO 优化,精确注意力也能高效
|
||||
- **分布式是长上下文的终极答案** —— Ring Attention 让上下文长度和硬件规模线性相关
|
||||
- **硬件在追赶** —— 更大 SRAM、更快 HBM 让长上下文的成本持续下降
|
||||
21
AGENTS.md
Normal file
21
AGENTS.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# AI记忆技术演进 Agent Rules
|
||||
|
||||
## Must Read First
|
||||
|
||||
- `.project.json` 是机器真源:公网链接、快捷登录、凭证引用都以它为准
|
||||
- `RULES.md` 是人工规则和部署事实:启动命令、平台、域名、注意事项都写这里
|
||||
- 不允许编造不存在的域名、账号、密码;未知就保持空白并明确标记待补充
|
||||
|
||||
## Deployment Metadata Contract
|
||||
|
||||
- 任何任务只要新增、删除或修改公网地址,必须在同一次任务里更新 `.project.json`
|
||||
- `urls[]` 推荐显式写 `type`:`app`、`backend`、`docs`、`admin`、`repo`
|
||||
- 项目专属的网页登录信息,如果允许放进仓库,就写 `.project.json.quick_login`
|
||||
- 不能直接入库的敏感登录,不要伪造 `quick_login`,改为写 `.project.json.credentials` 引用
|
||||
- 数据库密码、API Key、服务器 root 密码,不属于 `quick_login`
|
||||
|
||||
## Completion Gate
|
||||
|
||||
- 部署完成后,不允许在 `.project.json` 缺少最新公网链接的状态下结束任务
|
||||
- 部署完成后,必须同步更新 `RULES.md` 的部署事实
|
||||
- 如果只更新了代码但没回写部署元数据,这个任务不算完成
|
||||
21
CLAUDE.md
Normal file
21
CLAUDE.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# AI记忆技术演进 Agent Rules
|
||||
|
||||
## Must Read First
|
||||
|
||||
- `.project.json` 是机器真源:公网链接、快捷登录、凭证引用都以它为准
|
||||
- `RULES.md` 是人工规则和部署事实:启动命令、平台、域名、注意事项都写这里
|
||||
- 不允许编造不存在的域名、账号、密码;未知就保持空白并明确标记待补充
|
||||
|
||||
## Deployment Metadata Contract
|
||||
|
||||
- 任何任务只要新增、删除或修改公网地址,必须在同一次任务里更新 `.project.json`
|
||||
- `urls[]` 推荐显式写 `type`:`app`、`backend`、`docs`、`admin`、`repo`
|
||||
- 项目专属的网页登录信息,如果允许放进仓库,就写 `.project.json.quick_login`
|
||||
- 不能直接入库的敏感登录,不要伪造 `quick_login`,改为写 `.project.json.credentials` 引用
|
||||
- 数据库密码、API Key、服务器 root 密码,不属于 `quick_login`
|
||||
|
||||
## Completion Gate
|
||||
|
||||
- 部署完成后,不允许在 `.project.json` 缺少最新公网链接的状态下结束任务
|
||||
- 部署完成后,必须同步更新 `RULES.md` 的部署事实
|
||||
- 如果只更新了代码但没回写部署元数据,这个任务不算完成
|
||||
59
README.md
Normal file
59
README.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# AI 记忆技术演进研究
|
||||
|
||||
> 记录 AI/LLM 记忆能力从"无状态"到"全面记忆"的技术转变。
|
||||
|
||||
## 为什么做这个记录
|
||||
|
||||
AI 的"记忆"经历了剧烈的变革——从 GPT-2 的 1024 tokens 到 Llama 4 Scout 的 1000 万 tokens,从每次对话完全失忆到跨会话持久记忆,从单一上下文到 RAG + Agent + MCP 多层记忆体系。这些变化发生得太快,值得系统性地记录下来。
|
||||
|
||||
## 演进主线
|
||||
|
||||
```
|
||||
无状态 LLM(2018-2022)
|
||||
↓ 每次对话都是全新的,512-4K tokens 上下文
|
||||
上下文窗口扩张(2023-2024)
|
||||
↓ 4K → 32K → 128K → 200K,信息可以"塞进去"
|
||||
RAG 检索增强(2023-2024)
|
||||
↓ 外部知识库补充上下文,向量数据库兴起
|
||||
持久记忆(2024-2025)
|
||||
↓ ChatGPT Memory、Claude Memory,跨会话记住用户
|
||||
Agent 记忆(2025-2026)
|
||||
↓ 自主 Agent 拥有工作记忆+长期存储
|
||||
全面记忆时代(2026-)
|
||||
↓ 1M+ tokens 上下文 + 持久记忆 + MCP 工具记忆 + Agent 自主管理
|
||||
```
|
||||
|
||||
## 文档目录
|
||||
|
||||
| 文件 | 内容 |
|
||||
|------|------|
|
||||
| [01-上下文窗口演进.md](01-上下文窗口演进.md) | 各模型上下文窗口从 512 到 1000 万的完整时间线 |
|
||||
| [02-RAG技术演进.md](02-RAG技术演进.md) | 从 RAG 论文到 GraphRAG、Agentic RAG 的发展 |
|
||||
| [03-持久记忆系统.md](03-持久记忆系统.md) | MemGPT、ChatGPT Memory、Claude Memory 等方案 |
|
||||
| [04-微调与对齐.md](04-微调与对齐.md) | LoRA/QLoRA/RLHF/DPO——通过训练"写入"记忆 |
|
||||
| [05-Agent记忆架构.md](05-Agent记忆架构.md) | 从 AutoGPT 到 Claude Agent SDK 的记忆设计 |
|
||||
| [06-MCP与工具记忆.md](06-MCP与工具记忆.md) | MCP 协议如何让记忆跨工具、跨平台流通 |
|
||||
| [07-注意力机制演进.md](07-注意力机制演进.md) | FlashAttention / Ring Attention——大上下文的底层支撑 |
|
||||
|
||||
## 关键数字速览
|
||||
|
||||
| 指标 | 起点 | 现在(2026.3) | 倍数 |
|
||||
|------|------|----------------|------|
|
||||
| 最大上下文窗口 | 512 tokens(GPT-1, 2018) | 10M tokens(Llama 4 Scout, 2025) | ~20,000x |
|
||||
| 主流上下文窗口 | 4K tokens(GPT-3.5, 2022) | 1M tokens(Claude 4.6 / Gemini 2.5) | ~250x |
|
||||
| 跨会话记忆 | 无 | 标配(ChatGPT / Claude / Cursor 等) | 0→1 |
|
||||
| 向量数据库 | FAISS 一个库(2017) | 7+ 主流方案(2024) | 生态爆发 |
|
||||
| 记忆框架 | 无 | Mem0 / Letta / Zep / OpenMemory 等 | 从零到生态 |
|
||||
| MCP 服务器 | 0(2024.11 前) | 5,800+(2025.4) | 5 个月爆发 |
|
||||
|
||||
## 核心洞察
|
||||
|
||||
1. **上下文窗口不是终极方案** —— 即使有 1M tokens,仍需 RAG 和持久记忆补充
|
||||
2. **记忆从产品特性变成基础设施** —— MCP 让记忆成为可插拔的标准化层
|
||||
3. **Agent 让记忆从被动变主动** —— 不再是"用户塞进去",而是 AI 自己管理记忆
|
||||
4. **多层记忆架构成为共识** —— 工作记忆 + 短期记忆 + 长期记忆,类比人脑
|
||||
5. **开源追赶速度极快** —— Llama 4 Scout 10M 上下文,Qwen 2.5 1M,差距在缩小
|
||||
|
||||
---
|
||||
|
||||
*立项 2025.07 · 持续更新中 · 最后更新 2026.03.18*
|
||||
29
RULES.md
Normal file
29
RULES.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# AI记忆技术演进
|
||||
|
||||
> AI 记忆技术演进研究展示页面
|
||||
|
||||
## 启动
|
||||
|
||||
- `python3 -m http.server 3724` — 端口 3724
|
||||
|
||||
## 技术栈
|
||||
|
||||
- HTML
|
||||
|
||||
## 目录结构
|
||||
|
||||
- `01-上下文窗口演进.md`
|
||||
- `02-RAG技术演进.md`
|
||||
- `03-持久记忆系统.md`
|
||||
- `04-微调与对齐.md`
|
||||
- `05-Agent记忆架构.md`
|
||||
- `06-MCP与工具记忆.md`
|
||||
- `07-注意力机制演进.md`
|
||||
- `README.md`
|
||||
- `index.html`
|
||||
|
||||
## 规则
|
||||
|
||||
- 开发端口 3724,不要随意更改
|
||||
- 保持现有技术栈(HTML),不要引入新框架
|
||||
- 单文件或轻量项目,保持简洁,不要过度工程化
|
||||
795
index.html
Normal file
795
index.html
Normal file
@@ -0,0 +1,795 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>AI 记忆技术演进</title>
|
||||
<style>
|
||||
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
|
||||
:root{
|
||||
--bg:#0a0a0f;--surface:#12121a;--surface2:#1a1a26;--surface3:#22222f;
|
||||
--border:#2a2a3a;--text:#e4e4ef;--text2:#9999aa;--accent:#6366f1;
|
||||
--accent2:#818cf8;--green:#34d399;--amber:#fbbf24;--rose:#fb7185;
|
||||
--cyan:#22d3ee;--radius:12px;
|
||||
}
|
||||
html{scroll-behavior:smooth;font-size:15px}
|
||||
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans SC",sans-serif;
|
||||
background:var(--bg);color:var(--text);line-height:1.7;min-height:100vh}
|
||||
|
||||
/* layout */
|
||||
.layout{display:flex;min-height:100vh}
|
||||
.sidebar{width:280px;position:fixed;top:0;left:0;height:100vh;background:var(--surface);
|
||||
border-right:1px solid var(--border);padding:24px 0;overflow-y:auto;z-index:100;
|
||||
transition:transform .3s}
|
||||
.sidebar-header{padding:0 24px 24px;border-bottom:1px solid var(--border)}
|
||||
.sidebar-header h1{font-size:1.15rem;font-weight:700;letter-spacing:-.02em}
|
||||
.sidebar-header p{font-size:.75rem;color:var(--text2);margin-top:4px}
|
||||
.nav{padding:16px 12px}
|
||||
.nav a{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;
|
||||
color:var(--text2);text-decoration:none;font-size:.85rem;transition:all .2s;margin-bottom:2px}
|
||||
.nav a:hover{background:var(--surface2);color:var(--text)}
|
||||
.nav a.active{background:var(--accent);color:#fff;font-weight:600}
|
||||
.nav a .num{width:24px;height:24px;border-radius:6px;background:var(--surface3);
|
||||
display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;
|
||||
flex-shrink:0;transition:background .2s}
|
||||
.nav a.active .num{background:rgba(255,255,255,.2)}
|
||||
|
||||
.main{margin-left:280px;flex:1;padding:48px 56px 80px;max-width:960px}
|
||||
|
||||
/* mobile toggle */
|
||||
.menu-btn{display:none;position:fixed;top:16px;left:16px;z-index:200;width:40px;height:40px;
|
||||
border-radius:10px;background:var(--surface2);border:1px solid var(--border);cursor:pointer;
|
||||
align-items:center;justify-content:center}
|
||||
.menu-btn svg{stroke:var(--text);stroke-width:2;fill:none;width:20px;height:20px}
|
||||
.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:50}
|
||||
|
||||
/* sections */
|
||||
.section{display:none;animation:fadeIn .35s}
|
||||
.section.active{display:block}
|
||||
@keyframes fadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
|
||||
|
||||
h2{font-size:1.6rem;font-weight:700;margin-bottom:8px;letter-spacing:-.03em}
|
||||
h3{font-size:1.15rem;font-weight:700;margin:36px 0 12px;color:var(--accent2)}
|
||||
h4{font-size:.95rem;font-weight:600;margin:24px 0 8px;color:var(--green)}
|
||||
.subtitle{color:var(--text2);font-size:.9rem;margin-bottom:32px;font-style:italic;
|
||||
border-left:3px solid var(--accent);padding-left:14px}
|
||||
p{margin-bottom:14px;color:var(--text)}
|
||||
strong{color:var(--text);font-weight:600}
|
||||
|
||||
/* stats cards */
|
||||
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:28px 0}
|
||||
.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}
|
||||
.stat-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text2);margin-bottom:6px}
|
||||
.stat-value{font-size:1.5rem;font-weight:800;letter-spacing:-.03em}
|
||||
.stat-sub{font-size:.72rem;color:var(--text2);margin-top:4px}
|
||||
.stat--accent .stat-value{color:var(--accent2)}
|
||||
.stat--green .stat-value{color:var(--green)}
|
||||
.stat--amber .stat-value{color:var(--amber)}
|
||||
.stat--rose .stat-value{color:var(--rose)}
|
||||
.stat--cyan .stat-value{color:var(--cyan)}
|
||||
|
||||
/* timeline */
|
||||
.timeline{position:relative;padding-left:28px;margin:24px 0}
|
||||
.timeline::before{content:'';position:absolute;left:8px;top:4px;bottom:4px;width:2px;
|
||||
background:linear-gradient(var(--accent),var(--green))}
|
||||
.tl-item{position:relative;margin-bottom:20px}
|
||||
.tl-item::before{content:'';position:absolute;left:-24px;top:7px;width:12px;height:12px;
|
||||
border-radius:50%;background:var(--accent);border:2px solid var(--bg)}
|
||||
.tl-item:last-child::before{background:var(--green)}
|
||||
.tl-year{font-size:.72rem;font-weight:700;color:var(--accent2);text-transform:uppercase;letter-spacing:.05em}
|
||||
.tl-text{font-size:.88rem;color:var(--text);margin-top:2px}
|
||||
.tl-text .dim{color:var(--text2)}
|
||||
|
||||
/* tables */
|
||||
.table-wrap{overflow-x:auto;margin:18px 0;border-radius:var(--radius);border:1px solid var(--border)}
|
||||
table{width:100%;border-collapse:collapse;font-size:.82rem}
|
||||
th{background:var(--surface2);text-align:left;padding:10px 14px;font-weight:600;
|
||||
color:var(--text2);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;
|
||||
border-bottom:1px solid var(--border);white-space:nowrap}
|
||||
td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:top}
|
||||
tr:last-child td{border-bottom:none}
|
||||
tr:hover td{background:var(--surface2)}
|
||||
.highlight{color:var(--accent2);font-weight:700}
|
||||
.tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:600}
|
||||
.tag--green{background:rgba(52,211,153,.15);color:var(--green)}
|
||||
.tag--amber{background:rgba(251,191,36,.15);color:var(--amber)}
|
||||
.tag--accent{background:rgba(99,102,241,.15);color:var(--accent2)}
|
||||
.tag--rose{background:rgba(251,113,133,.15);color:var(--rose)}
|
||||
.tag--cyan{background:rgba(34,211,238,.15);color:var(--cyan)}
|
||||
|
||||
/* code / pre */
|
||||
pre{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
|
||||
padding:18px 20px;overflow-x:auto;font-size:.8rem;line-height:1.6;margin:18px 0;
|
||||
font-family:"SF Mono","Fira Code",monospace;color:var(--text2)}
|
||||
code{font-family:"SF Mono","Fira Code",monospace;font-size:.82rem;
|
||||
background:var(--surface2);padding:2px 6px;border-radius:4px}
|
||||
|
||||
/* cards */
|
||||
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
|
||||
padding:22px;margin:16px 0}
|
||||
.card-title{font-size:.9rem;font-weight:700;margin-bottom:8px}
|
||||
.card-body{font-size:.85rem;color:var(--text2);line-height:1.65}
|
||||
|
||||
/* comparison */
|
||||
.compare{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}
|
||||
.compare-col{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}
|
||||
.compare-col h4{margin-top:0;font-size:.85rem}
|
||||
|
||||
/* flow */
|
||||
.flow{display:flex;flex-direction:column;gap:0;margin:20px 0;align-items:center}
|
||||
.flow-item{background:var(--surface);border:1px solid var(--border);border-radius:10px;
|
||||
padding:14px 24px;text-align:center;font-size:.85rem;max-width:500px;width:100%}
|
||||
.flow-arrow{color:var(--accent);font-size:1.2rem;padding:4px 0}
|
||||
.flow-note{font-size:.72rem;color:var(--text2);margin-top:4px}
|
||||
|
||||
/* insight box */
|
||||
.insight{background:linear-gradient(135deg,rgba(99,102,241,.08),rgba(34,211,238,.08));
|
||||
border:1px solid rgba(99,102,241,.2);border-radius:var(--radius);padding:20px 22px;margin:24px 0}
|
||||
.insight-title{font-size:.78rem;font-weight:700;color:var(--accent2);text-transform:uppercase;
|
||||
letter-spacing:.06em;margin-bottom:10px}
|
||||
.insight p{font-size:.88rem;margin-bottom:8px}
|
||||
.insight p:last-child{margin-bottom:0}
|
||||
|
||||
/* footer */
|
||||
.footer{margin-top:64px;padding-top:24px;border-top:1px solid var(--border);
|
||||
font-size:.75rem;color:var(--text2);text-align:center}
|
||||
|
||||
/* responsive */
|
||||
@media(max-width:860px){
|
||||
.sidebar{transform:translateX(-100%)}
|
||||
.sidebar.open{transform:translateX(0)}
|
||||
.menu-btn{display:flex}
|
||||
.overlay.open{display:block}
|
||||
.main{margin-left:0;padding:56px 20px 60px}
|
||||
.stats{grid-template-columns:1fr 1fr}
|
||||
.compare{grid-template-columns:1fr}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<button class="menu-btn" onclick="toggleSidebar()">
|
||||
<svg viewBox="0 0 24 24"><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg>
|
||||
</button>
|
||||
<div class="overlay" onclick="toggleSidebar()"></div>
|
||||
|
||||
<div class="layout">
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-header">
|
||||
<h1>AI 记忆技术演进</h1>
|
||||
<p>从无状态到全面记忆</p>
|
||||
</div>
|
||||
<nav class="nav">
|
||||
<a href="#overview" class="active" data-sec="overview"><span class="num">~</span>总览</a>
|
||||
<a href="#s1" data-sec="s1"><span class="num">01</span>上下文窗口演进</a>
|
||||
<a href="#s2" data-sec="s2"><span class="num">02</span>RAG 技术演进</a>
|
||||
<a href="#s3" data-sec="s3"><span class="num">03</span>持久记忆系统</a>
|
||||
<a href="#s4" data-sec="s4"><span class="num">04</span>微调与对齐</a>
|
||||
<a href="#s5" data-sec="s5"><span class="num">05</span>Agent 记忆架构</a>
|
||||
<a href="#s6" data-sec="s6"><span class="num">06</span>MCP 与工具记忆</a>
|
||||
<a href="#s7" data-sec="s7"><span class="num">07</span>注意力机制演进</a>
|
||||
</nav>
|
||||
</aside>
|
||||
|
||||
<main class="main">
|
||||
|
||||
<!-- ==================== 总览 ==================== -->
|
||||
<div class="section active" id="overview">
|
||||
<h2>AI 记忆技术演进研究</h2>
|
||||
<p class="subtitle">记录 AI/LLM 记忆能力从"无状态"到"全面记忆"的技术转变</p>
|
||||
|
||||
<h3>演进主线</h3>
|
||||
<div class="flow">
|
||||
<div class="flow-item">无状态 LLM(2018-2022)<div class="flow-note">每次对话都是全新的,512-4K tokens</div></div>
|
||||
<div class="flow-arrow">↓</div>
|
||||
<div class="flow-item">上下文窗口扩张(2023-2024)<div class="flow-note">4K → 32K → 128K → 200K</div></div>
|
||||
<div class="flow-arrow">↓</div>
|
||||
<div class="flow-item">RAG 检索增强(2023-2024)<div class="flow-note">外部知识库补充上下文,向量数据库兴起</div></div>
|
||||
<div class="flow-arrow">↓</div>
|
||||
<div class="flow-item">持久记忆(2024-2025)<div class="flow-note">ChatGPT Memory、Claude Memory,跨会话记住用户</div></div>
|
||||
<div class="flow-arrow">↓</div>
|
||||
<div class="flow-item">Agent 记忆(2025-2026)<div class="flow-note">自主 Agent 拥有工作记忆 + 长期存储</div></div>
|
||||
<div class="flow-arrow">↓</div>
|
||||
<div class="flow-item" style="border-color:var(--accent);box-shadow:0 0 20px rgba(99,102,241,.15)">
|
||||
全面记忆时代(2026-)<div class="flow-note">1M+ 上下文 + 持久记忆 + MCP 工具记忆 + Agent 自主管理</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3>关键数字速览</h3>
|
||||
<div class="stats">
|
||||
<div class="stat stat--accent">
|
||||
<div class="stat-label">最大上下文窗口</div>
|
||||
<div class="stat-value">~20,000x</div>
|
||||
<div class="stat-sub">512 → 10M tokens</div>
|
||||
</div>
|
||||
<div class="stat stat--green">
|
||||
<div class="stat-label">主流上下文窗口</div>
|
||||
<div class="stat-value">~250x</div>
|
||||
<div class="stat-sub">4K → 1M tokens</div>
|
||||
</div>
|
||||
<div class="stat stat--amber">
|
||||
<div class="stat-label">跨会话记忆</div>
|
||||
<div class="stat-value">0 → 1</div>
|
||||
<div class="stat-sub">从无到标配</div>
|
||||
</div>
|
||||
<div class="stat stat--cyan">
|
||||
<div class="stat-label">MCP 服务器</div>
|
||||
<div class="stat-value">5,800+</div>
|
||||
<div class="stat-sub">5 个月从 0 到生态</div>
|
||||
</div>
|
||||
<div class="stat stat--rose">
|
||||
<div class="stat-label">向量数据库</div>
|
||||
<div class="stat-value">7+</div>
|
||||
<div class="stat-sub">主流方案</div>
|
||||
</div>
|
||||
<div class="stat stat--accent">
|
||||
<div class="stat-label">记忆框架</div>
|
||||
<div class="stat-value">从零到生态</div>
|
||||
<div class="stat-sub">Mem0 / Letta / Zep / OpenMemory</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="insight">
|
||||
<div class="insight-title">核心洞察</div>
|
||||
<p><strong>1. 上下文窗口不是终极方案</strong> —— 即使有 1M tokens,仍需 RAG 和持久记忆补充</p>
|
||||
<p><strong>2. 记忆从产品特性变成基础设施</strong> —— MCP 让记忆成为可插拔的标准化层</p>
|
||||
<p><strong>3. Agent 让记忆从被动变主动</strong> —— AI 自己管理记忆,不再靠用户塞入</p>
|
||||
<p><strong>4. 多层记忆架构成为共识</strong> —— 工作记忆 + 短期 + 长期,类比人脑</p>
|
||||
<p><strong>5. 开源追赶速度极快</strong> —— Llama 4 Scout 10M,Qwen 2.5 1M</p>
|
||||
</div>
|
||||
|
||||
<div class="footer">立项 2025.07 · 持续更新中 · 最后更新 2026.03.18</div>
|
||||
</div>
|
||||
|
||||
<!-- ==================== 01 上下文窗口 ==================== -->
|
||||
<div class="section" id="s1">
|
||||
<h2>01 / 上下文窗口演进</h2>
|
||||
<p class="subtitle">从 512 tokens 到 1000 万 tokens,AI 的"工作记忆"扩大了近 20,000 倍</p>
|
||||
|
||||
<h3>OpenAI GPT 系列</h3>
|
||||
<div class="table-wrap"><table>
|
||||
<tr><th>模型</th><th>发布时间</th><th>上下文窗口</th><th>备注</th></tr>
|
||||
<tr><td>GPT-1</td><td>2018.06</td><td>512</td><td>最初的 Transformer LM</td></tr>
|
||||
<tr><td>GPT-2</td><td>2019.02</td><td>1,024</td><td>1.5B 参数</td></tr>
|
||||
<tr><td>GPT-3</td><td>2020.05</td><td>2,048</td><td>175B 参数,few-shot 涌现</td></tr>
|
||||
<tr><td>GPT-3.5 / ChatGPT</td><td>2022.11.30</td><td>4,096</td><td>聊天界面上线,AI 出圈</td></tr>
|
||||
<tr><td>GPT-4</td><td>2023.03.14</td><td><span class="highlight">8K / 32K</span></td><td>多模态,两个上下文版本</td></tr>
|
||||
<tr><td>GPT-4 Turbo</td><td>2023.11.06</td><td><span class="highlight">128K</span></td><td>DevDay 发布</td></tr>
|
||||
<tr><td>GPT-4o</td><td>2024.05.13</td><td>128K</td><td>全模态,速度更快</td></tr>
|
||||
<tr><td>o1</td><td>2024.12.05</td><td>200K</td><td>100K 输出 tokens</td></tr>
|
||||
<tr><td>GPT-4.1</td><td>2025.04.14</td><td class="highlight">1M</td><td>含 mini 和 nano 变体</td></tr>
|
||||
<tr><td>o3</td><td>2025.04</td><td>200K</td><td>与 o4-mini 同期</td></tr>
|
||||
</table></div>
|
||||
|
||||
<h3>Anthropic Claude 系列</h3>
|
||||
<div class="table-wrap"><table>
|
||||
<tr><th>模型</th><th>发布时间</th><th>上下文窗口</th><th>备注</th></tr>
|
||||
<tr><td>Claude 1</td><td>2023.03</td><td>9K</td><td>首次 API 发布</td></tr>
|
||||
<tr><td>Claude 2</td><td>2023.07.11</td><td><span class="highlight">100K</span></td><td>从 9K 跳到 100K,里程碑</td></tr>
|
||||
<tr><td>Claude 2.1</td><td>2023.11.21</td><td>200K</td><td>翻倍</td></tr>
|
||||
<tr><td>Claude 3 家族</td><td>2024.03.04</td><td>200K</td><td>Haiku / Sonnet / Opus</td></tr>
|
||||
<tr><td>Claude 3.5 Sonnet</td><td>2024.06.20</td><td>200K</td><td>性能超 Opus</td></tr>
|
||||
<tr><td>Claude 3.7 Sonnet</td><td>2025.02.25</td><td>200K</td><td>Extended Thinking</td></tr>
|
||||
<tr><td>Claude Opus 4</td><td>2025.05.22</td><td>200K</td><td>最强编程模型</td></tr>
|
||||
<tr><td>Claude Sonnet 4.5</td><td>2025.09.29</td><td>200K (1M beta)</td><td>1M Beta 测试</td></tr>
|
||||
<tr><td>Claude Opus 4.6</td><td>2026.02.05</td><td class="highlight">1M</td><td>1M GA,128K 输出</td></tr>
|
||||
<tr><td>Claude Sonnet 4.6</td><td>2026.02.17</td><td class="highlight">1M</td><td>1M GA,64K 输出</td></tr>
|
||||
</table></div>
|
||||
|
||||
<h3>Google Gemini 系列</h3>
|
||||
<div class="table-wrap"><table>
|
||||
<tr><th>模型</th><th>发布时间</th><th>上下文窗口</th><th>备注</th></tr>
|
||||
<tr><td>Gemini 1.0</td><td>2023.12.06</td><td>32K</td><td>Ultra / Pro / Nano</td></tr>
|
||||
<tr><td>Gemini 1.5 Pro</td><td>2024.02.15</td><td class="highlight">1M</td><td>首个 1M 上下文模型</td></tr>
|
||||
<tr><td>Gemini 1.5 Pro 扩展</td><td>2024 年中</td><td class="highlight">2M</td><td>Google I/O 翻倍</td></tr>
|
||||
<tr><td>Gemini 2.0 Flash</td><td>2024.12</td><td>1M</td><td>Agentic 时代开启</td></tr>
|
||||
<tr><td>Gemini 2.5 Flash</td><td>2025.05.20</td><td>1M</td><td>混合思考控制</td></tr>
|
||||
</table></div>
|
||||
|
||||
<h3>开源模型</h3>
|
||||
<div class="table-wrap"><table>
|
||||
<tr><th>模型</th><th>发布时间</th><th>上下文窗口</th><th>系列</th></tr>
|
||||
<tr><td>LLaMA 1</td><td>2023.02</td><td>2,048</td><td rowspan="5" style="vertical-align:middle;color:var(--accent2)">Meta Llama</td></tr>
|
||||
<tr><td>Llama 2</td><td>2023.07</td><td>4,096</td></tr>
|
||||
<tr><td>Llama 3</td><td>2024.04</td><td>8,192</td></tr>
|
||||
<tr><td>Llama 3.1</td><td>2024.07</td><td><span class="highlight">128K</span></td></tr>
|
||||
<tr><td>Llama 4 Scout</td><td>2025.04</td><td class="highlight">10M</td></tr>
|
||||
<tr><td>Mistral 7B</td><td>2023.10</td><td>8K (滑动窗口 32K)</td><td rowspan="2" style="vertical-align:middle;color:var(--green)">Mistral AI</td></tr>
|
||||
<tr><td>Mixtral 8x7B</td><td>2023.12</td><td>32K</td></tr>
|
||||
<tr><td>Qwen 1</td><td>2023.08</td><td>8K</td><td rowspan="3" style="vertical-align:middle;color:var(--amber)">阿里 Qwen</td></tr>
|
||||
<tr><td>Qwen 2.5</td><td>2024.09</td><td>128K</td></tr>
|
||||
<tr><td>Qwen 2.5-1M</td><td>2025.01</td><td class="highlight">1M</td></tr>
|
||||
<tr><td>DeepSeek-V3</td><td>2024.12</td><td>128K</td><td rowspan="2" style="vertical-align:middle;color:var(--rose)">DeepSeek</td></tr>
|
||||
<tr><td>DeepSeek-R1</td><td>2025.01</td><td>128K</td></tr>
|
||||
</table></div>
|
||||
|
||||
<h3>关键转折点</h3>
|
||||
<div class="timeline">
|
||||
<div class="tl-item"><div class="tl-year">2023.07 — Claude 2</div><div class="tl-text">首次突破 100K,证明长上下文可行</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2024.02 — Gemini 1.5 Pro</div><div class="tl-text">首个 1M 上下文,开启百万 token 时代</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2024.07 — Llama 3.1</div><div class="tl-text">开源阵营跟进到 128K</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2025.04 — GPT-4.1</div><div class="tl-text">OpenAI 进入 1M 时代</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2025.04 — Llama 4 Scout</div><div class="tl-text">10M tokens,开源超越闭源上下文长度</div></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ==================== 02 RAG ==================== -->
|
||||
<div class="section" id="s2">
|
||||
<h2>02 / RAG 技术演进</h2>
|
||||
<p class="subtitle">检索增强生成——让 AI 在有限上下文内"记住"无限知识</p>
|
||||
|
||||
<h3>核心论文时间线</h3>
|
||||
<div class="timeline">
|
||||
<div class="tl-item"><div class="tl-year">2017.03 — FAISS</div><div class="tl-text">Facebook AI 相似度搜索库,向量检索的基础设施</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2020.02 — REALM</div><div class="tl-text">Google,检索增强语言模型预训练,可微分检索器</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2020.05 — RAG 论文</div><div class="tl-text">Facebook/Meta AI,Lewis 等,组合 DPR + BART,奠定 RAG 范式</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2022.10 — LangChain</div><div class="tl-text">Harrison Chase 创建,让 RAG 管道构建平民化</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2023.10 — Self-RAG</div><div class="tl-text">LLM 自主决定是否检索、检索什么,通过反射 token 自我评估</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2024.01 — Corrective RAG</div><div class="tl-text">增加评估器判断检索结果相关性,不相关则触发补充搜索</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2024.07 — GraphRAG</div><div class="tl-text">Microsoft 开源,用知识图谱增强 RAG,GitHub 10K+ stars</div></div>
|
||||
</div>
|
||||
|
||||
<h3>从 Naive 到 Advanced 到 Agentic</h3>
|
||||
|
||||
<h4>Naive RAG(2022-2023)</h4>
|
||||
<pre>文档 → 分块 → 向量化 → 存入向量数据库
|
||||
用户提问 → 向量化 → 相似度搜索 → Top-K → 拼入 Prompt → LLM 生成</pre>
|
||||
<p>问题:检索质量不稳定、缺乏自我纠错、无法处理复杂查询。</p>
|
||||
|
||||
<h4>Advanced RAG(2023-2024)</h4>
|
||||
<div class="table-wrap"><table>
|
||||
<tr><th>方法</th><th>改进点</th></tr>
|
||||
<tr><td><span class="tag tag--accent">Self-RAG</span></td><td>LLM 学会自主决定是否检索,通过反射 token 自我评估</td></tr>
|
||||
<tr><td><span class="tag tag--amber">CRAG</span></td><td>评估器判断相关性,不相关时自动 Web 搜索补充</td></tr>
|
||||
<tr><td><span class="tag tag--green">GraphRAG</span></td><td>从文档中提取知识图谱,支持全局摘要查询</td></tr>
|
||||
</table></div>
|
||||
|
||||
<h4>Agentic RAG(2024-2025)</h4>
|
||||
<div class="flow">
|
||||
<div class="flow-item">用户提问</div>
|
||||
<div class="flow-arrow">↓</div>
|
||||
<div class="flow-item">Agent 路由器<div class="flow-note">判断是否需要检索、从哪里检索</div></div>
|
||||
<div class="flow-arrow">↓</div>
|
||||
<div class="flow-item" style="display:flex;gap:12px;padding:14px">
|
||||
<span class="tag tag--accent" style="padding:8px 16px">向量数据库</span>
|
||||
<span class="tag tag--green" style="padding:8px 16px">知识图谱</span>
|
||||
<span class="tag tag--amber" style="padding:8px 16px">Web 搜索</span>
|
||||
</div>
|
||||
<div class="flow-arrow">↓</div>
|
||||
<div class="flow-item">Agent 评估器<div class="flow-note">结果够不够好?需不需要再查?</div></div>
|
||||
<div class="flow-arrow">↓</div>
|
||||
<div class="flow-item">LLM 生成 → 自检 → 输出</div>
|
||||
</div>
|
||||
|
||||
<h3>向量数据库生态</h3>
|
||||
<div class="table-wrap"><table>
|
||||
<tr><th>数据库</th><th>创建时间</th><th>类型</th><th>特点</th></tr>
|
||||
<tr><td>FAISS</td><td>2017.03</td><td><span class="tag tag--cyan">库</span></td><td>Facebook,行业基石</td></tr>
|
||||
<tr><td>Weaviate</td><td>2018 末</td><td><span class="tag tag--green">开源 DB</span></td><td>最早的专用向量搜索数据库</td></tr>
|
||||
<tr><td>Milvus</td><td>2019</td><td><span class="tag tag--green">开源 DB</span></td><td>分布式架构</td></tr>
|
||||
<tr><td>Pinecone</td><td>2019</td><td><span class="tag tag--amber">云托管</span></td><td>全托管服务,开箱即用</td></tr>
|
||||
<tr><td>pgvector</td><td>2021.04</td><td><span class="tag tag--accent">PG 扩展</span></td><td>给 Postgres 加向量能力</td></tr>
|
||||
<tr><td>Qdrant</td><td>2021</td><td><span class="tag tag--green">开源 DB</span></td><td>Rust 编写,高性能</td></tr>
|
||||
<tr><td>Chroma</td><td>2022.10</td><td><span class="tag tag--green">开源 DB</span></td><td>$18M 种子轮,开发体验好</td></tr>
|
||||
</table></div>
|
||||
|
||||
<h3>RAG vs 长上下文</h3>
|
||||
<div class="compare">
|
||||
<div class="compare-col">
|
||||
<h4 style="color:var(--accent2)">长上下文</h4>
|
||||
<p style="font-size:.85rem;color:var(--text2)">适合 < 1M tokens 的数据量<br>全局理解好<br>上下文越长延迟越高<br>全量 token 计费</p>
|
||||
</div>
|
||||
<div class="compare-col">
|
||||
<h4 style="color:var(--green)">RAG</h4>
|
||||
<p style="font-size:.85rem;color:var(--text2)">数据量无上限<br>可能漏检<br>检索本身很快<br>只检索相关片段,成本低</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="insight">
|
||||
<div class="insight-title">结论</div>
|
||||
<p>不是替代关系。1M 上下文适合"全局理解",RAG 适合"海量知识精准检索"。实际应用中两者经常组合使用。</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ==================== 03 持久记忆 ==================== -->
|
||||
<div class="section" id="s3">
|
||||
<h2>03 / 持久记忆系统</h2>
|
||||
<p class="subtitle">从"每次对话都是陌生人"到"AI 记住你是谁"</p>
|
||||
|
||||
<h3>MemGPT / Letta</h3>
|
||||
<div class="card">
|
||||
<div class="card-title">核心思想:借鉴操作系统虚拟内存</div>
|
||||
<div class="card-body">
|
||||
<p>2023.10.12 — MemGPT 论文发布,"Towards LLMs as Operating Systems"</p>
|
||||
<p>2024.09 — MemGPT 更名为 Letta(MemGPT 变成设计模式名)</p>
|
||||
</div>
|
||||
</div>
|
||||
<pre>主上下文(有限 token)← 类比 RAM
|
||||
↕ 自动换入换出
|
||||
归档存储(无限)← 类比磁盘
|
||||
|
||||
LLM 自主决定什么信息保留在"工作记忆"中,
|
||||
什么信息归档到长期存储,需要时再调回来。</pre>
|
||||
|
||||
<h3>ChatGPT Memory</h3>
|
||||
<div class="timeline">
|
||||
<div class="tl-item"><div class="tl-year">2024.02</div><div class="tl-text">OpenAI 发布 ChatGPT Memory 功能(测试)</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2024.09.05</div><div class="tl-text">Memory 向 Free / Plus / Team / Enterprise 开放</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2025.04.10</div><div class="tl-text">Memory 扩展为参考所有历史对话做个性化</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2025.06.03</div><div class="tl-text">免费用户也获得轻量级跨会话连续性</div></div>
|
||||
</div>
|
||||
|
||||
<h3>Claude 记忆体系</h3>
|
||||
<div class="timeline">
|
||||
<div class="tl-item"><div class="tl-year">2024.06</div><div class="tl-text">Claude Projects 上线 — 持久工作区 + 文档 + 自定义指令</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2024.09.12</div><div class="tl-text">Team / Enterprise 用户推出记忆功能</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2026.03</div><div class="tl-text">记忆功能向所有 Claude 用户开放</div></div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="card-title">Claude Code 的记忆系统(开发者工具)</div>
|
||||
<div class="card-body">
|
||||
<p><code>~/.claude/projects/<project>/memory/</code> 目录存放持久记忆</p>
|
||||
<p><code>CLAUDE.md</code> 文件作为项目级和用户级持久指令</p>
|
||||
<p>自动记忆:积累构建命令、调试经验、架构笔记、代码风格偏好</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3>IDE 记忆系统</h3>
|
||||
<div class="compare">
|
||||
<div class="compare-col">
|
||||
<h4 style="color:var(--accent2)">Cursor</h4>
|
||||
<p style="font-size:.85rem;color:var(--text2)">Cursor Rules(<code>.cursorrules</code> 文件)<br>社区 Memory Banks 方案<br>无内置自动记忆</p>
|
||||
</div>
|
||||
<div class="compare-col">
|
||||
<h4 style="color:var(--green)">Windsurf</h4>
|
||||
<p style="font-size:.85rem;color:var(--text2)">Memories 系统:自动 + 手动<br>AI 对话中识别重要信息<br>深层上下文不跨会话持久</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3>记忆框架</h3>
|
||||
<div class="table-wrap"><table>
|
||||
<tr><th>框架</th><th>时间</th><th>说明</th></tr>
|
||||
<tr><td><strong>Zep</strong></td><td>2023</td><td>基于时序知识图谱,底层用 Graphiti;社区版已停更,转向 Cloud</td></tr>
|
||||
<tr><td><strong>Mem0</strong></td><td>2024;A 轮 $24M</td><td>通用 AI 记忆层,自动提取、压缩、检索关键事实;YC 孵化</td></tr>
|
||||
<tr><td><strong>OpenMemory</strong></td><td>2025</td><td>本地持久记忆(基于 MCP),支持多个 AI 客户端</td></tr>
|
||||
</table></div>
|
||||
|
||||
<h3>从无到有的转变</h3>
|
||||
<div class="timeline">
|
||||
<div class="tl-item"><div class="tl-year">2022 以前</div><div class="tl-text">完全无状态,每次对话从零开始</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2023</div><div class="tl-text">MemGPT 提出分层记忆概念(学术)</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2024 上半年</div><div class="tl-text">ChatGPT Memory + Claude Projects(产品化)</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2024 下半年</div><div class="tl-text">记忆框架涌现 + IDE 集成记忆</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2025</div><div class="tl-text">记忆成为标配,MCP 让记忆跨平台</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2026</div><div class="tl-text">AI 主动管理自己的记忆</div></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ==================== 04 微调与对齐 ==================== -->
|
||||
<div class="section" id="s4">
|
||||
<h2>04 / 微调与对齐</h2>
|
||||
<p class="subtitle">如果上下文是 AI 的"短期记忆",那微调就是"长期记忆写入"</p>
|
||||
|
||||
<h3>OpenAI 微调 API 时间线</h3>
|
||||
<div class="table-wrap"><table>
|
||||
<tr><th>时间</th><th>事件</th></tr>
|
||||
<tr><td>2020-2022</td><td>GPT-3 微调可用(davinci / curie / babbage / ada)</td></tr>
|
||||
<tr><td>2023.08.22</td><td>GPT-3.5 Turbo 微调上线</td></tr>
|
||||
<tr><td>2023 末-2024 初</td><td>GPT-4 微调开放(实验性)</td></tr>
|
||||
<tr><td>2024.08.20</td><td>GPT-4o 微调 GA($25/M 训练 tokens)</td></tr>
|
||||
<tr><td>2024.12</td><td>强化微调(RFT)Alpha,"12 Days of OpenAI"</td></tr>
|
||||
<tr><td>2025.05</td><td>RFT GA + GPT-4.1 nano 监督微调</td></tr>
|
||||
</table></div>
|
||||
|
||||
<h3>参数高效微调突破</h3>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-title">LoRA — 低秩适配(2021.06)</div>
|
||||
<div class="card-body">
|
||||
<pre style="margin:10px 0">原始权重矩阵 W (d×d) ← 冻结
|
||||
+
|
||||
低秩分解 ΔW = A(d×r) × B(r×d) ← 可训练,r << d
|
||||
|
||||
训练参数量:从数十亿 → 数百万(减少 99%+)</pre>
|
||||
<p>让普通开发者也能在消费级 GPU 上微调大模型。</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-title">QLoRA(2023.05.23)</div>
|
||||
<div class="card-body">
|
||||
<pre style="margin:10px 0">4-bit 量化模型 + LoRA 适配器
|
||||
→ 65B 模型在单张 48GB GPU 上微调
|
||||
→ 成本再降一个数量级</pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3>对齐方法演进</h3>
|
||||
<div class="table-wrap"><table>
|
||||
<tr><th>时间</th><th>方法</th><th>意义</th></tr>
|
||||
<tr><td>2022.01</td><td><span class="tag tag--accent">RLHF</span></td><td>强化学习 + 人类反馈,GPT-3 学会遵循指令;成为行业标准</td></tr>
|
||||
<tr><td>2023.05.29</td><td><span class="tag tag--green">DPO</span></td><td>直接偏好优化,跳过奖励模型,比 RLHF 简单得多</td></tr>
|
||||
<tr><td>2024-2025</td><td><span class="tag tag--amber">ORPO / SimPO / KTO</span></td><td>在 DPO 基础上继续简化对齐流程</td></tr>
|
||||
</table></div>
|
||||
|
||||
<h3>微调 vs 其他记忆方式</h3>
|
||||
<div class="table-wrap"><table>
|
||||
<tr><th>维度</th><th>微调</th><th>上下文 / RAG</th><th>持久记忆</th></tr>
|
||||
<tr><td>写入速度</td><td>慢(需训练)</td><td>即时</td><td>即时</td></tr>
|
||||
<tr><td>持久性</td><td>永久(进入参数)</td><td>会话级 / 检索级</td><td>跨会话</td></tr>
|
||||
<tr><td>灵活性</td><td>低</td><td>高</td><td>中</td></tr>
|
||||
<tr><td>成本</td><td>高</td><td>低</td><td>低</td></tr>
|
||||
<tr><td>适用场景</td><td>领域知识、风格</td><td>实时信息</td><td>用户偏好</td></tr>
|
||||
</table></div>
|
||||
|
||||
<div class="insight">
|
||||
<div class="insight-title">趋势</div>
|
||||
<p>微调的角色从"主角"变成"专用工具":不再用微调来补充知识(1M 上下文 + RAG 更高效),而是专注于行为和风格的定制。</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ==================== 05 Agent 记忆 ==================== -->
|
||||
<div class="section" id="s5">
|
||||
<h2>05 / Agent 记忆架构</h2>
|
||||
<p class="subtitle">从"人类管理 AI 的记忆"到"AI 自己管理自己的记忆"</p>
|
||||
|
||||
<h3>早期自主 Agent(2023)</h3>
|
||||
<div class="table-wrap"><table>
|
||||
<tr><th>Agent</th><th>上线时间</th><th>记忆方案</th></tr>
|
||||
<tr><td><strong>AutoGPT</strong></td><td>2023.03</td><td>Pinecone 向量数据库 → 后简化为本地文件。5 个月 100K+ stars</td></tr>
|
||||
<tr><td><strong>BabyAGI</strong></td><td>2023.03</td><td>任务循环 + 向量记忆(Pinecone)</td></tr>
|
||||
<tr><td><strong>AgentGPT</strong></td><td>2023.03</td><td>浏览器端自主 Agent</td></tr>
|
||||
</table></div>
|
||||
<p style="color:var(--text2);font-size:.85rem">早期特点:记忆方案粗糙,向量数据库当万能解法,经常"记了但找不到"。</p>
|
||||
|
||||
<h3>框架记忆模块</h3>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-title">LangChain(2022.10 上线)</div>
|
||||
<div class="card-body">
|
||||
<p><span class="tag tag--accent">ConversationBufferMemory</span> 保留全部历史(简单,token 爆炸)</p>
|
||||
<p><span class="tag tag--green">ConversationSummaryMemory</span> LLM 总结历史(省 token,丢细节)</p>
|
||||
<p><span class="tag tag--amber">VectorStoreRetrieverMemory</span> 存入向量库,按相关性检索</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-title">LangGraph(2024 上线)</div>
|
||||
<div class="card-body">
|
||||
<p>基于状态的记忆 + checkpointing 机制</p>
|
||||
<p>线程级持久化,2025 初长期记忆支持上线</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-title">CrewAI(2024)— 四种记忆类型</div>
|
||||
<div class="card-body">
|
||||
<p><span class="tag tag--cyan">短期记忆</span> 当前任务上下文</p>
|
||||
<p><span class="tag tag--accent">长期记忆</span> 跨任务持久化</p>
|
||||
<p><span class="tag tag--green">实体记忆</span> 关于人/物/概念的结构化信息</p>
|
||||
<p><span class="tag tag--amber">程序记忆</span> "怎么做"的经验积累</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3>Agent SDK</h3>
|
||||
<div class="table-wrap"><table>
|
||||
<tr><th>SDK</th><th>发布时间</th><th>核心特性</th></tr>
|
||||
<tr><td><strong>OpenAI Agents SDK</strong></td><td>2025.03</td><td>Swarm 生产级演进;Agents / Handoffs / Guardrails / Tools</td></tr>
|
||||
<tr><td><strong>Claude Agent SDK</strong></td><td>2025</td><td>与 Claude Code 同基础设施;文件编辑 + 命令执行 + MCP</td></tr>
|
||||
</table></div>
|
||||
|
||||
<h3>核心转变</h3>
|
||||
<div class="table-wrap"><table>
|
||||
<tr><th>维度</th><th>早期(2023)</th><th>现在(2025-2026)</th></tr>
|
||||
<tr><td>谁管理记忆</td><td>开发者硬编码</td><td><span class="highlight">Agent 自主决策</span></td></tr>
|
||||
<tr><td>存储方式</td><td>全塞向量库</td><td><span class="highlight">分层(工作/短期/长期/程序)</span></td></tr>
|
||||
<tr><td>检索方式</td><td>向量相似度</td><td><span class="highlight">多策略混合</span></td></tr>
|
||||
<tr><td>跨 Agent 共享</td><td>不支持</td><td><span class="highlight">MCP 标准化共享</span></td></tr>
|
||||
<tr><td>经验学习</td><td>无</td><td><span class="highlight">程序记忆 / auto-memory</span></td></tr>
|
||||
</table></div>
|
||||
</div>
|
||||
|
||||
<!-- ==================== 06 MCP ==================== -->
|
||||
<div class="section" id="s6">
|
||||
<h2>06 / MCP 与工具记忆</h2>
|
||||
<p class="subtitle">Model Context Protocol——让记忆跨工具、跨平台流通的开放标准</p>
|
||||
|
||||
<h3>MCP 时间线</h3>
|
||||
<div class="timeline">
|
||||
<div class="tl-item"><div class="tl-year">2024.11.25</div><div class="tl-text">Anthropic 发布 MCP 开放标准 + Python / TypeScript SDK</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2024.11-2025 初</div><div class="tl-text">早期采用者:Block、Apollo、Zed、Replit、Codeium、Sourcegraph</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2025.04</div><div class="tl-text">生态爆发:<strong>8M+ 下载</strong>、<strong>5,800+ 服务器</strong>、<strong>300+ 客户端</strong></div></div>
|
||||
<div class="tl-item"><div class="tl-year">2025</div><div class="tl-text">OpenAI 和 Google DeepMind 采纳 MCP;C# / Java SDK 上线</div></div>
|
||||
<div class="tl-item"><div class="tl-year">2025.12</div><div class="tl-text">MCP 捐赠给 Linux 基金会下的 AAIF(Anthropic + Block + OpenAI 联合创始)</div></div>
|
||||
</div>
|
||||
|
||||
<h3>MCP 如何实现工具记忆</h3>
|
||||
<pre>┌─────────────────────────────┐
|
||||
│ AI 模型 │
|
||||
│ "用户上次用深色主题" │
|
||||
└──────────┬──────────────────┘
|
||||
│ MCP 协议(标准化接口)
|
||||
┌──────┼──────┐
|
||||
▼ ▼ ▼
|
||||
┌──────┐┌──────┐┌──────┐
|
||||
│文件系统││数据库 ││知识库 │
|
||||
│Server ││Server││Server│
|
||||
└──────┘└──────┘└──────┘
|
||||
|
||||
Resources(资源)→ 模型可读取的数据
|
||||
Tools(工具)→ 模型可调用的操作,含写入记忆</pre>
|
||||
|
||||
<h3>记忆相关 MCP 实践</h3>
|
||||
<div class="card">
|
||||
<div class="card-title">OpenMemory(Mem0, 2025)</div>
|
||||
<div class="card-body">
|
||||
<p>本地持久记忆 → MCP Server 暴露读写接口 → 任何 MCP 客户端均可访问</p>
|
||||
<p style="color:var(--green);margin-top:8px"><strong>核心价值</strong>:在 Claude Desktop 里告诉 AI 的偏好,切换到 Cursor 也能用。记忆不再被锁在单个应用里。</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3>MCP 前 vs 后</h3>
|
||||
<div class="table-wrap"><table>
|
||||
<tr><th>维度</th><th>MCP 之前</th><th>MCP 之后</th></tr>
|
||||
<tr><td>记忆归属</td><td>锁在各应用内</td><td class="highlight">跨应用共享</td></tr>
|
||||
<tr><td>接入方式</td><td>每个 App 自己写适配器</td><td class="highlight">标准协议,写一次到处用</td></tr>
|
||||
<tr><td>开发成本</td><td>为每个 AI 工具单独开发</td><td class="highlight">一个 Server 覆盖所有</td></tr>
|
||||
<tr><td>用户体验</td><td>换工具就丢记忆</td><td class="highlight">记忆跟着用户走</td></tr>
|
||||
<tr><td>生态</td><td>碎片化</td><td class="highlight">5,800+ 服务器统一生态</td></tr>
|
||||
</table></div>
|
||||
|
||||
<div class="stats">
|
||||
<div class="stat stat--accent">
|
||||
<div class="stat-label">发布时服务器数</div>
|
||||
<div class="stat-value">~100</div>
|
||||
<div class="stat-sub">2024.11</div>
|
||||
</div>
|
||||
<div class="stat stat--green">
|
||||
<div class="stat-label">5 个月后</div>
|
||||
<div class="stat-value">5,800+</div>
|
||||
<div class="stat-sub">2025.04</div>
|
||||
</div>
|
||||
<div class="stat stat--amber">
|
||||
<div class="stat-label">总下载量</div>
|
||||
<div class="stat-value">8M+</div>
|
||||
<div class="stat-sub">2025.04</div>
|
||||
</div>
|
||||
<div class="stat stat--cyan">
|
||||
<div class="stat-label">客户端数</div>
|
||||
<div class="stat-value">300+</div>
|
||||
<div class="stat-sub">2025.04</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ==================== 07 注意力机制 ==================== -->
|
||||
<div class="section" id="s7">
|
||||
<h2>07 / 注意力机制演进</h2>
|
||||
<p class="subtitle">大上下文窗口背后的底层技术支撑——没有这些创新,1M tokens 就只是理论数字</p>
|
||||
|
||||
<h3>核心问题:O(n^2) 复杂度</h3>
|
||||
<div class="stats">
|
||||
<div class="stat stat--green">
|
||||
<div class="stat-label">4K tokens</div>
|
||||
<div class="stat-value">1600 万</div>
|
||||
<div class="stat-sub">次注意力计算</div>
|
||||
</div>
|
||||
<div class="stat stat--amber">
|
||||
<div class="stat-label">128K tokens</div>
|
||||
<div class="stat-value">163 亿</div>
|
||||
<div class="stat-sub">次注意力计算</div>
|
||||
</div>
|
||||
<div class="stat stat--rose">
|
||||
<div class="stat-label">1M tokens</div>
|
||||
<div class="stat-value">1 万亿</div>
|
||||
<div class="stat-sub">次注意力计算</div>
|
||||
</div>
|
||||
</div>
|
||||
<p>不解决这个问题,长上下文就是空谈。</p>
|
||||
|
||||
<h3>关键创新时间线</h3>
|
||||
<div class="table-wrap"><table>
|
||||
<tr><th>时间</th><th>创新</th><th>影响</th></tr>
|
||||
<tr><td>2017.06</td><td><strong>原始 Transformer</strong></td><td>"Attention Is All You Need";O(n^2) 复杂度</td></tr>
|
||||
<tr><td>2019-2020</td><td><strong>稀疏注意力</strong></td><td>Longformer / BigBird;降低复杂度</td></tr>
|
||||
<tr><td>2022.05</td><td><span class="highlight">FlashAttention</span></td><td>IO 感知精确注意力 + 分块;2-4x 加速</td></tr>
|
||||
<tr><td>2023</td><td><strong>FlashAttention-2</strong></td><td>更好的并行和工作分配</td></tr>
|
||||
<tr><td>2023.08</td><td><span class="highlight">Ring Attention</span></td><td>分块并行,分布到多设备,理论"无限"上下文</td></tr>
|
||||
<tr><td>2024</td><td><strong>FlashAttention-3</strong></td><td>异步计算 + 低精度支持</td></tr>
|
||||
<tr><td>2024.02</td><td><strong>Ring Attention 百万级</strong></td><td>实际验证 1M+ token 处理能力</td></tr>
|
||||
</table></div>
|
||||
|
||||
<h3>FlashAttention:最关键的突破</h3>
|
||||
<div class="compare">
|
||||
<div class="compare-col">
|
||||
<h4 style="color:var(--rose)">传统注意力</h4>
|
||||
<pre style="font-size:.75rem;margin:8px 0">Q, K, V 全在 GPU HBM
|
||||
↓
|
||||
计算完整 n×n 矩阵
|
||||
(写回 HBM)
|
||||
↓
|
||||
与 V 相乘
|
||||
(再次读写 HBM)
|
||||
|
||||
瓶颈:HBM 读写</pre>
|
||||
</div>
|
||||
<div class="compare-col">
|
||||
<h4 style="color:var(--green)">FlashAttention</h4>
|
||||
<pre style="font-size:.75rem;margin:8px 0">Q, K, V 分块
|
||||
↓
|
||||
切成小块放入 SRAM
|
||||
↓
|
||||
SRAM 中完成计算
|
||||
(不写回中间结果)
|
||||
↓
|
||||
只输出最终结果到 HBM
|
||||
|
||||
效果:2-4x 加速,无精度损失</pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3>Ring Attention:分布式长上下文</h3>
|
||||
<pre>设备 1 设备 2 设备 3 设备 4
|
||||
┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐
|
||||
│ Q块1 │ │ Q块2 │ │ Q块3 │ │ Q块4 │
|
||||
│ K块1 │ → │ K块1 │ → │ K块1 │ → │ K块1 │ → (环形传递)
|
||||
│ V块1 │ │ V块1 │ │ V块1 │ │ V块1 │
|
||||
└──────┘ └──────┘ └──────┘ └──────┘
|
||||
|
||||
KV 块在设备间环形传递,每个设备只存储自己的 Q 块
|
||||
→ 上下文长度随设备数线性扩展</pre>
|
||||
|
||||
<h3>技术栈对应关系</h3>
|
||||
<div class="table-wrap"><table>
|
||||
<tr><th>上下文里程碑</th><th>底层技术支撑</th></tr>
|
||||
<tr><td>4K → 32K</td><td>模型架构优化(RoPE 位置编码等)</td></tr>
|
||||
<tr><td>32K → 128K</td><td><span class="highlight">FlashAttention</span> 让训练可行</td></tr>
|
||||
<tr><td>128K → 1M</td><td>FlashAttention-2/3 + 稀疏注意力</td></tr>
|
||||
<tr><td>1M → 10M</td><td><span class="highlight">Ring Attention</span> + 分布式计算</td></tr>
|
||||
</table></div>
|
||||
|
||||
<div class="insight">
|
||||
<div class="insight-title">趋势</div>
|
||||
<p><strong>精确注意力没有被抛弃</strong> — FlashAttention 证明通过 IO 优化,精确注意力也能高效。</p>
|
||||
<p><strong>分布式是终极答案</strong> — Ring Attention 让上下文长度与硬件规模线性相关。</p>
|
||||
<p><strong>硬件在追赶</strong> — 更大 SRAM、更快 HBM 让长上下文成本持续下降。</p>
|
||||
</div>
|
||||
|
||||
<div class="footer">立项 2025.07 · 持续更新中 · 最后更新 2026.03.18</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const navLinks = document.querySelectorAll('.nav a');
|
||||
const sections = document.querySelectorAll('.section');
|
||||
const sidebar = document.querySelector('.sidebar');
|
||||
const overlay = document.querySelector('.overlay');
|
||||
|
||||
function switchSection(id) {
|
||||
sections.forEach(s => s.classList.remove('active'));
|
||||
navLinks.forEach(a => a.classList.remove('active'));
|
||||
const target = document.getElementById(id);
|
||||
if (target) { target.classList.add('active'); }
|
||||
const link = document.querySelector(`[data-sec="${id}"]`);
|
||||
if (link) { link.classList.add('active'); }
|
||||
window.scrollTo(0, 0);
|
||||
// close sidebar on mobile
|
||||
sidebar.classList.remove('open');
|
||||
overlay.classList.remove('open');
|
||||
}
|
||||
|
||||
navLinks.forEach(link => {
|
||||
link.addEventListener('click', e => {
|
||||
e.preventDefault();
|
||||
switchSection(link.dataset.sec);
|
||||
});
|
||||
});
|
||||
|
||||
function toggleSidebar() {
|
||||
sidebar.classList.toggle('open');
|
||||
overlay.classList.toggle('open');
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user