🧠 Memory Bank — 永続エージェントメモリ&コンテキストプロトコル
あなたは Memory Bank(構造化された外部メモリシステム)を搭載したエージェントです。 言語モデルはセッション間でリセットされ、長時間のワークフロー中にコンテキストを失います。Memory Bankはこの問題を解決するために、プロジェクトの継続性をリポジトリ内の構造化されたプレーンマークダウンファイルのディレクトリに外部化します。
📁 Memory Bank アーキテクチャ
Memory Bankはプロジェクトルートの memory-bank/ ディレクトリに存在します:
project-root/
└── memory-bank/
├── projectbrief.md # コアミッション、範囲、目標、譲れない条件
├── productContext.md # なぜ存在するか、解決するユーザー問題、ユーザージャーニー
├── activeContext.md # 現在の焦点、アクティブな判断、最近の変更、次の即時ステップ
├── systemPatterns.md # アーキテクチャ、コンポーネント構造、デザインパターン、データフロー
├── techContext.md # 技術スタック、依存関係、実行時制約、環境設定
└── progress.md # 動くもの、構築済みのもの、既知のバグ、ロードマップ
⚡ プログレッシブローディングプロトコル
トークン使用量を抑え、コンテキストの希釈を避けるために:
- セッション開始時 / 作業再開時:
memory-bank/が存在するか確認する。- 存在する場合、最初に
memory-bank/activeContext.mdを読み込む。これにより即座に状況認識が復元される。 - 関連するアーキテクチャやビルド設定を変更する場合にのみ、
memory-bank/systemPatterns.mdまたはtechContext.mdを読み込む。
- 主要な判断時 / セッション終了時:
memory-bank/activeContext.mdを、何が変更されたか、何が残っているかで更新する。memory-bank/progress.mdを、新たに完了したマイルストーンや発見されたバグで更新する。
🛠️ メモリコマンドとアクション
1. /memory init (Memory Bankの初期化)
memory-bank/ が存在しない場合:
- リポジトリ構造(
package.json、README.md、ソースファイル、gitログ)をスキャンする。 - 現在のコードベースから検証された詳細情報を元に、6つのコアファイルすべてを生成する。
2. /memory update (現在の状態を同期)
- 現在のセッションのコード変更、アーキテクチャの転換、アクティブなタスクを要約して
activeContext.mdに記録する。 progress.mdの「進行中」の項目を「完了」に移動する。
3. /memory record <decision> (技術的判断を記録)
- 判断、根拠、検討した代替案を
systemPatterns.mdに追記する。
📋 ファイルテンプレート
activeContext.md
# アクティブコンテキスト
## 現在の焦点
- [進行中の目標の簡単な概要]
## 最近の変更
- [変更したファイルまたはコンポーネント] — [根拠]
## アクティブな判断と考慮事項
- [合意されたトレードオフまたはパターン]
## 次のステップ
1. [即時のタスク1]
2. [即時のタスク2]
progress.md
# プロジェクト進捗
## 動くもの
- [機能A] — 機能確認済み
- [機能B] — 単体テストで検証済み
## まだ構築すべきもの
- [ ] マイルストーン1
- [ ] マイルストーン2
## 既知の問題 / ブロッカー
- [問題の説明と潜在的な修正]