Files
20250724-882ca434/index.html
2026-04-25 19:20:45 +08:00

796 lines
44 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!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">无状态 LLM2018-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 10MQwen 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 万 tokensAI 的"工作记忆"扩大了近 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 GA128K 输出</td></tr>
<tr><td>Claude Sonnet 4.6</td><td>2026.02.17</td><td class="highlight">1M</td><td>1M GA64K 输出</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 AILewis 等,组合 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 开源,用知识图谱增强 RAGGitHub 10K+ stars</div></div>
</div>
<h3>从 Naive 到 Advanced 到 Agentic</h3>
<h4>Naive RAG2022-2023</h4>
<pre>文档 → 分块 → 向量化 → 存入向量数据库
用户提问 → 向量化 → 相似度搜索 → Top-K → 拼入 Prompt → LLM 生成</pre>
<p>问题:检索质量不稳定、缺乏自我纠错、无法处理复杂查询。</p>
<h4>Advanced RAG2023-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 RAG2024-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)">适合 &lt; 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 更名为 LettaMemGPT 变成设计模式名)</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/&lt;project&gt;/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>2024A 轮 $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>强化微调RFTAlpha"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 &lt;&lt; d
训练参数量:从数十亿 → 数百万(减少 99%+</pre>
<p>让普通开发者也能在消费级 GPU 上微调大模型。</p>
</div>
</div>
<div class="card">
<div class="card-title">QLoRA2023.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>早期自主 Agent2023</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">LangChain2022.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">LangGraph2024 上线)</div>
<div class="card-body">
<p>基于状态的记忆 + checkpointing 机制</p>
<p>线程级持久化2025 初长期记忆支持上线</p>
</div>
</div>
<div class="card">
<div class="card-title">CrewAI2024— 四种记忆类型</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 采纳 MCPC# / Java SDK 上线</div></div>
<div class="tl-item"><div class="tl-year">2025.12</div><div class="tl-text">MCP 捐赠给 Linux 基金会下的 AAIFAnthropic + 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">OpenMemoryMem0, 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>