mcpField
E
elite-longterm-memory

elite-longterm-memory

github.com/nextfrontierbuildsエージェントワークフロー162.4k 回インストール39 週間前に更新
リポジトリ

elite-longterm-memory について

Elite Longterm Memoryは、AIエージェント向けの階層型メモリ運用ガイドです。セッション状態ファイル、LanceDBのベクトル検索、Git-Notes、ログ整理に加え、任意のクラウドバックアップと自動抽出を組み合わせます。

主な機能

  1. 01セッション状態ファイルで作業中の文脈を保持
  2. 02LanceDBで意味検索によるメモリ取得
  3. 03Git-Notesで構造化した決定を保存
  4. 04長期メモリと日次ログを管理
  5. 05SuperMemoryとMem0を任意で利用

活用シーン

  1. 01セッションをまたいでタスク状態や好みを保持
  2. 02過去の決定を検索して作業の重複を削減
  3. 03日々の記録を長期メモリに整理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/nextfrontierbuilds/elite-longterm-memory --skill elite-longterm-memory

インストール後、Claude Code で/elite-longterm-memoryを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
package.json
bin/
elite-memory.js

詳細

エリート長期記憶 🧠

AI エージェントのための究極の記憶システムです。 実証済みの6つのアプローチを、堅牢な1つのアーキテクチャに統合します。

コンテキストを失わない。決定を忘れない。同じ間違いを繰り返さない。

アーキテクチャの概要

┌─────────────────────────────────────────────────────────────────┐
│                    ELITE LONGTERM MEMORY                        │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐             │
│  │   HOT RAM   │  │  WARM STORE │  │  COLD STORE │             │
│  │             │  │             │  │             │             │
│  │ SESSION-    │  │  LanceDB    │  │  Git-Notes  │             │
│  │ STATE.md    │  │  Vectors    │  │  Knowledge  │             │
│  │             │  │             │  │  Graph      │             │
│  │ (survives   │  │ (semantic   │  │ (permanent  │             │
│  │  compaction)│  │  search)    │  │  decisions) │             │
│  └─────────────┘  └─────────────┘  └─────────────┘             │
│         │                │                │                     │
│         └────────────────┼────────────────┘                     │
│                          ▼                                      │
│                  ┌─────────────┐                                │
│                  │  MEMORY.md  │  ← Curated long-term           │
│                  │  + daily/   │    (human-readable)            │
│                  └─────────────┘                                │
│                          │                                      │
│                          ▼                                      │
│                  ┌─────────────┐                                │
│                  │ SuperMemory │  ← Cloud backup (optional)     │
│                  │    API      │                                │
│                  └─────────────┘                                │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

5つの記憶レイヤー

レイヤー1:ホットRAM(SESSION-STATE.md)

出典:bulletproof-memory

圧縮後も保持される、アクティブな作業用メモリです。先行書き込みログ(WAL)プロトコルを採用しています。

# SESSION-STATE.md — Active Working Memory

## Current Task
[What we're working on RIGHT NOW]

## Key Context
- User preference: ...
- Decision made: ...
- Blocker: ...

## Pending Actions
- [ ] ...

ルール: 応答する前に書き込みます。エージェントの記憶ではなく、ユーザー入力をきっかけに実行します。

レイヤー2:ウォームストア(LanceDB ベクトル)

出典:lancedb-memory

すべての記憶を対象にしたセマンティック検索です。自動想起によって、関連するコンテキストを挿入します。

# Auto-recall (happens automatically)
memory_recall query="project status" limit=5

# Manual store
memory_store text="User prefers dark mode" category="preference" importance=0.9
レイヤー3:コールドストア(Git-Notes ナレッジグラフ)

出典:git-notes-memory

構造化された決定、学び、コンテキストを保存します。ブランチを認識します。

# Store a decision (SILENT - never announce)
python3 memory.py -p $DIR remember '{"type":"decision","content":"Use React for frontend"}' -t tech -i h

# Retrieve context
python3 memory.py -p $DIR get "frontend"
レイヤー4:キュレーション済みアーカイブ(MEMORY.md + daily/)

出典:Clawdbot native

人が読みやすい長期記憶です。日次ログと、抽出・整理した知見で構成されます。

workspace/
├── MEMORY.md              # Curated long-term (the good stuff)
└── memory/
    ├── 2026-01-30.md      # Daily log
    ├── 2026-01-29.md
    └── topics/            # Topic-specific files
レイヤー5:クラウドバックアップ(SuperMemory)— 任意

出典:supermemory

デバイス間で同期します。ナレッジベースとチャットできます。

export SUPERMEMORY_API_KEY="your-key"
supermemory add "Important context"
supermemory search "what did we decide about..."
レイヤー6:自動抽出(Mem0)— 推奨

新機能:事実を自動抽出

Mem0 は会話から事実を自動的に抽出します。トークンを80%削減できます。

npm install mem0ai
export MEM0_API_KEY="your-key"
const { MemoryClient } = require('mem0ai');
const client = new MemoryClient({ apiKey: process.env.MEM0_API_KEY });

// Conversations auto-extract facts
await client.add(messages, { user_id: "user123" });

// Retrieve relevant memories
const memories = await client.search(query, { user_id: "user123" });

メリット:

  • 好み、決定、事実を自動抽出します
  • 既存の記憶の重複を除去し、更新します
  • 生の履歴と比較してトークンを80%削減します
  • セッションをまたいで自動的に動作します

クイックセットアップ

1. SESSION-STATE.md を作成する(ホットRAM)
cat > SESSION-STATE.md << 'EOF'
# SESSION-STATE.md — Active Working Memory

This file is the agent's "RAM" — survives compaction, restarts, distractions.

## Current Task
[None]

## Key Context
[None yet]

## Pending Actions
- [ ] None

## Recent Decisions
[None yet]

---
*Last updated: [timestamp]*
EOF
2. LanceDB を有効にする(ウォームストア)

~/.clawdbot/clawdbot.json で設定します。

{
  "memorySearch": {
    "enabled": true,
    "provider": "openai",
    "sources": ["memory"],
    "minScore": 0.3,
    "maxResults": 10
  },
  "plugins": {
    "entries": {
      "memory-lancedb": {
        "enabled": true,
        "config": {
          "autoCapture": false,
          "autoRecall": true,
          "captureCategories": ["preference", "decision", "fact"],
          "minImportance": 0.7
        }
      }
    }
  }
}
3. Git-Notes を初期化する(コールドストア)
cd ~/clawd
git init  # if not already
python3 skills/git-notes-memory/memory.py -p . sync --start
4. MEMORY.md の構造を確認する
# Ensure you have:
# - MEMORY.md in workspace root
# - memory/ folder for daily logs
mkdir -p memory
5. (任意)SuperMemory をセットアップする
export SUPERMEMORY_API_KEY="your-key"
# Add to ~/.zshrc for persistence

エージェントへの指示

セッション開始時
  1. SESSION-STATE.md を読みます。ここがホットコンテキストです
  2. memory_search を実行し、関連する過去のコンテキストを探します
  3. memory/YYYY-MM-DD.md で最近のアクティビティを確認します
会話中
  1. ユーザーが具体的な詳細を伝えましたか? → 応答する前に SESSION-STATE.md に書き込みます
  2. 重要な決定がなされましたか? → Git-Notes に保存します(通知せずに)
  3. 好みが示されましたか? → importance=0.9 を指定して memory_store を実行します
セッション終了時
  1. SESSION-STATE.md を最終状態に更新します
  2. 長期的に残す価値がある重要な項目を MEMORY.md に移します
  3. memory/YYYY-MM-DD.md に日次ログを作成または更新します
記憶の整理(毎週)
  1. SESSION-STATE.md を確認し、完了したタスクをアーカイブします
  2. LanceDB に不要なデータがないか確認します:memory_recall query="*" limit=50
  3. 無関係なベクトルを削除します:memory_forget id=<id>
  4. 日次ログを MEMORY.md にまとめます

WAL プロトコル(重要)

先行書き込みログ: 応答の後ではなく、応答する前に状態を書き込みます。

トリガーアクション
ユーザーが好みを伝えるSESSION-STATE.md に書き込む → その後、応答する
ユーザーが決定を下すSESSION-STATE.md に書き込む → その後、応答する
ユーザーが期限を伝えるSESSION-STATE.md に書き込む → その後、応答する
ユーザーが誤りを指摘するSESSION-STATE.md に書き込む → その後、応答する

理由: 先に応答し、保存前にクラッシュまたは圧縮が発生すると、コンテキストが失われます。WAL によって永続性が確保されます。

ワークフローの例

User: "Let's use Tailwind for this project, not vanilla CSS"

Agent (internal):
1. Write to SESSION-STATE.md: "Decision: Use Tailwind, not vanilla CSS"
2. Store in Git-Notes: decision about CSS framework
3. memory_store: "User prefers Tailwind over vanilla CSS" importance=0.9
4. THEN respond: "Got it — Tailwind it is..."

メンテナンスコマンド

# Audit vector memory
memory_recall query="*" limit=50

# Clear all vectors (nuclear option)
rm -rf ~/.clawdbot/memory/lancedb/
clawdbot gateway restart

# Export Git-Notes
python3 memory.py -p . export --format json > memories.json

# Check memory health
du -sh ~/.clawdbot/memory/
wc -l MEMORY.md
ls -la memory/

記憶が機能しない理由

根本原因を理解すれば、問題を解決できます。

失敗のパターン原因解決策
何もかも忘れるmemory_search が無効有効にして OpenAI キーを追加する
ファイルが読み込まれないエージェントがメモリの読み取りを省略するAGENTS.md のルールに追加する
事実が記録されない自動抽出がないMem0 を使うか、手動で記録する
サブエージェントが孤立するコンテキストを引き継がないタスクのプロンプトでコンテキストを渡す
同じ間違いを繰り返す教訓が記録されていないmemory/lessons.md に書き込む

解決策(必要な作業量の少ない順)

1. すぐできる改善:memory_search を有効にする

OpenAI キーをお持ちの場合は、セマンティック検索を有効にします。

clawdbot configure --section web

これにより、MEMORY.md と memory/*.md ファイルを対象にしたベクトル検索が有効になります。

2. 推奨:Mem0 の統合

会話から事実を自動抽出します。トークンを 80% 削減できます。

npm install mem0ai
const { MemoryClient } = require('mem0ai');

const client = new MemoryClient({ apiKey: process.env.MEM0_API_KEY });

// Auto-extract and store
await client.add([
  { role: "user", content: "I prefer Tailwind over vanilla CSS" }
], { user_id: "ty" });

// Retrieve relevant memories
const memories = await client.search("CSS preferences", { user_id: "ty" });
3. より良いファイル構成(依存関係なし)
memory/
├── projects/
│   ├── strykr.md
│   └── taska.md
├── people/
│   └── contacts.md
├── decisions/
│   └── 2026-01.md
├── lessons/
│   └── mistakes.md
└── preferences.md

MEMORY.md は要約(<5KB)として保ち、詳細ファイルへのリンクを追加します。

すぐに実施できる修正チェックリスト

問題修正
設定を忘れるMEMORY.md に ## Preferences セクションを追加する
同じ間違いを繰り返すすべての間違いを memory/lessons.md に記録する
サブエージェントにコンテキストがない起動タスクのプロンプトに重要なコンテキストを含める
最近の作業を忘れる毎日のファイル管理を徹底する
メモリ検索が機能しないOPENAI_API_KEY が設定されていることを確認する

トラブルシューティング

エージェントが会話の途中で何度も忘れる場合: → SESSION-STATE.md が更新されていません。WAL プロトコルを確認してください。

無関係なメモリが注入される場合: → autoCapture を無効にし、minImportance のしきい値を上げてください。

メモリが大きすぎて、想起が遅い場合: → 整理を実行してください。古いベクトルを削除し、日次ログをアーカイブします。

Git-Notes が保持されない場合: → git notes push を実行してリモートと同期してください。

memory_search が何も返さない場合: → OpenAI API キーを確認してください:echo $OPENAI_API_KEY → clawdbot.json で memorySearch が有効になっていることを確認してください


リンク


@NextXFrontier が作成 — Next Frontier AI ツールキットの一部

コメント