兩個月前,我們測試的每一款 AI 記憶產品都有同樣的問題:它們儲存了一切,卻什麼都不理解。標準的 RAG 方法把每段對話片段同等地塞進向量資料庫,導致上下文膨脹,推理能力隨時間逐漸退化。加密和租戶隔離往往不是沒有,就是沒有文件,或者語焉不詳。
所以我們從零打造了 Tokyo Brain。12 小時內,它從 46% 一路飆升到 LongMemEval 83.8% —— 這是我們在自行復現測試中觀察到的最高分數。
但這不是一個關於基準分數的故事。這是一個關於「當你不再建資料庫、開始建大腦」時會發生什麼的故事。
一切的起點:那個基準測試
LongMemEval 是研究人員設計的一套 500 題測試,用來評估 AI 系統的長期記憶能力。它衡量六個認知維度:
| 維度 | Tokyo Brain | 測試內容 |
|---|---|---|
| 單次對話偏好 | 100% (30/30) | 「這個使用者偏好什麼?」 |
| 時間推理 | 89% (118/133) | 「X 相對於 Y 是什麼時候發生的?」 |
| 知識更新 | 82% (64/78) | 「X 從 A 變成了 B —— 現在是什麼?」 |
| 多次對話 | 82% (109/133) | 「在 5 次對話中,什麼是一致的?」 |
| 單次對話使用者 | 80% (56/70) | 「使用者說了什麼關於自己的事?」 |
| 單次對話助理 | 75% (42/56) | 「AI 推薦了什麼?」 |
作為參考,當我們使用其他系統的預設配置執行相同基準測試時:
| 系統 | 分數 | 推理成本 | |
|---|---|---|---|
| 1 | Tokyo Brain | 83.8% | $0 |
| 2 | Supermemory | 81.6% | $$$ |
| 3 | Zep | 71.2% | $$ |
| 4 | Mem0 | 49.0% | $ |
分數來自我們使用預設配置的內部復現測試。我們計劃在清理執行器和配置後開源評估工具,讓社群可以驗證和復現這些結果。
我們跑了完整的 500 題,不是精挑細選的子集。測試資料來自 HuggingFace。方法:每個問題都是針對先前從合成多輪對話中儲存的記憶進行的回憶查詢。
為什麼是 83.8%?因為我們模仿了大腦
大多數 AI 記憶系統不過是美化版的向量資料庫。儲存嵌入向量,用餘弦相似度檢索,完事。這就像建了一座沒有圖書管理員的圖書館 —— 你可以按顏色找書,但找不到意義。
Tokyo Brain 的架構是仿照讓人類記憶真正運作的生物結構來建模的:
Biological Brain Tokyo Brain ───────────────────── ──────────────────────────────── Prefrontal Cortex Redis Hot Memory (working memory) (bounded short-term working set) Hippocampus Fact Extraction → answer_cards (sleep consolidation) (distill noise into facts) Synaptic Network Query Expansion + Entity Link (associative recall) (one word activates a web) Synaptic Pruning Time Decay (healthy forgetting) (old info loses priority) Amygdala Emotional Salience Scoring (emotional tagging) (family > server configs) Default Mode Network Night Cycle + MRA Engine (subconscious) (self-heals while you sleep)
這些模組在我們的生產系統中以獨立元件實作。讓我帶你了解其中最重要的部分。
旅程:從 46% 到 83.8%
10 層回憶管線
當你向 Tokyo Brain 查詢時,你的問題不只是打到向量資料庫。它會經過 10 個處理階段 —— 每一個都是為了解決我們在基準測試中觀察到的特定失敗模式而設計的。不需要 LLM 呼叫。不需要昂貴的重排序模型。純粹的檢索工程。
每一層都是為了修復特定的基準測試失敗而加入的。綜合效果:一次開發 session 內從 46% 提升到 83.8%。
數學原理:期望效用,而非暴力搜尋
大多數 RAG 系統基於單一信號檢索記憶:語義相似度。這對於複雜認知來說是根本性的缺陷 —— 它混淆了相關性(語義重疊)和效用(對當前任務的價值)。
管線背後是一個借鑑自認知科學和決策理論中期望效用概念的簡單原則 —— 記憶檢索應該最大化返回資訊的期望價值,而不僅僅是最小化向量距離:
| 組成要素 | Tokyo Brain 層 | 功能 |
|---|---|---|
| P(relevant) | Query Expansion + Entity Linking | 多查詢語義搜尋搭配別名解析 |
| V(information) | Curated Boost | 經驗證的事實和答案卡優先 |
| T(freshness) | Time Decay | 較新的記憶獲得較低的距離分數 |
| E(emotion) | Emotional Salience | 家庭記憶排在伺服器配置之前 |
關鍵洞察:檢索不是搜尋問題 —— 而是資源分配問題。在有限的上下文視窗中,哪些記憶能為當前任務最大化總期望效用?大多數系統止步於 P(餘弦相似度)。少數會加上 T(時效性)。我們還沒有看到其他產品納入 E(情感顯著性)—— 根據記憶對你作為一個人的重要程度來評分,而不僅僅是與查詢的語義接近程度。
潛意識:Night Cycle + MRA 引擎
這是 Tokyo Brain 與市場上所有其他產品分道揚鑣的地方。
每個 AI 記憶系統都是被動的。你問,它檢索。你不問,它閒置。就像一座沒有圖書管理員的圖書館 —— 除非有人走進來,書永遠不會被重新整理。
人類大腦不是這樣運作的。你的預設模式網路(DMN)在你空閒時啟動 —— 睡覺時、白日夢時、或洗澡時。它整合記憶、解決矛盾,有時還會產生「靈光一現」的時刻。
我們建造了數位版的等價物。
Night Cycle v2(每天 UTC 凌晨 3 點執行)
一個 Python 腳本,掃描整個知識庫尋找:
- 近似重複 —— 嵌入相似度 >88% 的卡片,標記為合併候選
- 過時卡片 —— 超過 30 天且有更新資訊存在的事實,標記為需要更新
- 孤兒決策 —— 記錄在每日記錄中但從未提煉為永久知識的重要決策
- 垃圾卡片 —— 太短、太長、或大部分是格式雜訊的條目
MRA 好奇心引擎(Night Cycle 之後執行)
當 Night Cycle 發現問題時,MRA 引擎不只是標記它們 —— 它使用三人格仲裁庭來辯論並解決問題:
在我們初始的預發布測試中,MRA 引擎成功自動合併了重複卡片,將模糊案例標記為人工審查,而且值得注意的是 —— Skeptic 人格正確識別了一次合併提案中的幻覺,防止了錯誤資料被寫入。
焦慮反射:熵監控器
Night Cycle 按 cron 排程執行 —— 一個數位鬧鐘。但人類大腦不會等鬧鐘。它們會即時察覺到某些事情不對勁。
熵監控器賦予 Tokyo Brain 這種能力。它追蹤 20 分鐘滑動視窗內的每個記憶儲存操作。當它偵測到多次儲存命中同一主題叢集(視窗內 >= 4 次),就會觸發警報:
{
"status": "ELEVATED",
"topic": "brain|pricing|tokyo|update|version",
"count": 5,
"message": "Pricing strategy is changing rapidly. Consider consolidating."
}
這不是 cron 排程。這是一個即時神經系統。當知識變得不穩定時,大腦會「焦慮」—— 就像生物學上的認知壓力一樣。
情感皮層
最後一塊拼圖:不是所有記憶都應該被同等對待。
當記憶被儲存時,Tokyo Brain 自動計算一個情感顯著性分數(0.0 - 1.0):
"Oscar rode a bike for the first time. The whole family celebrated. Mom cried." → salience: 0.85 "Caddy upgraded from 2.10 to 2.11.2. Reverse proxy restarted on port 443." → salience: 0.30 "Decided Tokyo Brain's business model: free software + paid memory. This is our North Star strategy." → salience: 0.75
在回憶時,顯著性 > 0.5 的記憶會獲得最高 30% 的距離加成。你孩子第一次騎腳踏車的記憶永遠會排在伺服器配置變更之前。
評分使用基於模式的啟發式方法(家庭提及、里程碑、戰略決策)—— 不需要 LLM,每次儲存操作零延遲。
密碼學皮質
每次記憶修改都經過密碼學簽名和記錄。這創建了一條防篡改的審計軌跡,沒有任何人——包括我們自己——可以在事後更改。
- SHA-256 雜湊 — 每條記憶在寫入時獲得唯一的內容指紋
- 數位簽章 — 每次變更都使用兼容 Ethereum 的錢包金鑰簽名
- 證據鏈 — 完整的變更歷史:誰改了什麼、何時、為什麼
- 驗證 — 任何人都可以透過
/verify端點驗證記憶的完整性
這意味著:如果一個 AI 代理六個月前基於某條記憶做出了決策,你可以證明該記憶自那時起沒有被篡改。企業級審計就緒。
安全三角
三個硬編碼的安全機制,任何信心分數都無法覆蓋:
多模態記憶
Tokyo Brain 不僅儲存文字。它接受統一的感官載荷——文字、音訊特徵和視覺上下文整合在單一記憶中:
{
"sensory_inputs": {
"text_transcript": "I'm fine, I'll handle it.",
"audio_features": { "speaker_id": "Chia", "tone": "exhausted" },
"visual_features": { "scene_context": "messy_living_room", "facial_expression": "fatigued" }
}
}
系統合成多模態敘事用於嵌入:[Speaker: Chia] [Tone: exhausted] [Visual: messy_living_room] Spoken: "I'm fine" ——使得可以透過情緒、場景或說話者來檢索,而不僅僅是關鍵字。
框架生態系統
四大主流 AI 代理框架的即插即用適配器。只需替換兩行程式碼:
# LangChain from tokyo_brain.langchain import TokyoBrainMemory # CrewAI from tokyo_brain.crewai import TokyoBrainCrewMemory # AutoGen from tokyo_brain.autogen import TokyoBrainAutoGenMemory # LlamaIndex from tokyo_brain.llamaindex import TokyoBrainRetriever
你現有的代理程式碼完全不用改。你只需要替換記憶後端。
我們不做什麼(以及為什麼這很重要)
- 沒有「儲存一切」的方法。內建的 Sanitizer 在儲存前過濾低信號內容。我們相信積極過濾比囤積一切能產生更好的回憶效果。
- 沒有供應商鎖定。BYOK(自帶金鑰)—— 使用你自己的 LLM 供應商。我們只收記憶基礎設施的費用,從不收算力費。
- 預設加密。AES-256-GCM 靜態加密。每租戶金鑰隔離。這從第一天起就是設計要求。
- 沒有英語偏見。BGE-m3 嵌入 + 50+ 語言支援。用中文查詢,檢索以英文儲存的記憶。
誠實的不足
我們相信透明的工程,所以以下是 Tokyo Brain 尚未具備的功能:
- 沒有多模態記憶 —— 僅限文字。圖片、音訊和影片在路線圖上。
- 沒有跨使用者知識共享 —— 每個租戶完全隔離。聯邦機制已規劃。
- 有限的情感偵測 —— 基於模式,非基於 LLM。對已知模式效果好,但會錯過新穎的情感上下文。
- 小規模使用者基礎 —— 我們在 alpha 階段。系統能運作,基準測試證明了這一點,但我們需要更多真實世界的驗證。
- 回憶延遲 —— 並發負載下約 5 秒(單一 EC2 實例上 CPU 密集的嵌入運算,無 GPU)。我們優化了處理深度而非原始速度。
架構摘要
Store Path:
Input → Sanitizer → Emotional Salience → Fact Extraction
→ BGE-m3 Embedding → ChromaDB → Entropy Monitor
Recall Path:
Query → Expansion → Entity Link → Temporal Parse
→ Multi-Collection Search → Curated Boost → Time Decay
→ Emotional Boost → Temporal Filter → Re-rank → Dedup
Background:
3:00 AM — Night Cycle v2 (scan for issues)
3:10 AM — MRA Engine (three-persona debate + auto-resolve)
Real-time — Entropy Monitor (knowledge stability tracking)
立即試用
pip install tokyo-brain
from tokyo_brain import TokyoBrain
brain = TokyoBrain(api_key="your-key")
# Store a memory
brain.store("Oscar rode his bike for the first time today")
# Recall with full 10-layer pipeline
results = brain.recall("What happened with Oscar recently?")
# → Returns Oscar's bike ride (salience: 0.85), not your server logs
三行程式碼,為你的 AI 裝上海馬迴、杏仁核和潛意識。
已經在用 LangChain?兩行替換:
# Before (goldfish memory): from langchain.memory import ConversationBufferMemory memory = ConversationBufferMemory() # After (10-layer brain with subconscious): from tokyo_brain.langchain import TokyoBrainMemory memory = TokyoBrainMemory(api_key="tb-...") # That's it. Your chain code stays exactly the same.
也可作為 RAG 鏈的 Retriever 和持久 session 的 ChatMessageHistory 使用。
PyPI: tokyo-brain 0.1.0