コンテンツにスキップ

OpenClaw Memory 徹底ガイド

昨日教えたはずのコーディング規約や、お気に入りのライブラリ構成を、エージェントがすっかり忘れてしまったことはありませんか?コンテキストウィンドウがいっぱいになるたびに、同じ説明を繰り返すのは本当にストレスですよね。

OpenClaw の Memory 機能を使えば、エージェントは重要な情報を Markdown ファイルとして保存し、必要な時にいつでも取り出すことができます。これで「短期記憶喪失」に悩まされることはもうありません。

セットアップを始める前に、以下の 2 点を確認してください。

  • OpenClaw がインストールされ、Gateway が動作していること
  • 書き込み可能な Workspace ディレクトリ(デフォルトは ~/.openclaw/workspace)

まずは 5 分で Memory 機能を試してみましょう。

  1. エージェントに記憶を頼む: チャットで「今後のプロジェクトでは Node.js と TypeScript を使うから覚えておいて」と伝えます。
  2. ファイルの確認: ~/.openclaw/workspace/MEMORY.md または memory/YYYY-MM-DD.md に内容が書き込まれたか確認します。
  3. 検索のテスト: 「私のプロジェクトのスタックは何?」と聞いてみてください。エージェントがファイルを読み、正しく回答するはずです。
  4. 設定のチェック: plugins.slots.memory が "none" になっていないことを確認してください(デフォルトで有効です)。

OpenClaw の Memory は、驚くほどシンプルです。Workspace 内にある普通の Markdown ファイルが、エージェントにとっての「真実」となります。

  • memory/YYYY-MM-DD.md: 日々のログです。セッション開始時に、今日と昨日の分が自動で読み込まれます。
  • MEMORY.md: 長期的に保持したい重要な事実や設定を保存します。これはプライベートなセッションでのみ読み込まれます。

コンテキストが一杯になり、古い会話が圧縮(Compaction)される直前に、OpenClaw は「重要なことはない?今のうちにメモして」とエージェントにこっそり促します。これにより、大事な情報が消える前に自動で Markdown へ保存されます。

// 構成例: agents.defaults.compaction.memoryFlush
{
agents: {
defaults: {
compaction: {
reserveTokensFloor: 20000,
memoryFlush: {
enabled: true,
softThresholdTokens: 4000,
systemPrompt: "セッションが圧縮されます。重要な記憶を保存してください。",
prompt: "memory/YYYY-MM-DD.md にメモを書き、特にない場合は NO_REPLY と返してください。",
},
},
},
},
}

ファイルが増えてくると、単純な読み込みでは追いつきません。そこで Vector search の出番です。

OpenClaw は MEMORY.md や過去のログを自動的にインデックス化します。さらに、Hybrid Search を有効にすることを強くおすすめします。これは以下の 2 つを組み合わせる手法です。

  • Vector similarity: 「Mac の設定」と「Apple マシンの構成」のように、意味が似ているものを探します。
  • BM25: エラーコードや特定の変数名など、正確なキーワードの一致を探します。

この 2 つを組み合わせることで、曖昧な質問にも、ピンポイントな検索にも対応できるようになります。

// Hybrid Search の設定例
memorySearch: {
query: {
hybrid: {
enabled: true,
vectorWeight: 0.7,
textWeight: 0.3,
}
}
}

Vector search を使うには、テキストを数値化する Embedding API が必要です。おすすめの構成は以下の通りです。

  1. OpenAI / Gemini / Voyage: API キーを設定するだけで利用可能です。OpenAI の Batch API を使えば、大量のログも安く高速に処理できます。
  2. Local: node-llama-cpp を使い、自分のマシンでモデルを動かします。プライバシーを重視する場合に最適です。

よくある問題と解決策をまとめました。

  • エージェントが何も覚えていない: Workspace の書き込み権限を確認してください。また、memory_search ツールがエージェントに許可されているかチェックしましょう。
  • 検索結果が古い: インデックスの同期は非同期で行われます。ファイル保存後、少し待ってから再度試してみてください。
  • Local モードでエラーが出る: pnpm rebuild node-llama-cpp を実行して、ネイティブバイナリが正しくビルドされているか確認してください。
  • API キーのエラー: embeddings 用の API キーは、チャット用のものとは別に設定が必要な場合があります。環境変数や models.providers を見直してください。

設定の詳細で迷ったら、AI Setup Assistant に相談してみてください。あなたの環境に合わせた設定ファイルを一緒に作ってくれます。

Memory の準備ができたら、次は以下のトピックをチェックしてみましょう。

OpenClaw

OpenClaw Expert

まだ解決しませんか?

このページで解決しない場合は、OpenClaw Expertに直接質問してください。