Sessions and memory
メモリの概要
OpenClaw は、エージェントのワークスペースに プレーンな Markdown ファイルを書き込むことで物事を記憶します。モデルが「記憶」するのはディスクに保存された内容だけです。隠れた状態はありません。
仕組み
エージェントにはメモリ関連のファイルが 3 つあります。
MEMORY.md— 長期メモリ。永続的な事実、好み、意思決定。すべての DM セッションの開始時に読み込まれます。memory/YYYY-MM-DD.md— 日次ノート。進行中のコンテキストと観察事項。今日と昨日のノートは自動的に読み込まれます。DREAMS.md(任意)— Dream Diary と Dreaming スイープの概要。根拠付きの過去補完エントリを含め、人間によるレビュー用です。
これらのファイルはエージェントワークスペース(デフォルトは ~/.openclaw/workspace)にあります。
推定されたコミットメント
将来のフォローアップの中には、永続的な事実ではないものがあります。明日の面接について触れた場合、有用なメモリは「面接後に確認する」であり、「これを MEMORY.md に永久保存する」ではないかもしれません。
コミットメントは、このケースに対応するオプトインの短期的なフォローアップメモリです。OpenClaw は隠れたバックグラウンドパスでそれらを推定し、同じエージェントとチャネルにスコープし、期限が来た確認を Heartbeat 経由で配信します。明示的なリマインダーは引き続きスケジュール済みタスクを使用します。
メモリツール
エージェントにはメモリを扱うためのツールが 2 つあります。
memory_search— 元の表現と文言が異なる場合でも、セマンティック検索を使って関連するノートを見つけます。memory_get— 特定のメモリファイルまたは行範囲を読み取ります。
どちらのツールもアクティブメモリプラグイン(デフォルト: memory-core)によって提供されます。
メモリ Wiki 連携プラグイン
永続メモリを単なる生のノートではなく、保守されたナレッジベースのように振る舞わせたい場合は、同梱の memory-wiki プラグインを使用してください。
memory-wiki は永続的な知識を Wiki ボールトにコンパイルし、次のものを提供します。
- 決定的なページ構造
- 構造化された主張と証拠
- 矛盾と鮮度の追跡
- 生成されたダッシュボード
- エージェント/ランタイム利用者向けのコンパイル済みダイジェスト
wiki_search、wiki_get、wiki_apply、wiki_lintなどの Wiki ネイティブツール
これはアクティブメモリプラグインを置き換えるものではありません。アクティブメモリプラグインは引き続き、想起、昇格、Dreaming を所有します。memory-wiki は、その横に来歴が豊富な知識レイヤーを追加します。
Memory Wikiを参照してください。
メモリ検索
埋め込みプロバイダーが設定されている場合、memory_search は ハイブリッド検索を使用します。これはベクトル類似度(意味的な近さ)とキーワード一致(ID やコードシンボルのような正確な用語)を組み合わせるものです。対応している任意のプロバイダーの API キーがあれば、すぐに動作します。
検索の仕組み、チューニングオプション、プロバイダー設定の詳細については、メモリ検索を参照してください。
メモリバックエンド
SQLite ベース。キーワード検索、ベクトル類似度、ハイブリッド検索がすぐに使えます。追加の依存関係はありません。
再ランキング、クエリ展開、ワークスペース外のディレクトリをインデックスできるローカルファーストのサイドカーです。
ユーザーモデリング、セマンティック検索、マルチエージェント認識を備えた AI ネイティブなクロスセッションメモリです。プラグインとしてインストールします。
OpenAI 互換の埋め込み、自動想起、自動キャプチャ、ローカル Ollama 埋め込み対応を備えた、同梱の LanceDB バックエンドメモリです。
ナレッジ Wiki レイヤー
自動メモリフラッシュ
Compaction が会話を要約する前に、OpenClaw は重要なコンテキストをメモリファイルに保存するようエージェントに促すサイレントターンを実行します。これはデフォルトで有効です。設定は不要です。
そのハウスキーピングターンをローカルモデル上に維持するには、厳密なメモリフラッシュモデル上書きを設定します。
{
"agents": {
"defaults": {
"compaction": {
"memoryFlush": {
"model": "ollama/qwen3:8b"
}
}
}
}
}
この上書きはメモリフラッシュターンにのみ適用され、アクティブセッションのフォールバックチェーンは継承しません。
Dreaming
Dreaming は、メモリのための任意のバックグラウンド統合パスです。短期的なシグナルを収集し、候補をスコアリングし、条件を満たした項目だけを長期メモリ(MEMORY.md)に昇格します。
これは長期メモリのシグナル品質を高く保つように設計されています。
- オプトイン: デフォルトでは無効です。
- スケジュール済み: 有効にすると、
memory-coreは完全な Dreaming スイープ用の定期 Cron ジョブを 1 つ自動管理します。 - しきい値付き: 昇格は、スコア、想起頻度、クエリ多様性のゲートを通過する必要があります。
- レビュー可能: フェーズ概要とダイアリエントリは、人間によるレビュー用に
DREAMS.mdに書き込まれます。
フェーズの動作、スコアリングシグナル、Dream Diary の詳細については、Dreamingを参照してください。
根拠付き補完とライブ昇格
Dreaming システムには、密接に関連する 2 つのレビューレーンがあります。
- ライブ Dreaming は
memory/.dreams/配下の短期 Dreaming ストアを基に動作し、通常のディープフェーズが何をMEMORY.mdに昇格できるかを判断するときに使用します。 - 根拠付き補完 は過去の
memory/YYYY-MM-DD.mdノートを独立した日次ファイルとして読み取り、構造化されたレビュー出力をDREAMS.mdに書き込みます。
根拠付き補完は、古いノートを再生し、MEMORY.md を手動編集せずに、システムが何を永続的だと考えるかを確認したい場合に便利です。
次を使用すると:
openclaw memory rem-backfill --path ./memory --stage-short-term
根拠付きの永続候補は直接昇格されません。それらは、通常のディープフェーズがすでに使用している同じ短期 Dreaming ストアにステージングされます。つまり、次のようになります。
DREAMS.mdは人間向けレビュー面のままです。- 短期ストアは機械向けランキング面のままです。
MEMORY.mdは引き続きディープ昇格によってのみ書き込まれます。
再生が有用でなかったと判断した場合は、通常のダイアリエントリや通常の想起状態に触れずに、ステージングされたアーティファクトを削除できます。
openclaw memory rem-backfill --rollback
openclaw memory rem-backfill --rollback-short-term
CLI
openclaw memory status # インデックスの状態とプロバイダーを確認
openclaw memory search "query" # コマンドラインから検索
openclaw memory index --force # インデックスを再構築
参考資料
- 組み込みメモリエンジン: デフォルトの SQLite バックエンド。
- QMD メモリエンジン: 高度なローカルファーストサイドカー。
- Honcho メモリ: AI ネイティブなクロスセッションメモリ。
- Memory LanceDB: OpenAI 互換の埋め込みを備えた LanceDB バックエンドのプラグイン。
- Memory Wiki: コンパイル済みナレッジボールトと Wiki ネイティブツール。
- メモリ検索: 検索パイプライン、プロバイダー、チューニング。
- Dreaming: 短期想起から長期メモリへのバックグラウンド昇格。
- メモリ設定リファレンス: すべての設定ノブ。
- Compaction: Compaction がメモリとどのように相互作用するか。