Dreaming(実験的)
Dreamingは、memory-coreのバックグラウンドメモリ統合システムです。
これによりOpenClawは、プロセスを説明可能かつレビュー可能な状態に保ちながら、
強い短期シグナルを永続的なメモリへ移動できます。
Dreamingはオプトインで、デフォルトでは無効です。
Dreamingが書き込む内容
Dreamingは2種類の出力を保持します。memory/.dreams/内のマシン状態(リコールストア、フェーズシグナル、取り込みチェックポイント、ロック)。DREAMS.md(または既存のdreams.md)内の人が読める出力と、memory/dreaming/<phase>/YYYY-MM-DD.md配下の任意のフェーズレポートファイル。
MEMORY.mdにのみ書き込まれます。
フェーズモデル
Dreamingは、協調して動作する3つのフェーズを使用します。| フェーズ | 目的 | 永続的な書き込み |
|---|---|---|
| Light | 最近の短期素材を整理して段階化する | いいえ |
| Deep | 永続化候補をスコアリングして昇格する | はい(MEMORY.md) |
| REM | テーマと繰り返し現れる考えを振り返る | いいえ |
Lightフェーズ
Lightフェーズは、最近の日次メモリシグナルとリコールトレースを取り込み、 重複を排除し、候補行を段階化します。- 利用可能な場合は、短期リコール状態、最近の日次メモリファイル、マスク済みセッショントランスクリプトから読み取ります。
- ストレージにインライン出力が含まれる場合、管理された
## Light Sleepブロックを書き込みます。 - 後続のDeepランキングのための強化シグナルを記録します。
MEMORY.mdには決して書き込みません。
Deepフェーズ
Deepフェーズは、何を長期メモリにするかを決定します。- 重み付きスコアリングとしきい値ゲートを使って候補を順位付けします。
- 通過には
minScore、minRecallCount、minUniqueQueriesが必要です。 - 書き込む前にライブの日次ファイルからスニペットを再取得するため、古くなったスニペットや削除されたスニペットはスキップされます。
- 昇格したエントリを
MEMORY.mdに追記します。 DREAMS.mdに## Deep Sleepサマリーを書き込み、必要に応じてmemory/dreaming/deep/YYYY-MM-DD.mdにも書き込みます。
REMフェーズ
REMフェーズは、パターンと内省的シグナルを抽出します。- 最近の短期トレースからテーマと内省のサマリーを構築します。
- ストレージにインライン出力が含まれる場合、管理された
## REM Sleepブロックを書き込みます。 - Deepランキングで使用されるREM強化シグナルを記録します。
MEMORY.mdには決して書き込みません。
セッショントランスクリプトの取り込み
Dreamingは、マスク済みセッショントランスクリプトをDreamingコーパスに取り込めます。 トランスクリプトが利用可能な場合、それらは日次メモリシグナルやリコールトレースとともに Lightフェーズに投入されます。個人的な内容や機微な内容は、取り込み前にマスクされます。Dream Diary
Dreamingはまた、DREAMS.md内に物語形式のDream Diaryを保持します。
各フェーズに十分な素材がそろうと、memory-coreはベストエフォートのバックグラウンド
subagentターン(デフォルトのランタイムモデルを使用)を実行し、短い日記エントリを追記します。
この日記はDreams UIで人が読むためのものであり、昇格ソースではありません。
レビューや復旧作業のために、根拠付きの履歴バックフィルレーンもあります。
memory rem-harness --path ... --groundedは、過去のYYYY-MM-DD.mdノートから根拠付きの日記出力をプレビューします。memory rem-backfill --path ...は、可逆な根拠付き日記エントリをDREAMS.mdに書き込みます。memory rem-backfill --path ... --stage-short-termは、根拠付きの永続候補を、通常のDeepフェーズがすでに使っている短期エビデンスストアと同じ場所に段階化します。memory rem-backfill --rollbackと--rollback-short-termは、通常の日記エントリやライブ短期リコールに触れずに、それらの段階化されたバックフィル成果物を削除します。
Deepランキングシグナル
Deepランキングは、6つの重み付きベースシグナルに加えてフェーズ強化を使用します。| シグナル | 重み | 説明 |
|---|---|---|
| 頻度 | 0.24 | そのエントリが蓄積した短期シグナルの数 |
| 関連性 | 0.30 | そのエントリの平均取得品質 |
| クエリ多様性 | 0.15 | それが現れた個別のクエリ/日コンテキスト |
| 新しさ | 0.15 | 時間減衰付きの鮮度スコア |
| 統合 | 0.10 | 複数日にわたる再出現の強さ |
| 概念的豊かさ | 0.06 | スニペット/パス由来の概念タグ密度 |
memory/.dreams/phase-signals.jsonから小さな時間減衰付きブーストを追加します。
スケジューリング
有効にすると、memory-coreは完全なDreamingスイープ用のcronジョブを1つ自動管理します。
各スイープは順番にフェーズを実行します: light -> REM -> deep。
デフォルトの実行間隔の動作:
| 設定 | デフォルト |
|---|---|
dreaming.frequency | 0 3 * * * |
クイックスタート
Dreamingを有効にする:スラッシュコマンド
CLIワークフロー
プレビューまたは手動適用には、CLI昇格を使用します。memory promoteは、CLIフラグで上書きしない限り、
デフォルトでDeepフェーズのしきい値を使用します。
特定の候補が昇格する理由、または昇格しない理由を説明する:
主なデフォルト値
すべての設定はplugins.entries.memory-core.config.dreamingの下にあります。
| キー | デフォルト |
|---|---|
enabled | false |
frequency | 0 3 * * * |
Dreams UI
有効にすると、GatewayのDreamsタブには次が表示されます。- 現在のDreaming有効状態
- フェーズレベルのステータスと管理対象スイープの有無
- 短期、grounded、シグナル、本日昇格済みの件数
- 次回スケジュール実行の時刻
- 段階化された履歴リプレイエントリ用の独立したgrounded Sceneレーン
doctor.memory.dreamDiaryに支えられた、展開可能なDream Diaryリーダー