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

改善中の領域

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

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

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

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