忘れないメモリ。嘘をつかないキャッシュ。
構造化ステート、意味メモリ、システム変更時に再生成されるスキーマバインドキャッシュ。
UDBはAIが話すだけでなく行動するために必要なデータレイヤーです。コンパクションでも残る構造化ステート、セッションをまたいで自動で呼び戻される意味メモリ、コストの高いクエリに対するスキーマバインドキャッシュを保持します。基盤システムが変わるとキャッシュは静かに再生成されます。すべてのレコードはテナント分離され、安定したuser_refに紐づきます。
3つのメモリレイヤー
各レイヤーは独自の検索パターンと保存ルールを持ちます。
『とりあえずRAGに入れる』では足りない理由
エージェントの信頼性を静かに損なう3つの失敗モード。
自動要約されたチャットメモリはトーンを残し、数値を失います。次のステップに必要なIDが会話の途中で消えます。
事前計算済みビューはアップストリームテーブルがリネームされると静かに陳腐化します。エージェントは前四半期のマッピングを自信満々に引用します。
厳格なテナント境界のないRAGインデックスは、埋め込みが近いだけで他顧客のメモを返します。
UDBが行うこと
LLMをチームメイトに変える4つのメモリ特性。
構造化ステートはコンパクションに耐える
重要事実はチャットスクロールバックではなく型付きレコードに住みます。オーケストレーターが決定論的に取り出し、要約で消えることはありません。
再生成されるスキーマバインドキャッシュ
コストの高いクエリ(アクティブ顧客数、月次売上)は依存スキーマにバインドしてキャッシュされます。スキーマが変われば無効化され再生成されます。
自動で呼び戻される意味メモリ
嗜好、過去の決定、繰り返しパターンは埋め込みされ、ユーザーが再入力しなくても計画時点で自動で呼び戻されます。無限スクロールバックではなく、適切な保存を伴うRAGです。
デフォルトでテナント + ユーザー分離
すべてのレコードはaccount_id + user_refでキー化されます。クロステナント検索はクエリ慣行ではなく構造的に不可能です。
メモリがUDBに入り出る流れ
書き込みパス、検索パス、再生成ループ。
書き込み
オーケストレーターはすべてのステップ遷移で構造化ステートを書き込みます。暗黙はありません。
埋め込み
意味メモリは埋め込みされ、保存ルールと共にタグ付けされます。
呼び戻し
計画時点で、テナントスコープ内で現在の意図にマッチするステートと意味メモリをUDBから取得します。
再生成
スキーマ依存が変わると、スキーマバインドキャッシュは自身を陳腐化扱いし、次回アクセスで再構築されます。
メモリレイヤーの正直な比較
UDBが提供するものと代替案の比較。
| 機能 | Interactor UDB | ChatGPT / Cowork | ゼロから構築 |
|---|---|---|---|
| 重要事実を失わない | あり — 構造化 | 部分的 (CLAUDE.md) | 1か月以上 |
| セッション間の記憶 | あり — 自動呼び戻し | 改善中のオートメモリ | 2か月以上 |
| 再生成されるキャッシュ | あり — スキーマバインド | なし | あり — 慎重な設計 |
| テナント + ユーザー分離 | あり — 構造的 | アカウント単位のみ | 間違えやすい |
| 信頼できるメモリまでの時間 | 数週間 | 該当なし | 3〜6か月 |
現状のメモリは基本的なRAGです。アップグレード中です。
埋め込み + コサイン類似度 + top-kは機能しますが、6か月前のメモリを昨日と同じ重みで扱います。時間減衰、リランキング、メモリタイプの構造化(事実 vs 嗜好 vs 決定)を加え、人が実際に思い出す内容に近づけます。
メモリの恐怖体験を聞かせてください
AIが忘れ続けるものを教えてください。適切なUDBレコードタイプをモデル化し、検索をライブでお見せします。