Skip to main content

Dreaming(実験的)

Dreaming は memory-core におけるバックグラウンドのメモリ統合パスです。 「dreaming」と呼ばれるのは、システムがその日に出てきた内容を見直し、 永続的なコンテキストとして保持する価値があるものを判断するためです。 Dreaming は 実験的オプトインデフォルトで無効 です。

dreaming が行うこと

  1. memory_search のヒットから得られる短期リコールイベントを memory/YYYY-MM-DD.md に追跡します。
  2. 重み付きシグナルでそれらのリコール候補をスコアリングします。
  3. 条件を満たした候補のみを MEMORY.md に昇格します。
これにより、長期メモリは一度きりの詳細ではなく、永続的で繰り返し現れる コンテキストに集中できます。

昇格シグナル

Dreaming は 4 つのシグナルを組み合わせます:
  • 頻度: 同じ候補がどれだけ頻繁にリコールされたか。
  • 関連性: 取得時のリコールスコアがどれだけ高かったか。
  • クエリの多様性: どれだけ多くの異なるクエリ意図でその候補が現れたか。
  • 新しさ: 最近のリコールに対する時間的重み付け。
昇格には、1 つのシグナルだけではなく、設定されたすべてのしきい値ゲートを通過する必要があります。

シグナルの重み

SignalWeightDescription
頻度0.35同じエントリがどれだけ頻繁にリコールされたか
関連性0.35取得時の平均リコールスコア
多様性0.15それを表面化させた異なるクエリ意図の数
新しさ0.15時間減衰(14 日の半減期)

仕組み

  1. リコール追跡 — すべての memory_search ヒットは、 リコール回数、スコア、クエリハッシュとともに memory/.dreams/short-term-recall.json に記録されます。
  2. スケジュールされたスコアリング — 設定された頻度で候補が 重み付きシグナルを使ってランク付けされます。すべてのしきい値ゲートが同時に通過する必要があります。
  3. 昇格 — 条件を満たしたエントリは、昇格タイムスタンプ付きで MEMORY.md に追加されます。
  4. クリーンアップ — すでに昇格済みのエントリは今後のサイクルから除外されます。 ファイルロックにより同時実行を防ぎます。

モード

dreaming.mode は頻度とデフォルトのしきい値を制御します:
ModeCadenceminScoreminRecallCountminUniqueQueries
off無効
core毎日午前 3 時0.7532
rem6 時間ごと0.8543
deep12 時間ごと0.8033

スケジューリングモデル

Dreaming が有効な場合、memory-core は繰り返しスケジュールを 自動的に管理します。この機能のために cron ジョブを手動で作成する必要はありません。 次のような明示的なオーバーライドで動作を調整することは可能です:
  • dreaming.frequency(cron 式)
  • dreaming.timezone
  • dreaming.limit
  • dreaming.minScore
  • dreaming.minRecallCount
  • dreaming.minUniqueQueries

設定

{
  "plugins": {
    "entries": {
      "memory-core": {
        "config": {
          "dreaming": {
            "mode": "core"
          }
        }
      }
    }
  }
}

チャットコマンド

チャットからモードを切り替えたり、状態を確認したりできます:
/dreaming core          # core モードに切り替える(毎晩)
/dreaming rem           # rem モードに切り替える(6時間ごと)
/dreaming deep          # deep モードに切り替える(12時間ごと)
/dreaming off           # dreaming を無効化
/dreaming status        # 現在の設定と頻度を表示
/dreaming help          # モードガイドを表示

CLI コマンド

コマンドラインから昇格をプレビューして適用します:
# 昇格候補をプレビュー
openclaw memory promote

# MEMORY.md に昇格を適用
openclaw memory promote --apply

# プレビュー件数を制限
openclaw memory promote --limit 5

# すでに昇格済みのエントリを含める
openclaw memory promote --include-promoted

# dreaming の状態を確認
openclaw memory status --deep
完全なフラグリファレンスについては、memory CLI を参照してください。

Dreams UI

Dreaming が有効な場合、Gateway のサイドバーに Dreams タブが表示され、 メモリ統計(短期件数、長期件数、昇格件数)と次回の スケジュール済みサイクル時刻が表示されます。

さらに読む