> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qoder.com/llms.txt
> Use this file to discover all available pages before exploring further.

# メモリシステム

> Memory は Waker がセッションをまたいでコンテキストを保持し、やり取りを通じて経験と知識を蓄積できるようにします。

Memory は Waker がセッションをまたいでコンテキストを保持するための仕組みであり、やり取りを重ねるにつれて Waker が経験と知識を蓄積できるようにします。

## 仕組み

Waker のメモリは 2 つの階層に分かれています。

* **Waker 画像**:Waker の中核的な特徴を記述するメモリで、その Waker のすべてのセッションで有効となり、プロジェクトに制限されません。
* **プロジェクトメモリ**:特定のプロジェクトに関連する経験や知識で、そのプロジェクトに関連付けられたセッションでのみ有効となります。

**メモリの由来:**

* セッション中に自動的に抽出された重要な情報
* ユーザーが手動で編集して書き込んだ内容
* Memory Dream の仕組みが自動的に整理・要約した結論
* 外部ファイルからのインポート

## メモリ管理画面

Waker 詳細ページの「メモリ」Tab に入り、メモリの内容を管理します。

**すべてのメモリビュー:**

すべてのメモリ項目を一覧形式で表示し、各メモリには内容の要約、由来(自動/手動)、有効範囲、作成時刻が表示されます。以下の操作に対応しています。

* **検索**:上部の検索ボックスにキーワードを入力してメモリの内容を絞り込みます。
* **編集**:メモリ項目をクリックすると編集モードに入り、内容を直接修正できます。
* **削除**:削除ボタンをクリックして不要なメモリを削除します。
* **分類表示**:タブを切り替えて Waker 画像とプロジェクトメモリの表示を切り替えます。

## タイムラインビュー

「タイムライン」ビューに切り替えると、メモリが時系列で変化の履歴とともに表示されます。

* 縦方向のタイムラインがメモリの追加、修正、削除の記録を直感的に示します
* 各ノードには操作の種類、時刻、内容の要約が表示されます
* ノードをクリックするとその変更の完全な詳細を確認できます
* Waker のメモリが移り変わっていく過程を理解するのに役立ちます

## バージョン管理

メモリが変更されるたびにバージョンスナップショットが自動的に作成され、完全なバージョン管理機能を提供します。

* **バージョン一覧**:バージョン番号、時刻、変更の要約を含むすべての履歴バージョンを表示します。
* **バージョン比較**:2 つのバージョンを選択して差分を比較し、変更内容をハイライト表示します。
* **ロールバック操作**:「このバージョンにロールバック」をクリックして任意の履歴状態に復元します。
* **手動スナップショット**:「スナップショットを作成」をクリックして手動でバージョンを作成し、識別しやすいようにタグを付けられます。

## Memory Dream

Memory Dream は自動メモリ整理の仕組みで、既定では毎日未明に自動実行されます。

* 直近のセッションの重要な情報を要約する
* 重複や矛盾するメモリ項目を統合する
* 古くなった、または関連性のなくなった情報を整理する
* 価値の高い行動パターンを抽出する

<Tip>
  すぐにメモリを整理したい場合は、メモリ管理画面で「今すぐ整理」ボタンをクリックして手動で Dream の実行をトリガーできます。
</Tip>

## インポートとエクスポート

メモリはバックアップのために JSON ファイルへのエクスポートに対応しており、ファイルからのインポートにも対応しています。メモリ Tab の操作メニューで「エクスポート」または「インポート」を選択します。

* **エクスポート**:現在の Waker のすべてのメモリを JSON ファイルとしてエクスポートします。
* **インポート**:JSON ファイルからメモリをインポートし、既存のメモリと統合します。既存の内容が上書きされることはありません。

## メモリ管理のヒント

* 定期的にメモリの内容を確認し、不正確または古くなった項目を削除しましょう。
* 重要な業務ルールや制約は手動でメモリに書き込み、Waker が常に遵守するようにできます。
* バージョン管理を活用し、メモリの重要な変更の前にスナップショットを作成しましょう。
* 異なるプロジェクトの経験は、対応するプロジェクトメモリに分けて保存しましょう。
