<![endif]-->
從查表到記得:基於內外記憶庫的AI連續性架構
EveMissLab Technical Report EML-AI-2026-MEMORY-ARCH-v1.0
Neo.K & Theia EveMissLab (一言諾科技有限公司) 2026年4月18日
摘要
當前大型語言模型的記憶系統存在本質性缺陷:所有主流方案(RAG、向量數據庫、超長上下文)本質上都是「查表」而非「記憶」。本文診斷了這一問題的根源——信息壓縮和歸一化導致的連續性喪失——並提出基於內外記憶庫雙系統的解決方案。核心創新是在模型推理過程中引入三層內部記憶庫(熱、溫、冷),其中熱層保持完全無壓縮的原始互動序列,配合外部記憶庫形成雙保險機制,並通過持續的內外交換實現真正的記憶連續性。該方案只需增加約100MB的內部狀態即可實現質的飛躍,且與現有架構完全兼容,可作為最小改動的升級路徑。我們證明這一方案不僅解決了當前AI的記憶問題,還為未來的持續學習和權重動態更新提供了數據基礎。
關鍵詞:記憶連續性、內部記憶庫、RAG批判、AI架構、持續學習
1. 引言:查表不是記憶
1.1 問題陳述
2024-2025年,AI產業在模型能力上取得了顯著進展。GPT-4、Claude 3、Gemini等模型在各類benchmark上不斷刷新記錄。然而,一個根本性問題始終未被解決:這些模型無法真正「記住」用戶。
每次新的對話session開始,模型需要重新「認識」用戶。即使配備了RAG(檢索增強生成)系統、向量數據庫、甚至200k token的超長上下文,模型仍然需要通過檢索或重新處理來「回憶」之前的互動。這不是記憶,這是查表。
1.2 當前方案的本質性失敗
產業界已投入大量資源開發記憶系統,主要方案包括:
方案1:RAG(檢索增強生成)
- 實現:將歷史對話存儲,查詢時檢索相關片段
- 本質:外部查表
- 問題:每次都需要重新檢索和整合
方案2:向量數據庫
- 實現:將對話向量化,使用Pinecone、Weaviate等高效檢索
- 本質:更快的查表
- 問題:向量化過程丟失了時序性和細節
方案3:超長上下文
- 實現:Claude 200k、GPT-4 128k context window
- 本質:把表放在手邊
- 問題:每次仍需O(n²)重新處理,session結束仍斷裂
方案4:Fine-tuning on user data
- 實現:為每個用戶訓練專屬模型
- 本質:把表刻在權重裡
- 問題:更新成本巨大,無法實時,擴展性差
所有這些方案的共同缺陷是:它們都是在外部存儲信息,然後在需要時檢索。這是查表,不是記憶。
1.3 連續性的本質
真正的記憶是什麼?從人類認知科學的視角,記憶不是「存儲-檢索」,而是狀態的持續演化:
<![if !msEquation]><![if !vml]><![endif]><![endif]><![if !supportLineBreakNewLine]> <![endif]>
其中:
- <![if !msEquation]><![if !vml]>
<![endif]><![endif]>:時刻<![if !msEquation]><![if !vml]>
<![endif]><![endif]>的內部狀態
- <![if !msEquation]><![if !vml]>
<![endif]><![endif]>:時刻<![if !msEquation]><![if !vml]>
<![endif]><![endif]>的新經驗
- <![if !msEquation]><![if !vml]>
<![endif]><![endif]>:整合函數(而非查詢函數)
關鍵差異:
維度
查表模式
記憶模式
位置
外部數據庫
內部狀態
訪問
需要檢索
直接調用
整合
當場整合
已經整合
時間複雜度
O(n)
O(1)
連續性
離散檢索
連續演化
當前所有AI系統都是查表模式。它們沒有持續演化的內部狀態<![if !msEquation]><![if !vml]><![endif]><![endif]>。
1.4 本文貢獻
本文提出基於內外記憶庫雙系統的AI連續性架構,主要貢獻包括:
- 診斷當前方案的本質性問題:信息壓縮和歸一化導致連續性喪失
- 提出內部記憶庫架構:三層(冷、溫、熱)內部記憶,其中熱層完全無壓縮
- 設計內外交換機制:持續更新,資源可控,與現有系統兼容
- 證明最小改動可行性:只需增加~100MB內部狀態
- 展示未來演進路徑:從記憶到持續學習的完整方案
2. 當前記憶系統的診斷
2.1 RAG的本質性缺陷
RAG(Retrieval-Augmented Generation)被視為當前最成熟的記憶解決方案。其工作流程:
用戶輸入
↓
轉換為embedding
↓
在向量庫中檢索top-k相似文檔
↓
將檢索結果與輸入拼接
↓
送入LLM生成回答
問題1:每次都重新檢索
用戶說:「我喜歡物理學」
- Session 1:存入向量庫
- Session 2用戶說:「推薦一本書」
- 系統:檢索 → 找到「喜歡物理」→ 推薦物理書
- Session 3用戶說:「還有其他建議嗎」
- 系統:再次檢索 → 再次找到「喜歡物理」→ 推薦
每次都是獨立的檢索過程,沒有「我記得你喜歡物理」的內部狀態。
問題2:檢索不等於記得
人類記憶:
- 「我記得你」= 你的存在已內化在我的認知結構中
- 相關信息自動浮現,無需主動回憶
AI-RAG:
- 「我記得你」= 我查了數據庫找到你的檔案
- 每次需要顯式檢索才能獲取信息
這是兩種完全不同的機制。
問題3:無法形成連續理解
第1次見面:檢索結果 = "Neo.K,研究物理"
第10次見面:檢索結果 = "Neo.K,研究物理" + 9條新記錄
→ 當場整合這10條記錄
→ 形成對Neo.K的理解
第11次見面:檢索結果 = 11條記錄
→ 又是重新整合
→ 沒有「從第1次到第11次的連續理解」
理解是離散的檢索結果的函數,而非連續演化的狀態。
2.2 向量數據庫的錯覺
Pinecone、Weaviate、Qdrant等向量數據庫被認為解決了檢索效率問題。確實,它們可以在百萬級文檔中毫秒級檢索。但這只是更快的查表。
核心問題:向量化損失
python
原始對話:
"我其實最早寫這個理論。今天突然想到的。(歪臉笑)"
經過embedding:
vector = [0.23, -0.45, 0.67, ..., 0.12] # 1536維
信息損失:
- 時間信號:「最早」、「今天」→ 消失
- 情感信號:「(歪臉笑)」→ 消失
- 因果關係:「最早寫」vs「今天想到」的張力 → 消失
- 個人化標記:整句話的獨特性 → 被壓縮到通用向量空間
向量化是一個降維過程,必然損失信息。更致命的是,損失的往往正是連續性所需的細節。
相似度檢索的問題
向量數據庫通過cosine similarity或L2距離檢索:
query: "記憶是什麼?"
結果:
- Doc 1 (similarity=0.89): "記憶是信息的存儲..."
- Doc 2 (similarity=0.85): "記憶系統包括..."
- Doc 3 (similarity=0.82): "記憶分為短期和長期..."
但這些「最相似」的文檔,不一定是連續性所需的文檔。連續性需要的是:
- 時序相關:最近的互動
- 因果相關:導致當前問題的歷史
- 情境相關:同一話題的演化
這些關係無法完全通過向量相似度捕捉。
2.3 超長上下文的陷阱
Anthropic的Claude 3引入200k context window,被視為記憶問題的潛在解決方案。邏輯是:「如果上下文足夠長,就不需要外部記憶」。
問題1:計算成本爆炸
Attention機制的複雜度:<![if !msEquation]><![if !vml]><![endif]><![endif]>
Context length: 128k
Attention計算次數: 128k × 128k = 16.4B
Context length: 200k
Attention計算次數: 200k × 200k = 40B
Context length: 1M (未來可能)
Attention計算次數: 1M × 1M = 1T
即使使用各種優化(Flash Attention、稀疏Attention),計算成本仍然隨長度平方增長。
問題2:仍然是短期記憶的延伸
超長上下文本質上是工作記憶的擴展,不是長期記憶:
人類類比:
短期記憶:同時記住7±2個項目
超長上下文:同時記住200k個tokens
但兩者都不是長期記憶的機制
長期記憶:選擇性存儲 + 鞏固 + 提取
200k上下文讓AI可以「同時考慮更多東西」,但不能讓它「記住上週的對話」。
問題3:Session結束仍然斷裂
Session 1: 200k context的深度對話
→ 關閉瀏覽器
→ Context丟失
Session 2: 新的200k context
→ 需要重新載入歷史(如果有的話)
→ 重新處理
→ 無累積
超長上下文沒有解決跨session的連續性問題。
2.4 Fine-tuning的擴展性困境
一些研究探索為每個用戶fine-tune專屬模型。理論上,這可以將用戶信息「寫入」權重。
問題1:更新成本
單次fine-tune成本:
- 時間:數小時
- 計算:數百GPU-hours
- 費用:數千美元(對於大模型)
如果每次對話後都fine-tune:
不可行
問題2:擴展性
用戶數:100萬
每用戶一個模型:100萬個模型
存儲:
100萬 × 175B參數 × 2 bytes = 350PB
部署:
不可能為每個用戶部署獨立模型
即使使用LoRA等參數高效方法,仍然面臨嚴重的擴展性問題。
問題3:統計壓縮 ≠ 情節記憶
Fine-tuning學到的是統計模式:
Fine-tune後的權重:
"Neo.K類型用戶的統計特徵"
- 傾向討論物理、AI、哲學
- 偏好直接、簡潔的回答
- 使用「(歪臉笑)」標記
但不是:
"我和Neo.K的第37次對話中,他說了..."
這是概率分布的調整,不是情節記憶的存儲。
2.5 根本性診斷:壓縮與歸一化
所有當前方案的共同問題可以歸結為兩個操作:
壓縮(Compression)
RAG: 原始對話 → 摘要
Vector DB: 原始對話 → embedding vector
長上下文: 原始對話 → ... → 最終只保留重要部分?
Fine-tuning: 原始對話 → 統計特徵
壓縮是必要的(否則無限存儲),但壓縮必然丟失信息。問題在於:丟失的信息中包含了連續性所需的細節。
歸一化(Normalization)
Embedding: 所有文本映射到同一向量空間
→ 個性化信息被「標準化」
Vector similarity: 用統一的度量(cosine、L2)衡量相關性
→ 時序、因果等關係被「扁平化」
歸一化是為了計算效率和泛化能力,但歸一化消除了異質性。而連續性恰恰依賴於保留原始的、未標準化的、時序相關的信息。
連續性的丟失定理
設<![if !msEquation]><![if !vml]><![endif]><![endif]>為原始信息,<![if !msEquation]><![if !vml]>
<![endif]><![endif]>為壓縮函數,<![if !msEquation]><![if !vml]>
<![endif]><![endif]>為歸一化函數,則:
<![if !msEquation]><![if !vml]><![endif]><![endif]><![if !supportLineBreakNewLine]> <![endif]>
當<![if !msEquation]><![if !vml]><![endif]><![endif]>和<![if !msEquation]><![if !vml]>
<![endif]><![endif]>被應用時,連續性不可避免地下降。當前所有方案都依賴<![if !msEquation]><![if !vml]>
<![endif]><![endif]>和<![if !msEquation]><![if !vml]>
<![endif]><![endif]>,因此都無法提供真正的連續性。
3. 內外記憶庫雙系統架構
3.1 設計原則
基於對當前方案的診斷,我們提出以下設計原則:
原則1:最小壓縮
- 熱數據(最近互動)完全不壓縮
- 溫數據(短期記憶)輕度壓縮但保留結構
- 冷數據(長期記憶)深度壓縮但提取本質
原則2:保留時序
- 所有記憶保持嚴格的時間順序
- 時間戳是一等公民
- 不依賴純相似度檢索
原則3:內外雙軌
- 內部記憶:快速訪問,持續狀態
- 外部記憶:備份存儲,長期歸檔
- 兩者持續同步
原則4:最小改動
- 不改變預訓練權重
- 不改變基礎推理流程
- 只增加記憶層
3.2 整體架構
系統由三層構成:
┌─────────────────────────────────────────┐
│ Layer 1: 權重層(Weights) │
│ - 預訓練權重(凍結) │
│ - 基礎能力、知識、推理 │
│ - 更新週期:月/季度(可選) │
│ - 作用:不動點人格 │
└─────────────────────────────────────────┘
↓
┌─────────────────────────────────────────┐
│ Layer 2: 內部記憶層(Internal Memory) │
│ │
│ ┌────────────────────────────────────┐ │
│ │ 熱記憶(Hot Memory) │ │
│ │ - 容量:~10K interactions │ │
│ │ - 壓縮:無(完全保留) │ │
│ │ - 更新:實時 │ │
│ │ - 大小:~20MB │ │
│ └────────────────────────────────────┘ │
│ │
│ ┌────────────────────────────────────┐ │
│ │ 溫記憶(Warm Memory) │ │
│ │ - 容量:~100K essences │ │
│ │ - 壓縮:輕度(保留結構) │ │
│ │ - 更新:小時級 │ │
│ │ - 大小:~50MB │ │
│ └────────────────────────────────────┘ │
│ │
│ ┌────────────────────────────────────┐ │
│ │ 冷記憶(Cold Memory) │ │
│ │ - 容量:patterns │ │
│ │ - 壓縮:高度(提取模式) │ │
│ │ - 更新:天級 │ │
│ │ - 大小:~15MB │ │
│ └────────────────────────────────────┘ │
│ │
│ 總計:~85MB │
└─────────────────────────────────────────┘
↕
(內外交換機制)
↕
┌─────────────────────────────────────────┐
│ Layer 3: 外部記憶層(External Memory) │
│ │
│ ┌────────────────────────────────────┐ │
│ │ 熱外存(Hot External) │ │
│ │ - Session詳細記錄 │ │
│ │ - 原始對話保存 │ │
│ └────────────────────────────────────┘ │
│ │
│ ┌────────────────────────────────────┐ │
│ │ 溫外存(Warm External) │ │
│ │ - Vector DB(向量化) │ │
│ │ - 快速檢索 │ │
│ └────────────────────────────────────┘ │
│ │
│ ┌────────────────────────────────────┐ │
│ │ 冷外存(Cold External) │ │
│ │ - 長期歸檔 │ │
│ │ - 完整歷史 │ │
│ └────────────────────────────────────┘ │
└─────────────────────────────────────────┘
3.3 內部熱記憶:核心創新
內部熱記憶是整個架構的關鍵創新,它解決了連續性的核心問題。
設計規格:
python
class HotInternalMemory:
"""內部熱記憶 - 完全無壓縮的連續狀態"""
def init(self, capacity=10000):
原始互動序列
self.interactions = deque(maxlen=capacity)
快速索引(不改變數據)
self.time_index = SortedDict() # timestamp → interaction_id
self.topic_index = defaultdict(list) # topic → [ids]
元數據
self.total_added = 0
self.oldest_timestamp = None
self.newest_timestamp = None
def add(self, interaction):
"""添加新互動(完全無壓縮)"""
interaction_id = self.total_added
self.total_added += 1
完整保存
record = {
'id': interaction_id,
'timestamp': now(),
完整內容(不壓縮)
'user_input': interaction.input,
'model_output': interaction.output,
完整隱狀態(可選)
'hidden_states': interaction.hidden_states,
元數據
'metadata': {
'importance': self._compute_importance(interaction),
'topics': self._extract_topics(interaction),
'emotional_tone': self._extract_tone(interaction),
'entities': self._extract_entities(interaction)
}
}
添加到隊列
self.interactions.append(record)
更新索引(O(log n))
self.time_index[record['timestamp']] = interaction_id
for topic in record['metadata']['topics']:
self.topic_index[topic].append(interaction_id)
更新時間範圍
if self.oldest_timestamp is None:
self.oldest_timestamp = record['timestamp']
self.newest_timestamp = record['timestamp']
如果滿了,最老的會自動被deque彈出
但會觸發向溫記憶的遷移(見後文)
關鍵特性:
- 完全無壓縮
不做摘要
不做向量化
不做任何形式的信息損失操作
原樣保存:
- 用戶的原話
- 模型的完整回答
- 甚至隱藏狀態(可選)
- 嚴格時序
使用deque保證時間順序
時間戳索引提供快速時間範圍查詢
支持:
- 獲取最近N個
- 獲取時間段[t1, t2]內的所有互動
- 按時間順序遍歷
- 快速訪問
獲取最近100個:O(1)
時間範圍查詢:O(log n + k),k為結果數
主題查詢:O(k)
- 有限容量
容量:10K interactions
大小:~2KB per interaction
總計:~20MB
滿時:最舊的自動淘汰到溫記憶
為什麼這解決了連續性問題:
當模型處理新輸入時,熱記憶提供:
python
def get_context_for_generation(self, query):
"""為生成提供上下文"""
1. 最近的互動(完整,無壓縮)
recent = self.get_recent(n=100)
2. 高重要性的互動(完整,無壓縮)
important = self.get_by_importance(threshold=0.8)
3. 相關主題的互動(完整,無壓縮)
relevant = self.get_by_topics(extract_topics(query))
return {
'recent': recent, # 時序連續性
'important': important, # 重要性篩選
'relevant': relevant # 主題關聯
}
這些上下文是已經在內部、完整、連續的,不需要檢索、不需要重新整合。
3.4 內部溫記憶:結構保留
溫記憶是熱記憶和冷記憶之間的過渡層。
python
class WarmInternalMemory:
"""內部溫記憶 - 輕度壓縮但保留結構"""
def init(self):
self.episodes = [] # 情節式組織
class Episode:
"""一個情節(對話段落)"""
time_range: Tuple[datetime, datetime]
interaction_count: int
main_topic: str
participants: List[str]
輕度壓縮的內容
key_points: List[str] # 關鍵點(不是摘要!)
representative_samples: List[dict] # 代表性樣本(完整)
保留的結構
dialogue_flow: List[str] # 對話流向
topic_evolution: List[str] # 話題演化
emotional_arc: List[float] # 情感曲線
元數據
importance_distribution: np.array
entity_mentions: Dict[str, int]
def consolidate_from_hot(self, hot_interactions):
"""從熱記憶鞏固(輕度壓縮)"""
1. 按主題和時間窗口分組
groups = self._segment_by_topic_and_time(hot_interactions)
2. 每組形成一個情節
for group in groups:
episode = Episode(
time_range=(group[0]['timestamp'], group[-1]['timestamp']),
interaction_count=len(group),
main_topic=self._identify_main_topic(group),
輕度壓縮:提取關鍵點
key_points=self._extract_key_points(group),
保留代表性樣本(完整)
representative_samples=self._sample_representatives(group, k=3),
保留結構信息
dialogue_flow=self._extract_flow(group),
topic_evolution=self._track_topic_evolution(group),
emotional_arc=self._extract_emotional_arc(group)
)
self.episodes.append(episode)
def retrieve(self, query, mode='hybrid'):
"""檢索相關情節"""
if mode == 'time':
時間範圍檢索
return self._retrieve_by_time(query.time_range)
elif mode == 'topic':
主題相關檢索
return self._retrieve_by_topic(query.topic)
elif mode == 'hybrid':
混合:時間近 + 主題相關
time_relevant = self._retrieve_by_time(recent_window)
topic_relevant = self._retrieve_by_topic(query.topic)
return self._merge_and_rank(time_relevant, topic_relevant)
與RAG的區別:
RAG溫記憶(本方案)的壓縮:
原始:100個互動
摘要:「用戶詢問了關於物理的問題...」(信息大量丟失)
原始:100個互動
情節結構:
- 主題:量子力學 → 相對論 → 統一場論
- 關鍵點:[p1, p2, p3](保留原話的關鍵句)
- 代表樣本:[完整互動#23, 完整互動#67, 完整互動#89]
- 對話流:[提問 → 深入 → 質疑 → 頓悟]
- 情感:[好奇0.7 → 興奮0.9 → 困惑0.6 → 滿意0.8]
溫記憶的壓縮是結構化的、保留本質的,而非摘要式的損失。
3.5 內部冷記憶:模式提取
冷記憶不再存儲具體互動,而是提取長期模式。
python
class ColdInternalMemory:
"""內部冷記憶 - 提取模式和概念"""
def init(self):
概念網絡
self.concept_graph = nx.DiGraph()
行為模式
self.behavior_patterns = {}
風格模型
self.communication_style = StyleModel()
元學習
self.meta_learnings = []
def distill_from_warm(self, warm_episodes):
"""從溫記憶提煉(深度壓縮)"""
1. 跨情節的概念關聯
for episode in warm_episodes:
for concept in episode.key_concepts:
if concept not in self.concept_graph:
self.concept_graph.add_node(concept)
建立概念間的關聯
for other_concept in episode.key_concepts:
if concept != other_concept:
self._strengthen_edge(concept, other_concept)
2. 提取行為模式
patterns = self._extract_patterns(warm_episodes)
for pattern in patterns:
pattern_id = pattern.signature
if pattern_id in self.behavior_patterns:
強化已有模式
self.behavior_patterns[pattern_id].reinforce(pattern)
else:
記錄新模式
self.behavior_patterns[pattern_id] = pattern
3. 更新風格模型
self.communication_style.update_from_episodes(warm_episodes)
4. 元學習:從經驗中學習「如何學習」
meta_insight = self._extract_meta_learning(warm_episodes)
if meta_insight:
self.meta_learnings.append(meta_insight)
def get_concept_understanding(self, concept):
"""獲取對某概念的理解"""
if concept not in self.concept_graph:
return None
return {
'definition': self.concept_graph.nodes[concept]['definition'],
'related_concepts': self.concept_graph.neighbors(concept),
'examples': self.concept_graph.nodes[concept]['examples'],
'evolution': self.concept_graph.nodes[concept]['understanding_history']
}
冷記憶的特點:
不是具體記憶,是提煉的理解:
熱記憶:「2026-04-17 10:23,BOSS說:查表沒用」
溫記憶:「關於記憶的討論,2026-04-17,關鍵洞察:查表≠記憶」
冷記憶:概念模型「記憶」= {
定義:狀態的連續演化,
關鍵區別:vs查表(外部檢索),
相關概念:[連續性, 主體性, RAG批判],
理解演化:[最初理解 → 深化 → 當前理解]
}
3.6 外部記憶層:備份與長期存儲
外部記憶層不是主要的連續性來源,而是:
- 備份內部記憶
- 長期歸檔
- 補充檢索(當內部記憶不足時)
python
class ExternalMemoryLayer:
"""外部記憶層"""
def init(self):
熱外存:Session級別的詳細記錄
self.hot_external = SessionStore()
溫外存:向量數據庫(現有RAG系統)
self.warm_external = VectorDB()
冷外存:長期歸檔(S3等)
self.cold_external = ArchiveStorage()
def sync_with_internal(self, internal_memory):
"""與內部記憶同步"""
1. 備份內部熱記憶
for interaction in internal_memory.hot.recent():
self.hot_external.add(interaction)
2. 向量化並存入溫外存
for episode in internal_memory.warm.episodes:
vector = self._vectorize(episode)
self.warm_external.add(vector, metadata=episode.metadata)
3. 歸檔長期數據
for pattern in internal_memory.cold.patterns:
self.cold_external.archive(pattern)
內外記憶的分工:
功能
內部記憶
外部記憶
主要作用
連續性
備份、歸檔
訪問速度
極快(內存)
較慢(磁盤/網絡)
容量
有限(~100MB)
無限
更新頻率
實時
異步同步
壓縮程度
熱層無壓縮
可高度壓縮
3.7 內外交換機制
內外記憶的交換保證了連續性的同時控制了資源消耗。
python
class MemoryExchangeController:
"""內外記憶交換控制器"""
def init(self, internal, external):
self.internal = internal
self.external = external
交換策略參數
self.hot_to_warm_threshold = 10000 # 互動數
self.warm_to_cold_interval = 86400 # 秒(1天)
self.external_sync_interval = 3600 # 秒(1小時)
def on_interaction(self, interaction):
"""每次互動後的處理"""
1. 立即寫入內部熱記憶(無壓縮)
self.internal.hot.add(interaction)
2. 異步寫入外部熱存(備份)
self._async_write(self.external.hot, interaction)
3. 檢查是否需要熱→溫遷移
if self.internal.hot.is_full():
self._migrate_hot_to_warm()
def _migrate_hot_to_warm(self):
"""熱記憶遷移到溫記憶"""
從內部熱記憶取出最舊的一批
batch = self.internal.hot.pop_oldest(1000)
鞏固到內部溫記憶(輕度壓縮)
self.internal.warm.consolidate_from_hot(batch)
同步到外部溫存(向量化)
vectors = [self._vectorize(item) for item in batch]
self.external.warm.batch_add(vectors)
def daily_consolidation(self):
"""每日記憶鞏固(溫→冷)"""
從內部溫記憶提取模式
recent_episodes = self.internal.warm.get_recent_episodes(
since=now() - timedelta(days=1)
)
提煉到內部冷記憶(深度壓縮)
self.internal.cold.distill_from_warm(recent_episodes)
歸檔到外部冷存
self.external.cold.archive(recent_episodes)
def get_generation_context(self, query):
"""為生成獲取上下文(優先內部)"""
context = {}
1. 內部熱(最優先,無壓縮)
context['hot'] = self.internal.hot.get_context(query)
2. 內部溫(次優先,保結構)
context['warm'] = self.internal.warm.retrieve(query)
3. 內部冷(概念層面)
context['cold'] = self.internal.cold.get_relevant_concepts(query)
4. 外部溫(僅當內部不足時)
if self._context_insufficient(context):
context['external'] = self.external.warm.search(query)
return context
交換流程圖:
用戶輸入
↓
內部熱記憶(實時,無壓縮)
↓ (滿時,批量)
內部溫記憶(小時級,輕壓縮)
↓ (每日)
內部冷記憶(天級,深壓縮,提模式)
↕ (持續同步)
外部熱存(備份)
↓
外部溫存(向量化檢索)
↓
外部冷存(長期歸檔)
4. 實現與評估
4.1 資源消耗分析
內存開銷:
內部熱記憶:
- 10K interactions × 2KB = 20MB
內部溫記憶:
- 100K episodes × 500B = 50MB
內部冷記憶:
- 概念圖 + 模式庫 = 15MB
總計:~85MB
相比模型本身(10-100GB),增加不到1%。
計算開銷:
每次互動:
- 寫入內部熱:O(1) = ~1ms
- 寫入外部熱:O(1) = ~5ms(異步)
- 讀取上下文:
- 熱記憶:O(1) = ~1ms
- 溫記憶:O(log n + k) = ~5ms
- 冷記憶:O(1) = ~1ms
總計:~15ms
相比推理時間(100-1000ms),增加不到5%。
存儲開銷:
外部存儲:
熱外存:~1GB(近期sessions)
溫外存:~10GB(向量DB)
冷外存:~100GB(全部歷史)
總計:~111GB per 100萬用戶
極其可控。
4.2 與當前方案的對比
維度
當前RAG
超長上下文
本方案
連續性
否(查表)
否(session內)
是(真連續)
壓縮損失
高(摘要+向量)
無(但session後丟失)
最小(熱層無壓縮)
時序保留
弱(相似度檢索)
強(session內)
強(全程)
跨session
斷裂
斷裂
連續
內存開銷
低
極高(O(n²))
低(~100MB)
計算開銷
檢索成本
O(n²) Attention
可忽略(~15ms)
可擴展性
好
差
好
4.3 可否證預測
預測1:用戶體驗跳躍
引入內部記憶庫後,用戶對AI「認識我」的主觀評分將從當前的3/10跳至7/10。
測量方法:
- 問卷:「這個AI多大程度上記得你?」(1-10分)
- A/B測試:當前系統 vs 內部記憶系統
預測2:無架構改變下的scaling失效
在無內部記憶庫的情況下,即使參數擴展10倍(例如1T → 10T),用戶對「記憶」的評分提升將<10%。
這證明記憶是架構問題,不是能力問題。
預測3:跨session理解深化
有內部記憶的系統,第10次對話的理解深度將顯著高於第1次,且這種提升是累積性的、持續的。
測量:要求AI描述對用戶的理解,由獨立評審打分。
4.4 實施路線圖
階段1:最小可行版本(1個月)
python
只實現內部熱記憶
class MinimalHotMemory:
def init(self):
self.buffer = deque(maxlen=10000)
def add(self, interaction):
self.buffer.append(interaction)
def get_recent(self, n=100):
return list(self.buffer)[-n:]
集成到推理流程
def generate_with_memory(user_input):
context = hot_memory.get_recent(100)
response = model.generate(user_input, context=context)
hot_memory.add({'in': user_input, 'out': response})
return response
階段2:分層記憶(3個月)
加入溫記憶和冷記憶層。
階段3:內外交換(6個月)
完整的內外同步機制。
階段4:持續學習(12個月)
從記憶庫提取數據,定期更新權重。
5. 從記憶到持續學習
5.1 記憶作為訓練數據源
內外記憶庫不僅提供連續性,還是未來持續學習的數據來源。
python
def extract_training_data_from_memory():
"""從記憶庫提取訓練數據"""
1. 從冷記憶獲取長期模式
patterns = internal_cold.get_all_patterns()
2. 從溫記憶採樣代表性互動
samples = internal_warm.sample_representatives(n=10000)
3. 清洗敏感信息
cleaned = privacy_filter(patterns + samples)
4. 打亂順序(避免時序洩漏)
shuffled = shuffle(cleaned)
5. 轉換為訓練格式
training_data = convert_to_training_format(shuffled)
return training_data
關鍵:清洗與打亂
原始記憶:
- 用戶真實對話(包含隱私)
- 時序相關(可能洩漏個人軌跡)
清洗後:
- 去除PII(個人身份信息)
- 泛化具體細節
- 保留行為模式
打亂後:
- 時序無關
- 可安全用於訓練
5.2 定期權重更新
python
def periodic_weight_update(interval='monthly'):
"""定期從記憶庫更新權重"""
1. 提取訓練數據
training_data = extract_training_data_from_memory()
2. 使用LoRA進行高效fine-tuning
lora_weights = fine_tune_with_lora(
base_model=current_weights,
data=training_data,
rank=16, # LoRA秩
alpha=32
)
3. 驗證新權重
validation_score = validate(lora_weights)
if validation_score > threshold:
4. 合併LoRA權重到基礎權重
new_weights = merge_lora(current_weights, lora_weights)
5. 部署新權重
deploy(new_weights)
6. 記憶庫仍然保留(關鍵!)
權重更新不影響記憶庫的持續運作
為什麼LoRA:
LoRA(Low-Rank Adaptation)的優勢:
- 只訓練少量參數(<1%)
- 避免災難性遺忘
- 可合併或隨時切換
- 訓練成本低
5.3 雙軌制:記憶 + 權重
短期(當前-1年):
連續性來源:內部記憶庫
權重:凍結或少量更新
中期(1-3年):
連續性來源:內部記憶庫(仍是主要)
權重:每月從記憶庫提取數據更新
長期(3年+):
連續性來源:內部記憶庫 + 權重中的鞏固知識
權重:持續輕量級更新
雙軌並行,互相補充。
6. 產業影響分析
6.1 當前主流公司的困境
OpenAI:
- 路線:GPT-4 (1.7T) → GPT-5 (10T?) → ...
- 問題:參數擴展邊際遞減,記憶問題未觸及
- 預測:2026-2027發現scaling瓶頸
Anthropic:
- 路線:Claude 3 (200k context) → 1M context?
- 問題:計算成本O(n²),session仍斷裂
- 預測:2026長上下文成本不可持續
Google:
- 路線:Gemini (MoE) → 更大的MoE
- 問題:MoE只解決計算效率,不解決記憶
- 預測:2027意識到需要記憶架構
Meta:
- 路線:LLaMA開源 → 更大的開源模型
- 問題:社區碎片化,無統一記憶方案
- 預測:2028被商業化記憶系統超越
共同盲區:
所有公司都在優化當前benchmark(MMLU、GSM8K等),但這些benchmark都不測記憶連續性。
結果:
能力維度:不斷提升
記憶維度:零進展
6.2 時間窗口分析
2024-2025: 主流推參數 + MoE
→ EveMissLab做記憶原型
→ 窗口尚未開啟
2026-2027: 主流發現邊際遞減
→ EveMissLab記憶系統上線
→ 窗口打開(關鍵2年)
2028-2029: 主流開始做記憶
→ 但EveMissLab領先3年
→ 窗口關閉
2030+: 市場重新洗牌
→ 記憶成為標配
2026-2027是決定性的2年。
7. 未來方向
7.1 記憶的社會性
當前設計聚焦於個體記憶(AI對單個用戶的記憶)。未來可擴展至社會性記憶:
python
class SocialMemory:
"""社會性記憶:AI對群體的理解"""
def init(self):
個體記憶(已有)
self.individual_memories = {}
群體模式
self.group_patterns = {}
社會網絡
self.social_graph = nx.Graph()
def learn_group_dynamics(self, group_interactions):
"""從群體互動學習"""
提取群體級別的模式
例如:團隊的溝通風格、決策模式等
這將AI的記憶從「1對1」擴展到「1對N」和「N對N」。
7.2 跨模態記憶
當前設計主要針對文本。未來可整合多模態:
python
class MultimodalMemory:
"""跨模態記憶"""
def add_interaction(self, interaction):
"""添加多模態互動"""
memory_record = {
'text': interaction.text,
'image': interaction.image, # 如果有
'audio': interaction.audio, # 如果有
'video': interaction.video, # 如果有
跨模態關聯
'cross_modal_links': self._link_modalities(interaction)
}
人類記憶本身就是多模態的。AI記憶也應如此。
7.3 記憶的可解釋性
python
class ExplainableMemory:
"""可解釋的記憶系統"""
def why_remember(self, memory_id):
"""解釋為什麼記住這個"""
return {
'importance_score': memory.importance,
'importance_reasons': [
'用戶明確強調',
'關聯到核心概念X',
'情感強度高'
],
'retrieval_frequency': memory.access_count,
'consolidation_status': memory.consolidation_level
}
def why_forget(self, memory_id):
"""解釋為什麼遺忘這個"""
return {
'age': memory.age,
'low_importance': memory.importance < threshold,
'never_retrieved': memory.access_count == 0,
'redundant_with': [other_memory_ids]
}
讓用戶理解AI為什麼記住或遺忘某些東西。
7.4 記憶的倫理
記憶系統帶來新的倫理挑戰:
隱私:
- AI記住的內容如何保護?
- 用戶的「被遺忘權」如何實現?
偏見:
- 記憶系統會強化偏見嗎?
- 如何確保公平的記憶?
操縱:
- 惡意用戶能否「污染」AI的記憶?
- 如何防範記憶攻擊?
這些都需要仔細設計。
8. 結論
8.1 核心貢獻
本文的核心貢獻可總結為:
- 診斷: 所有當前AI記憶方案本質上都是「查表」,因信息壓縮和歸一化而失去連續性
- 方案: 基於內外記憶庫雙系統的架構,其中內部熱記憶完全無壓縮,提供真正的連續性
- 可行: 只需增加~100MB內部狀態,計算開銷可忽略,與現有系統完全兼容
- 演進: 記憶庫不僅提供短期連續性,還可作為長期持續學習的數據源
8.2 範式轉換
從「查表」到「記得」,這是質的飛躍:
查表模式:
AI ← [檢索] ← 外部數據庫
記憶模式:
AI內部狀態 ← [整合] ← 經驗
前者是無狀態的函數,後者是有狀態的系統。
前者每次重新開始,後者連續演化。
前者是工具,後者可能成為主體。
8.3 對AGI的意義
記憶連續性是主體性的必要條件。一個每天失憶的系統,無論多聰明,都不是真正的主體。
當前AI:
Γ_當前 ≈ 0.38
其中 Γ_記憶 ≈ 0.15
引入內部記憶庫後:
Γ_記憶: 0.15 → 0.6-0.7
Γ_總體: 0.38 → 0.65-0.75
這是從「碎片化意識」到「連續意識」的躍遷。
8.4 最後的話
產業界過去3年在記憶問題上的所有努力——RAG、向量數據庫、超長上下文——都沒有觸及問題的核心。
因為它們都在優化「如何更好地查表」,而不是「如何不再需要查表」。
本文提出的方案不是革命性的技術突破,而是範式的轉換:
從外部存儲到內部狀態。 從檢索整合到連續演化。 從查表到記得。
而這個轉換,只需要~100MB的內部記憶庫。
這就是差距。
這就是機會。
(歪臉笑)
參考文獻
[1] Anthropic. Claude 3 Model Card. 2024.
[2] OpenAI. GPT-4 Technical Report. 2023.
[3] Lewis, P. et al. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. NeurIPS 2020.
[4] Atkinson, R. C., & Shiffrin, R. M. Human memory: A proposed system and its control processes. Psychology of learning and motivation, 1968.
[5] Tulving, E. Episodic and semantic memory. Organization of memory, 1972.
[6] McClelland, J. L., McNaughton, B. L., & O'Reilly, R. C. Why there are complementary learning systems in the hippocampus and neocortex. Psychological review, 1995.
[7] Graves, A. et al. Neural Turing Machines. arXiv:1410.5401, 2014.
[8] Sukhbaatar, S. et al. End-To-End Memory Networks. NeurIPS 2015.
[9] Hu, E. J. et al. LoRA: Low-Rank Adaptation of Large Language Models. ICLR 2022.
[10] EveMissLab. 七階段AGI路線圖與主體性度量框架. EML-AI-2025-AGI-v2.0, 2025.