エージェントは認証情報を作成したメンバー向けにガバナンス付きのメモを保持でき、メモリは証拠とは厳格に分離されます。
ガバナンス付きエージェントメモリ
エージェントは、認証情報を作成したワークスペースメンバー向けに短いメモ(メモリ)を保存し、後のタスクで REST または MCP 経由で想起できます。
前提条件とプライバシーモデル
エージェントメモリは、次の両方が満たされている場合にのみ動作します。
- 認証情報のスコープ: 設定 → エージェントアクセス で、
memory:read(Viewer 以上が必要)またはmemory:write(Editor 以上が必要)を付与して認証情報が作成されていること。既定ではどちらも選択されていません。 - オーナーによる有効化: ワークスペースの owner(
ask_history:manage)が質問履歴設定(PUT /api/w/:wsId/ask-history/settings)で Let agents keep memories をオンにしていること。オフ(既定)の間は、すべてのメモリ操作が403 AGENT_MEMORY_DISABLEDを返します。非保持ワークスペースでは常に403 NON_RETAINING_WORKSPACEで拒否されます。
各メモリは認証情報を作成したメンバー本人にのみ帰属します。他のメンバー、他のメンバーのエージェント、さらにはワークスペースの owner であっても内容を読むことはできません(owner は DELETE /api/w/:wsId/ask-history/settings/agent-memories で内容を読まずにワークスペース内の全エージェントメモリを一括削除することのみ可能です)。メンバー本人は回答ワークスペースの What Bundata remembers → Agent memories(GET / DELETE /api/w/:wsId/ask-history/agent-memories)から、いつでも自分のエージェントメモリを確認・削除できます。
REST と MCP の操作
| 操作 | REST エンドポイント | MCP ツール | スコープ | リクエストボディ |
|---|---|---|---|---|
| Remember(記憶) | POST /api/agent/v1/memories/remember | remember_memory | memory:write | { namespace, text, key?, collectionId?, citations? } |
| Recall(想起) | POST /api/agent/v1/memories/recall | recall_memories | memory:read | { query, namespace?, collectionId?, asOf?, limit? } |
| List(一覧) | POST /api/agent/v1/memories/list | list_memories | memory:read | { namespace?, key?, collectionId?, asOf?, limit?, cursor? } |
| Forget(忘却) | POST /api/agent/v1/memories/forget | forget_memory | memory:write | { memoryId } または { namespace, key } |
ガバナンス規則
- PII マスク:
text(1〜1,000文字)は保存前に決定論的にマスクされます(メールアドレス、電話番号、イスラエル ID、カード番号、銀行口座番号、10 桁以上の数字列はプレースホルダーに置換され、何も残らない場合はAGENT_MEMORY_EMPTY)。個人情報を含むnamespace(1〜64文字)やkey(最大120文字)は400 AGENT_MEMORY_PERSONAL_DATAで拒否されます。 - 出典の引用とリアルタイム再確認: メモリには最大 20 個の Smart Bite パッセージ ID(
citations)を引用できます。パッセージ本文は保存されず、参照と SHA-256 ハッシュのみが記録されます。想起や一覧のたびに出典パッセージが再確認され、文書が削除・期限切れ・読み取り不能な場合は非表示(hidden件数に加算)となり、新しい文書バージョンや本文の変更がある場合はsourceState: "changed"が返ります。 - キー、上書き世代管理、および
asOf: 同じnamespaceとkeyで新しいメモリを保存すると前のバージョンを上書き(superseded: 1)します。asOf(ISO-8601 時刻)を指定すると、その時点で有効だったメモリが返ります。Forget はそのキーの全バージョンを同時に削除します。 - 融合ランキングによる想起: 条件に一致する最新 300 件のメモリを対象に、BM25 単語一致、クエリとメモリのコサイン類似度(上限
800 ms)、および引用パッセージが言及する解決済みエンティティの 3 つを RRF(k = 60)で融合してランク付けします。 - コンテキストセットのバインド: コンテキストセットにバインドされた認証情報は、有効なバインド先セットのコレクションおよび文書内でのみ記憶・想起・一覧・削除を行えます(範囲外は
AGENT_CONTEXT_SET_SCOPE_REFUSED)。 - 証拠としては扱わない: すべてのメモリは
type: "memory"、evidence: false、trust: "untrusted"を持ち、MCP テキスト出力ではフェンス内に配置され、コレクション回答、コンテキストパック、主張検証には一切使用されません。 - 上限と保持期間: 認証情報あたり 1 時間につき最大 120 回の記憶(
429 AGENT_MEMORY_RATE_LIMITED)、メンバーおよびワークスペースあたり全バージョン合計 5,000 件(409 AGENT_MEMORY_FULL)が上限です。owner が設定した保持期間(1〜365日、既定90日)の経過時、または引用文書・コレクションの削除時に自動消去されます。