メインコンテンツまでスキップ

メモリとリコール

このページでは、長い会話をモデルが覚えているのに役立つメモリ機能を説明します: ローリング会話メモリ、キーワード起動のメモリエントリ、ベクターリコールです。

会話メモリ

各チャットは、会話が成長するにつれてパイプラインが維持するローリング要約を保持します。コンテキストシフティング戦略 summarize がアクティブな場合、最も古い除外済み履歴がローカルの抽出型要約に凝縮され、現在のユーザー入力の前に挿入されます — 生のメッセージがトークン予算から外れた後も、モデルは初期の出来事の要点を保持できます。要約はチャットとともに保存され、再読み込み後も残ります。

送信前に現在のプロンプトに何が含まれるかを正確に確認できます: ライブのコンテキストプレビューには、選択されたトークナイザー、コンテキスト制限と予約済みの応答領域、除外されたブロック、要約されたブロック、適用された戦略が表示されます。戦略の選択は設定 を参照してください。

メモリエントリ

メモリエントリは、個々の会話とは独立してチャットをまたいで永続する長寿命の知識フラグメントです。各エントリには次のものがあります:

  • スコープglobal またはキャラクターにバインド。
  • 起動キーワード — 会話コンテキストに対する大文字小文字を区別しない部分文字列マッチ。
  • コンテンツ — エントリが起動したときに注入されるテキスト。

これは古典的な RAG パターンです: 取得はキーワードマッチでトリガーされ、注入されたフラグメントは、キャラクターの詳細、世界のルール、進行中のプロットポイントなど、安定した事実に対するモデルのニーズを、すべてのプロンプトを肥大化させずに満たします。ロアブックエントリと同様に、メモリブロックはプロンプトパイプラインで関連度順にランク付けされ、トークン予算にカウントされます。

ベクターリコール

ベクターリコールはコンテキストシフティング戦略 vector-recall です。コンテキストを単に古さで切り詰める代わりに、ロアブックとメモリのブロックを現在の入力に対する意味的な関連度でランク付けし、関連度の低いものから先に落とし、それから古い履歴を削ります。結果: モデルは、最新でなくても現在のメッセージに重要な素材を保持します。

この戦略は生成設定ごとに選択され、プラグインは SDK を通じて追加の戦略を登録できます。どの戦略も最終的にホストが制御するトークン予算を尊重します — プラグインがこれを回避することはできません。

戦略の選択

利用可能な戦略は truncate(最も古い保護されていないグループを削除)、summarize(除外された履歴を凝縮)、vector-recall(関連度の高いブロックを保持し、関連度と古さで削る)、manual(履歴から削除せずに特定のメッセージをプロンプトから除外)です。手動モードは各メッセージに除外・復元アクションを公開し、ツールコールとツール結果のペアは常に一緒に扱われます。メッセージレベルのコントロールはチャット を、関連するキーワード起動モデルはロアブック を参照してください。