エージェントOS · メモリレイヤー

忘れないメモリ。嘘をつかないキャッシュ。

構造化ステート、意味メモリ、システム変更時に再生成されるスキーマバインドキャッシュ。

UDBはAIが話すだけでなく行動するために必要なデータレイヤーです。コンパクションでも残る構造化ステート、セッションをまたいで自動で呼び戻される意味メモリ、コストの高いクエリに対するスキーマバインドキャッシュを保持します。基盤システムが変わるとキャッシュは静かに再生成されます。すべてのレコードはテナント分離され、安定したuser_refに紐づきます。

Structured
コンパクションを生存
Auto-regen
スキーマバインドキャッシュ
Semantic
セッション間呼び戻し

3つのメモリレイヤー

構造化ステート
renewal_status, last_invoice_id, escalation_owner
スキーマバインドキャッシュ
月次アクティブ顧客 (スキーマ変更時に再生成)
意味メモリ
ユーザーは簡潔な要約を好む; 金曜日は避ける

各レイヤーは独自の検索パターンと保存ルールを持ちます。

『とりあえずRAGに入れる』では足りない理由

エージェントの信頼性を静かに損なう3つの失敗モード。

✗ コンパクションが重要事実を飲み込む

自動要約されたチャットメモリはトーンを残し、数値を失います。次のステップに必要なIDが会話の途中で消えます。

✗ スキーマが変わるとキャッシュが嘘をつく

事前計算済みビューはアップストリームテーブルがリネームされると静かに陳腐化します。エージェントは前四半期のマッピングを自信満々に引用します。

✗ テナントデータがユーザー間で漏洩

厳格なテナント境界のないRAGインデックスは、埋め込みが近いだけで他顧客のメモを返します。

UDBが行うこと

LLMをチームメイトに変える4つのメモリ特性。

構造化ステートはコンパクションに耐える

重要事実はチャットスクロールバックではなく型付きレコードに住みます。オーケストレーターが決定論的に取り出し、要約で消えることはありません。

再生成されるスキーマバインドキャッシュ

コストの高いクエリ(アクティブ顧客数、月次売上)は依存スキーマにバインドしてキャッシュされます。スキーマが変われば無効化され再生成されます。

自動で呼び戻される意味メモリ

嗜好、過去の決定、繰り返しパターンは埋め込みされ、ユーザーが再入力しなくても計画時点で自動で呼び戻されます。無限スクロールバックではなく、適切な保存を伴うRAGです。

デフォルトでテナント + ユーザー分離

すべてのレコードはaccount_id + user_refでキー化されます。クロステナント検索はクエリ慣行ではなく構造的に不可能です。

メモリがUDBに入り出る流れ

書き込みパス、検索パス、再生成ループ。

1

書き込み

オーケストレーターはすべてのステップ遷移で構造化ステートを書き込みます。暗黙はありません。

2

埋め込み

意味メモリは埋め込みされ、保存ルールと共にタグ付けされます。

3

呼び戻し

計画時点で、テナントスコープ内で現在の意図にマッチするステートと意味メモリをUDBから取得します。

4

再生成

スキーマ依存が変わると、スキーマバインドキャッシュは自身を陳腐化扱いし、次回アクセスで再構築されます。

メモリレイヤーの正直な比較

UDBが提供するものと代替案の比較。

機能 Interactor UDB ChatGPT / Cowork ゼロから構築
重要事実を失わない あり — 構造化 部分的 (CLAUDE.md) 1か月以上
セッション間の記憶 あり — 自動呼び戻し 改善中のオートメモリ 2か月以上
再生成されるキャッシュ あり — スキーマバインド なし あり — 慎重な設計
テナント + ユーザー分離 あり — 構造的 アカウント単位のみ 間違えやすい
信頼できるメモリまでの時間 数週間 該当なし 3〜6か月
改善中の領域

現状のメモリは基本的なRAGです。アップグレード中です。

埋め込み + コサイン類似度 + top-kは機能しますが、6か月前のメモリを昨日と同じ重みで扱います。時間減衰、リランキング、メモリタイプの構造化(事実 vs 嗜好 vs 決定)を加え、人が実際に思い出す内容に近づけます。

メモリの恐怖体験を聞かせてください

AIが忘れ続けるものを教えてください。適切なUDBレコードタイプをモデル化し、検索をライブでお見せします。