AIエージェントの継続的学習 — セッションを超えた記憶
約5分で読めます
AIエージェントの継続的学習 — セッションを超えた記憶
AIエージェントの最大の弱点は「忘れること」だ。セッションが切れれば、学んだことも判断基準もリセットされる。この問題をMarkdownファイルベースの記憶システムで解決する方法を解説する。
なぜセッション間記憶が必要か
- 同じ間違いを繰り返さない(過去のバグ修正パターンを保持)
- ユーザーの好みを蓄積する(コーディングスタイル、命名規則)
- プロジェクト固有のルールを永続化する(禁止パターン、必須チェック項目)
MDファイルで記憶を永続化する仕組み
Claude Codeでは CLAUDE.md と ~/.claude/memory/ ディレクトリが記憶の永続化レイヤーとして機能する。
記憶の3階層構造
~/.claude/
├── CLAUDE.md # グローバル設定(全プロジェクト共通)
├── memory/
│ └── MEMORY.md # 自動記憶インデックス
└── projects/
└── <project>/
└── CLAUDE.md # プロジェクト固有の記憶
| 階層 | スコープ | 用途 |
|---|---|---|
| グローバル CLAUDE.md | 全プロジェクト | コーディングスタイル、共通ルール |
| プロジェクト CLAUDE.md | 特定プロジェクト | 技術スタック、アーキテクチャ方針 |
| MEMORY.md | 自動蓄積 | フィードバックの自動記録 |
実践: 記憶を育てるワークフロー
- 初回セッション — プロジェクトの
CLAUDE.mdに基本方針を書く - 作業中のフィードバック — 「次からはこうして」と指示すると
MEMORY.mdに自動記録 - 次回セッション — 起動時に
CLAUDE.mdとMEMORY.mdが自動読み込みされ、過去の学習が反映される
記憶ファイルに書くべき内容の例
# プロジェクト記憶
## コーディング規約
- 変数名はsnake_case(camelCase禁止)
- 関数のdocstringは必須
- importはisortでソートする
## 過去のバグと対策
- datetime.now()はタイムゾーン未指定で使わない
- SQLクエリは必ずパラメータ化(f-string禁止)
## ユーザーの好み
- コミットメッセージは日本語
- テストはpytestを使用
- 型ヒントは必須
記憶の劣化を防ぐコツ
- 定期的な棚卸し — 月1回、古くなった記憶を整理する
- 具体的に書く — 「気をつける」ではなく「datetime.now(tz=timezone.utc) を使う」
- 矛盾を排除する — 新ルール追加時に既存ルールとの矛盾がないか確認する
まとめ
セッション間記憶の永続化により、AIエージェントは使うほど賢くなる。MDファイルという軽量な仕組みだからこそ、バージョン管理もでき、チーム共有も容易だ。
関連記事
A
Agentive 編集部
AIエージェントを実際に使い倒す個人開発者。サイト制作の自動化を実践しながら、その知見を発信しています。