夢境蒸留(Deep Dream)は CowAgent の記憶システムの中核的な整理メカニズムであり、散在する日次記憶を精錬された長期記憶に蒸留し、夢日記を生成します。
記憶の流れ
CowAgent の記憶は短期から長期まで 3 つの段階を経ます:
会話コンテキスト(短期)→ 日次記憶(中期)→ MEMORY.md(長期)
1. 会話 → 日次記憶
会話コンテキストがトリミングされた時、または毎日のスケジュール要約時に、LLM が会話内容を重要イベントに要約し、日次記憶ファイル memory/YYYY-MM-DD.md に書き込みます。
トリガー:
- コンテキストトリミング — ターン数またはトークン制限を超えた時、トリミングされた内容が要約されます
- 毎日のスケジュール — 23:55 に自動トリガー
- API オーバーフロー — 現在の会話要約の緊急保存
2. 日次記憶 → MEMORY.md(蒸留)
毎日の要約完了後、Deep Dream が自動的に蒸留を実行します:
- 材料の読み込み — 現在の
MEMORY.md + 当日の日次記憶
- LLM 蒸留 — 重複排除、統合、剪定、新情報の抽出
- MEMORY.md の上書き — 精錬された長期記憶を出力
- 夢日記の生成 — 整理過程の発見と洞察を記録
3. MEMORY.md の役割
MEMORY.md は毎回の会話のシステムプロンプトに注入され、Agent がユーザーの好み、決定、重要な事実を常に把握できるようにします。そのため簡潔に保つ必要があり、Deep Dream は約 30 項目以内に制御します。
蒸留ルール
Deep Dream は以下の整理ルールに従います:
| 操作 | 説明 |
|---|
| 統合・精錬 | 類似する複数の項目を 1 つの高密度な表現に統合 |
| 新規抽出 | 日次記憶から好み、決定、人物、経験を抽出 |
| 矛盾更新 | 新情報が古い項目と矛盾する場合、新情報を優先 |
| 無効クリーン | 一時的な記録、空白項目、フォーマット残留を削除 |
| 冗長削除 | より精錬された表現でカバーされた古い項目を削除 |
夢日記
各蒸留で夢日記が生成され、memory/dreams/YYYY-MM-DD.md に保存されます。ナラティブスタイルで以下を記録します:
- 発見された重複や矛盾
- 日次記憶から抽出された新しい洞察
- 実行されたクリーンアップと最適化
- 全体的な観察
夢日記は Web コンソールの「メモリ管理 → 夢日記」タブで確認できます。
手動トリガー
毎日の自動実行に加えて、チャットで手動トリガーできます:
N:直近 N 日間の記憶を整理(デフォルト 3 日、最大 30 日)
- バックグラウンドで非同期に実行され、完了するとチャットで通知されます
- Web 通知にはクリック可能なリンクが含まれ、MEMORY.md と夢日記を直接確認できます
- Agent の初期化不要 — 最初の会話前でも使用可能
初回デプロイ後は /memory dream 30 を一度実行して、すべての履歴日次記憶を MEMORY.md に蒸留することをお勧めします。
安全メカニズム
| メカニズム | 説明 |
|---|
| コンテンツなしでスキップ | 日次記憶がない場合、蒸留をスキップし空の上書きを回避 |
| 入力重複排除 | スケジュールタスクで、入力材料が変更されていない場合自動スキップ |
| 非同期実行 | 蒸留はバックグラウンドスレッドで実行、会話をブロックしない |
| 順序保証 | スケジュールタスクで、日次フラッシュ完了後に蒸留を開始 |
| 捏造禁止 | プロンプトで既存の材料のみに基づく整理を明示的に制約 |