2ヶ月前、私たちがテストしたすべてのAI記憶製品には同じ問題がありました:すべてを保存するが、何も理解しない。標準的なRAGアプローチは、すべての会話の断片を等しくベクトルDBに詰め込み、コンテキストの肥大化と時間の経過に伴う推論能力の低下を引き起こします。暗号化とテナント分離は、利用不可、ドキュメント未整備、または不明確であることがほとんどでした。
そこで私たちは Tokyo Brain をゼロから構築しました。12時間で、46%から LongMemEval で83.8% まで到達しました — これは私たちの再現テストで観測した最高スコアです。
しかし、これはベンチマークスコアの物語ではありません。データベースを作るのをやめて、脳を作り始めたとき何が起こるかという物語です。
すべてが始まったベンチマーク
LongMemEval は、AIシステムの長期記憶を評価するために研究者が設計した500問のテストスイートです。6つの認知次元を測定します:
| 次元 | 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呼び出し不要。高価なリランキングモデル不要。純粋な検索エンジニアリング。
各レイヤーは、特定のベンチマーク失敗を修正するために追加されました。複合効果:1回の開発セッションで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エンジンは単にフラグを立てるだけではなく、3つのペルソナによる法廷を使って議論し解決します:
初期のステージング実行では、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エージェントが6ヶ月前にある記憶に基づいて決定を下した場合、その記憶がそれ以降改ざんされていないことを証明できます。エンタープライズ監査対応済み。
安全三角形
いかなる信頼度スコアでもオーバーライドできない、3つのハードコードされた安全メカニズム:
マルチモーダル記憶
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" — キーワードだけでなく、感情、シーン、話者による検索を可能にします。
フレームワークエコシステム
4つの主要AIエージェントフレームワーク向けのドロップインアダプター。2行入れ替えるだけ:
# 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(Bring Your Own Key)— 自分のLLMプロバイダーを使用。私たちは記憶インフラのみ課金し、コンピュートには決して課金しません。
- デフォルトで暗号化。AES-256-GCM による保存時暗号化。テナントごとの鍵分離。これは初日からの設計要件でした。
- 英語のみのバイアスなし。BGE-m3 エンベディング + 50以上の言語サポート。中国語でクエリして、英語で保存された記憶を検索。
正直なギャップ
私たちは透明なエンジニアリングを信じているので、Tokyo Brain がまだ持っていないものをお伝えします:
- マルチモーダル記憶なし — テキストのみ。画像、音声、動画はロードマップにあります。
- クロスユーザー知識共有なし — 各テナントは完全に分離。フェデレーションは計画中。
- 限定的な感情検出 — パターンベースであり、LLMベースではない。既知のパターンにはうまく機能しますが、新しい感情的コンテキストは見逃します。
- 小規模なユーザーベース — アルファ段階です。システムは動作し、ベンチマークがそれを証明しますが、より多くの実世界での検証が必要です。
- リコールレイテンシー — 並行負荷下で約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
3行のコードで、あなたのAIに海馬、扁桃体、そして潜在意識を。
すでにLangChainを使っていますか?2行の置き換え:
# 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として、また永続セッションのChatMessageHistoryとしても動作します。
APIドキュメント: api.tokyobrain.ai | PyPI: tokyo-brain 0.1.0