AIコーディングエージェントが毎回忘れる問題に、Git で殴る答え — MemoryCustodian
AIコーディングエージェントを日常的に使っていると、地味だが確実に効いてくる不満がある。毎回、文脈を説明し直さないといけないことだ。
「このプロジェクトではその書き方は却下した」「認証はこのライブラリで統一している」「前にその手を試してダメだった」。人間のチームメイトなら覚えていることを、エージェントは新しいセッションのたびにきれいに忘れる。そして同じ提案を、同じ自信で、また出してくる。
7月29日にProduct Huntで1位を取ったMemoryCustodianは、この「健忘症」に真正面から取り組むOSSツールだ。しかも解き方が潔い。
仕組み — メモリを「コードとして」扱う
MemoryCustodianの発想は一言でいうと、エージェントの記憶をGitに乗せることに尽きる。
決定事項、制約、却下した設計案、プロジェクト固有の文脈。こうした「覚えておいてほしいこと」を、リポジトリ内の docs/memory/ 配下にプレーンなMarkdownとして保存する。ベクトルDBもRAGインデックスもクラウドも要らない。だからこそ、メモリを普通のコードとまったく同じように扱える。レビューできるし、差分が見えるし、コミットで履歴が残り、間違っていればロールバックできる。
ここが個人的に一番好きな設計判断だ。「AIの記憶」というと得体の知れないブラックボックスを想像しがちだが、正体がただのMarkdownなら、人間が中身を読んで直せる。信頼できる。
肝心の「全部読ませたらプロンプトが膨れるのでは」という懸念には、マニフェスト方式で答えている。エージェントはまず manifest.md を読み、次に brief.md を読む。そして目の前のタスク(計画なのか、実装なのか、成果物の生成なのか)に関連するファイルだけを選んでロードする。全記憶を毎回積み込むのではなく、必要な引き出しだけを開ける。コンテキスト肥大を避けつつ、重要な文脈は失わない、という狙いだ。
操作は init / status / check / read / add / enable / forget / compact / migrate といったコマンドで行う。forget で不要になった記憶を消し、compact で肥大した記憶を畳む。メンテ系の操作はプレビュー優先・構造保持で、いきなり破壊的に書き換えない設計になっている。記憶を「育てて、間引く」運用を前提にしているのが分かる。
CLAUDE.md や AGENTS.md とは何が違うのか
「それ、CLAUDE.md に書けばよくない?」という疑問は当然出る。実際、プロジェクトルールを1枚のMarkdownに書いてエージェントに読ませる運用は広く使われている。
違いはスケールと運用にある。CLAUDE.md的な1枚ものは、増えるほど「毎回全文をコンテキストに積む」ことになり、やがて肥大して逆に効率が落ちる。MemoryCustodianは記憶を複数ファイルに分割し、タスクに応じて出し入れする層を挟むことで、この上限問題に手を打っている。いわば、単一の付箋から、索引付きの記憶ファイルシステムへの移行だ。
記憶の持たせ方はエージェント本体の選択とも絡む。どのCLIエージェントを土台にするかはAIコーディングCLIエージェントの比較も参考にしてほしい。
同種のOSSは他にもある。agentmemory のようにSQLiteとセマンティック検索でエージェントに記憶を持たせるプロジェクトも出ている。そちらは検索の賢さで攻めるアプローチだが、MemoryCustodianはあえてプレーンMarkdown + 人間によるレビュー可能性を選んだ。自動で賢く思い出すより、人が管理できる透明さを取る。この割り切りは、チーム開発では効くと思う。
正直な評価と、これで開ける扉
良い点ばかり並べたので、微妙な点も書いておく。
記憶が自動で貯まるわけではない、という点は理解しておいたほうがいい。何を覚えさせ、何を捨てるかは結局人間(あるいはエージェントへの指示)が決める。放っておいて勝手に賢くなる魔法ではなく、手入れの必要な庭だ。セマンティック検索を積まなかった分、「曖昧な言い回しから関連記憶を引く」ような柔らかい想起は苦手だろう。まだ登場して間もないツールでもあり、大規模リポジトリでの長期運用の知見はこれから溜まる段階だ。
それでも、この方向性が開ける扉は大きい。記憶がGitに乗るということは、チーム全員とエージェントが同じ記憶を共有できるということだ。あなたが「この設計は却下」と記録すれば、同僚のClaude CodeもCodexもGeminiも、次の日から同じ前提で動く。エージェントの学習が個人のセッションに閉じず、リポジトリの資産になる。
さらに面白いのは、記憶がレビュー対象になることで**「なぜこの設計になったか」の意思決定ログが自然に残る**点だ。却下した案とその理由がメモリに積み上がっていけば、半年後に「なんでこうしたんだっけ」を掘り返す作業が激減する。エージェントのためのメモ帳が、結果的にプロジェクトの設計判断のアーカイブになる。ここまで来ると、これは単なるAI補助ツールというより、チームの記憶インフラだ。
エージェントに毎朝ゼロから自己紹介するのに疲れた人は、一度 init を叩いてみる価値がある。少なくとも「さっきも言ったよね」を減らせるだけで、体感はだいぶ変わるはずだ。
関連記事
AIコーディングエージェントは毎朝、記憶を失う — それをSQLite1個で解決するPMB
PMBはClaude Code・Cursor・CodexにMCP経由で永続メモリを与えるローカルファーストのツール。クラウド不要でプロジェクトの決定や教訓を覚えさせる仕組み、実力、注意点を解説する。
AIアプリを「本番に出せない」から救う — 週1,600万DLのVercel AI SDK、v7で何が変わったか
Vercel AI SDK 7の新機能を解説。WorkflowAgent、HarnessAgent(Claude Code/Codex連携)、サンドボックス、タイムアウト制御など、AIエージェントを本番運用するための機能が揃った。
「AIデスクトップ」を自分で作る — OSSのWandeskがClaude CodeもCodexもまとめて1つの画面に載せた
Wandeskは無料のOSS AIデスクトップ。アプリ自動生成とClaude Code統合の仕組みを解説。