問題点: 記憶喪失を持つAIエージェント
すべてのAIエージェントフレームワークには同じ汚い秘密があります: あなたのエージェントはすべてを忘れる.
コンテキストウィンドウは有限です。会話が制限を超えると、古いメッセージは削除されます — 静かに、永久に。3週間前にエージェントが下したその判断は?先月あなたが挙げた技術的な好みは?なくなりました。
これを 圧縮問題 と呼びます:要約ベースの剪定はニュアンスを失い、ハードトランケーションはすべてを失います。
私たちの解決策: 3層メモリアーキテクチャ
SoulClaw v2026.3.18 は、3層メモリシステムを導入します。これはAIエージェントが会話の1ターンも失わず、検索を速く関連性の高い状態に保ちます。
レイヤー1: DAG ロスレスストア(新機能)
すべての会話メッセージは、有向非巡回グラフ(DAG)にバックアップされた SQLite に保存されます:
Level 0: Raw messages (never deleted)
↓ Every 10 turns
Level 1: Chunk summaries (LLM-generated)
↓ Every 10 summaries
Level 2+: Higher-level summaries (recursive)
主な設計方針:
- SQLite — 依存なし、単一ファイルのデータベース。外部サービスは不要です。
- FTS5 の全文検索 — 会話履歴全体の即時キーワード検索。
- 増分保存 — 各ターンにつき新しいメッセージのみが書き込まれ、重複はありません。
- レベルベースの階層 — レベル0には生のメッセージ、上位レベルで要約を進めます。
DAG 構造のおかげで、要約からそれを生み出した元のメッセージを常に辿ることができます。何も失われません。
レイヤー2: セマンティックベクトル検索
SoulClaw の既存のメモリ検索エンジンは 埋め込みモデル(例: bge-m3)を用いてメモリファイルをベクトル表現に変換します。「データベーススキーマについて私たちの決定は何だったか?」と検索すると、正確な語が一致しなくても意味的に関連する記憶を見つけます。
- ハイブリッド検索: TF-IDF キーワードマッチング + コサイン類似度ベクトル検索
-
ローカル優先: Ollama 上で
bge-m3を使って実行、クラウドAPIは不要 -
ファイルベース:
MEMORY.mdおよびmemory/*.mdファイルをインデックス化
レイヤー3: パッシブメモリ抽出
会話が5ターンごとに、SoulClaw は自動的に会話を分析し、重要な情報を抽出します:
- ユーザーの嗜好と個人情報
- セッション中に下された主要な決定
- 締め切りと約束
- 技術的設定
- 名前と関係性
これらは静かに memory/*.md ファイルへ書き込まれ、レイヤー2 が将来の取得のためにインデックスします。
それらはどのように連携して機能しますか
ユーザーメッセージ → エージェントが処理 → 応答生成
↓
┌────────┴────────┐
↓ ↓
DAG ストア パッシブメモリ
(生データのメッセージ → 重要な情報を抽出
SQLite + FTS5) memory/*.md)
↓ ↓
└────────┬────────┘
↓
セマンティックベクトルインデックス
(メモリファイルを埋め込み +
FTS5 DAG 検索)
↓
3層リトリーバル
次の memory_search で
When memory_search is called:
- FTS5 は、履歴全体に対して正確なキーワード一致を DAG で検索します
- セマンティック検索 は、インデックス化されたファイルから概念的に関連する記憶を見つけます
- パッシブメモリ は、整理された高信号の事実を提供します
この組み合わせは、精度(FTS5 からの正確な一致)と 再現率(ベクトルからの概念的一致)の両方を提供します。
有効化
この DAG ストアは、memorySearch が設定されていると自動的に有効化されます — パッシブメモリと同じゲートです。追加の設定は不要です:
{
"agents": {
"defaults": {
"memorySearch": {
"provider": "local"
}
}
}
}
The SQLite database is stored at <workspace>/.dag-memory.sqlite and grows incrementally. For reference, ~50 conversation turns ≈ 300KB.
これから
- DAG対応のコンテキスト取得:関連する過去の要約を自動的にコンテキストウィンドウに挿入します
- セッション間メモリ: 異なるエージェントセッション間でメモリを共有
- メモリの可視化: SoulClaw ダッシュボードで DAG ツリーを閲覧
使ってみる
npm install -g soulclaw
soulclaw onboard
オンボーディング時にメモリ検索を設定すると、3層メモリシステムが自動的に有効化されます。
SoulClaw は Soul パワード AI エージェントフレームワークです。詳しくは clawsouls.ai をご覧ください。
