rem-sleep について
rem-sleepは、OpenClawやClaude Codeなど、セッションログとメモリファイルを使うAIエージェント向けのメモリ整理ワークフローです。情報の統合と整理のモードで、重要な経験を長期メモリにまとめます。
主な機能
- 01セッションログから重要情報を抽出
- 02経験を長期メモリファイルに統合
- 03古い項目、重複、冗長な記述を整理
- 04consolidate、defrag、fullの各モード
- 05手動または定期的な実行
活用シーン
- 01最近のセッションから決定や教訓を定期的に整理
- 02MEMORY.mdの古い項目や重複を整理
- 03エージェントの再起動前に長期メモリを整備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ stewnight/ rem-sleep-skill --skill rem-sleepインストール後、Claude Code で/rem-sleepを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEREADME.mdscripts/gather-sessions.sh詳細
REM Sleep - AI エージェントのための記憶の統合
生物のレム睡眠と同じように、このスキルは生の経験(セッションログ)を処理し、長期記憶へと統合します。
対応環境: OpenClaw、Claude Code、またはセッションログとメモリファイルを備えた任意のエージェント。
課題
- セッションログが蓄積し、読み返すコストが高くなります
- 重要な洞察が雑多な情報に埋もれます
- 「心に留めておく」というだけでは、コンテキストの圧縮後に残りません
- 書き留めておかない限り、再起動後は一からやり直すことになります
解決策
定期的な「睡眠サイクル」で、次の処理を行います。
- セッションログを検索し、重要なパターンを探します
- 記憶する価値のある情報を抽出します
- 長期的に保持できるメモリファイルへ統合します
モード
1. 統合
最近のセッションログを処理 → 重要な出来事を抽出 → MEMORY.mdを更新
2. デフラグ
MEMORY.mdを見直す → 古くなった情報や最新でない項目を削除 → 重複を統合 → 圧縮
3. 全体実行
統合を実行した後、デフラグも実行します。
統合のワークフロー
ステップ1:最近のセッションを収集する
オプションA:grep/jqを使用する(追加ソフトウェア不要)
# OpenClaw session logs location
SESSIONS_DIR="$HOME/.openclaw/agents/main/sessions"
# Search for patterns in recent sessions
grep -r "decision\|learned\|important\|remember\|TODO" "$SESSIONS_DIR" --include="*.jsonl" | head -100
# Parse JSONL and search content
find "$SESSIONS_DIR" -name "*.jsonl" -mtime -3 -exec cat {} \; | \
jq -r 'select(.content) | .content' 2>/dev/null | \
grep -i "decision\|learned\|important"
オプションB:Repo Promptを使用する(インストール済みの場合)
# More powerful semantic search
rp -e 'search "decision" --context-lines 2'
rp -e 'search "learned" --context-lines 2'
rp -e 'search "important" --context-lines 2'
オプションC:memory_searchを使用する(OpenClaw組み込み)
エージェントにmemory_searchツールがある場合は、それを使ってメモリファイルを意味的に検索します。
memory_search("decisions made this week")
memory_search("lessons learned")
ステップ2:統合候補を特定する
検索結果から、次の項目を探します。
- 決定事項 — 選択、好み、結論
- 学んだ事実 — 人、プロジェクト、システムに関する新しい情報
- 教訓 — うまくいったこと/いかなかったこと、避けるべき間違い
- TODO/約束事項 — 約束したことや計画したこと
- 人間関係に関する背景情報 — 人とのやり取りや、その人の好み
ステップ3:メモリファイルを更新する
2階層のシステム:
- 日次ファイル(
memory/YYYY-MM-DD.md):生の出来事、具体的な詳細 - MEMORY.md:長期的に保持する価値のある、整理された永続的な知識
統合プロンプト:
これらのセッションの抜粋を確認してください。長期的に記憶すべき重要な情報を抽出してください。決定事項、人やプロジェクトに関する事実、学んだ教訓、好みに重点を置いてください。MEMORY.mdに適した箇条書き形式にしてください。
デフラグのワークフロー
ステップ1:現在のメモリを分析する
MEMORY.mdを読み、次の項目を特定します。
- 古くなった項目 — 古い情報、完了済みのTODO、古い日付
- 重複 — 異なるセクションで繰り返されている同じ情報
- 矛盾 — 食い違う情報
- 冗長な記述 — 圧縮できるほど冗長な項目
ステップ2:問題を分類する
STALE: [entry] — reason it's outdated
DUPLICATE: [entry A] ≈ [entry B]
INCONSISTENT: [entry A] vs [entry B]
BLOAT: [verbose entry] → [compressed version]
ステップ3:修正を適用する
- 古くなった項目を削除します(確信が持てない場合はアーカイブセクションに移動します)
- 重複を統合し、信頼できる単一の項目にまとめます
- 矛盾を解消します(必要に応じてセッションログを確認します)
- 冗長な記述を圧縮します
ステップ4:再構成する
MEMORY.mdを論理的なセクションに整理します。
- [User]について
- 自分のセットアップ
- プロジェクト
- 人々
- 好み
- 学んだ教訓
スケジュール設定
推奨頻度:
- 統合:数日ごと、または忙しい期間の後
- デフラグ:毎週、または隔週
- 全体実行:毎月の大掃除
実行方法:
- 手動:「REM sleepを実行」/「自分の記憶を統合して」
- ハートビート:定期実行のためにHEARTBEAT.mdに追加
- Cron:営業時間外に独立したジョブをスケジュール
クイックリファレンス
# Native search (no dependencies)
grep -r "pattern" ~/.openclaw/agents/main/sessions --include="*.jsonl"
# With Repo Prompt
rp -e 'search "PATTERN" --context-lines 2'
# Helper script (if using Repo Prompt)
./scripts/gather-sessions.sh [days_back]
ファイル構成
rem-sleep/
├── SKILL.md # This file
├── README.md # GitHub readme
└── scripts/
└── gather-sessions.sh # Helper script (requires Repo Prompt)
注意事項
- セッションログはJSONL形式で、内容はJSONにラップされています
- 古くなっているか確信が持てない場合は、保持してください(慎重な方針)
- MEMORY.mdはメインセッションで読み込まれるため、焦点を絞り、関連性の高い内容を保ってください
- このスキルはワークフローであり、実行ファイルではありません。自分の環境に合わせて調整してください
貢献
プルリクエストを歓迎します。改善案:
- 「記憶する価値のある情報」を判断するための、より優れたヒューリスティック
- 代替の検索方法
- さまざまなプラットフォーム向けの自動化スクリプト
- 意味検索のためのベクトルDBとの統合