OpenCLAWメモリの実際の仕組み:エージェントの「忘れ」を修正する

OpenCLAWのメモリが実際にどのように機能するか
OpenCLAWエージェントは会話間で永続的なメモリを持ちません。メッセージを送信するたびに、エージェントはいくつかのファイル(SOUL.md、USER.md、MEMORY.md、および最近のセッション履歴)を読み込み、その「記憶」を一から構築します。それは覚えているのではなく、メモを読んでいるのです。
エージェントが物事を忘れる理由
理由1: セッションが古すぎる
現在のセッションのすべてのメッセージは、新しいAPI呼び出しごとに含まれます。2〜3週間後には、これが数千のトークンになります。モデルはコンテキスト制限に達する(古い会話は黙って切り捨てられる)か、OpenCLAWが圧縮を実行してすべてを要約しますが、詳細は失われます。
対策: /newを定期的に使用する - 最低でも毎日、そして大きなタスクの前には必ず。これにより、会話バッファはクリアされますが、すべてのファイルはそのまま残ります。
理由2: 重要な情報がチャット履歴にあり、ファイルにない
3週間前に会話の中でエージェントに何かを伝えた場合、その情報は切り捨てられるセッション履歴に存在します。エージェントが常に知っておくべき情報は、チャットではなくファイルに置く必要があります。
対策: 永続的な情報をUSER.mdに入れる:
# 私について
- 名前: [あなたの名前]
- パートナー: [名前]
- 場所: [都市]
- 仕事: [役職]
- タイムゾーン: [タイムゾーン]
好み
- コミュニケーション: 直接的、無駄を省く
- 朝のルーティン: 8時にブリーフィング
- 10時前の会議は決してスケジュールしない
- コーヒーの注文: [何であれ、真剣に]
このファイルは毎セッション読み込まれ、切り捨てられたり圧縮されたりすることはありません。
理由3: MEMORY.mdが肥大化した混乱状態
ほとんどの人はMEMORY.mdを構造化しないため、1か月後にはモデルが読むのではなくざっと見るだけの巨大なテキストの壁になります。重要な事実は無関係な詳細の下に埋もれてしまいます。
対策: MEMORY.mdを明確なセクションに構造化する:
# 人物
サラ(妻): [会社]で働く、誕生日6月12日
マイク(同僚): フロントエンドを担当、メールよりSlackを好む
進行中のプロジェクト
- キッチンリフォーム: 請負業者はデイブ、予算15,000ドル、4月開始
- Q2プレゼンテーション: 3月28日締切、マイクからの販売データが必要
決定事項
- 3月5日にopusからsonnetに切り替え(コストの理由)
- googleの代わりにbrave search APIを使用(無料枠で十分)
定期的なタスク
- 毎日8時にブリーフィング(カレンダー+メール+天気)
- 毎週日曜日18時に食料品リスト
整理された記憶は正確に検索されます。エージェントは段落の壁よりも構造化されたテキストをよりよく読みます。
理由4: メモリメンテナンスのルーティンがない
メモリファイルは掃除なしで永遠に成長します。2か月後には、MEMORY.mdは300行になり、その半分は古くなっているか無関係で、完了したプロジェクトにトークンを浪費します。
対策: 毎晩のメモリcronを設定する。エージェントの指示にこれを追加する:
毎晩23時:
- 今日の会話をレビューする
- 新しい事実、決定、約束を抽出する
- それらをMEMORY.mdの正しいセクションに追加する
- もはや関連性のないものを削除する
- 新しいセッションを開始する
理由5: セッションメモリと長期記憶を混同している
階層を理解する:
- SOUL.md: アイデンティティと人格。毎回読み込まれる。変更しない限り変更されない。
- USER.md: あなたに関する事実。毎回読み込まれる。生活が変わったときに更新する。
- MEMORY.md: 進行中のコンテキスト。毎回読み込まれる。成長し、剪定される。
📖 完全なソースを読む: r/clawdbot
👀 See Also

Docker/Windows経験から得た実用的なOpenClawセットアップの知見
開発者がWindows 11/WSL2上のDockerでOpenClawを実行した際の具体的な教訓を共有。永続性の問題、Discordボット設定、メモリ管理手法、ブラウザ自動化の回避策についてカバー。

ディスパッチャーパターンを使用してClaude APIコストを95%削減
ある開発者は、Claude Maxサブスクリプションで利用できるClaude Code CLIに重い作業を委譲するディスパッチャーパターンを実装することで、Claude APIのコストを月800〜2,000ドルから約215ドルに削減しました。オーケストレーションには最小限のAPIトークンのみを使用しています。

Claude CodeのKVキャッシュ無効化をローカルバックエンドで修正
Claude Codeバージョン2.1.36以降は、すべてのリクエストに動的なテレメトリヘッダーとgitステータス更新を注入し、プレフィックスマッチングを破壊し、llama.cppのようなローカルバックエンドで20K以上のトークンのシステムプロンプト全体の再処理を強制します。~/.claude/settings.jsonの設定修正により、処理時間を60秒以上から約4秒に短縮できます。

RAGチャットボット評価:モデルスイープ+検索修正によりコスト79%削減、品質19%向上
ある開発者がカスタマーサポートのRAGボットを評価したところ、検索の設定ミス、ヒューリスティック評価器の欠陥、そして本番モデルを上回る低コストなモデルを発見しました。品質は6.62から7.88に向上し、セッションあたりのコストは$0.002420から$0.000509に削減されました。