C
ChaoBro

コーディングAgentに持久記憶を:agentmemory が1週間で4400スター獲得、セッション跨ぎの記憶を実現

コーディングAgentに持久記憶を:agentmemory が1週間で4400スター獲得、セッション跨ぎの記憶を実現

Claude Code を開いてコードを書く時、一番面倒くさいのは何か?

Agent が先週「このプロジェクトでは TypeScript 不要」と言ったのを覚えていない。関数型写法を好むことを覚えていない。前回のアーキテクチャ提案を却下したことを覚えていない。

毎回言い直さなければならない。毎回。

agentmemory が解決したいのはまさにこれだ。

8,483スター、1週間で4,450増加、301コミット、Claude Code と Codex プラグインをサポート。

どう動くのか

agentmemory のコアアイデアはシンプル:Agent が会話中に得た情報を永続化ストレージに保存し、次回起動時に自動ロード。

だが「シンプル」の下には多くのエンジニアリング詳細が隠れている。

3層ストレージ構造。 プロジェクトは記憶を3タイプに分類:

  • プロジェクトレベル記憶:このプロジェクトのアーキテクチャ決定、技術スタック、コード規範。セッション再起動後も保持。
  • ユーザーレベル記憶:あなたのコーディング好み、常用パターン、個人習慣。プロジェクト横断。
  • 一時記憶:現在の会話コンテキスト、セッション終了時にクリア。

この階層化は合理的。Agent にすべての履歴会話を覚えてほしくはない——ノイズが多すぎる。だがアーキテクチャ決定のような意思決定レベルの情報は保持すべきだ。

検索と取得。 すべての記憶を context window に詰め込むわけではない。BM25 + ベクトル検索のハイブリッド検索を使用、直近で CJK トークナイザーのサポートを追加——中国語プロジェクトにとって重要。

ベンチマーク公開。 プロジェクトには benchmark ディレクトリがあり、100k レコードのロードテストを実行、p50/p90/p99 レイテンシデータを公開している。このレベルの透明性は同類プロジェクトでは珍しい。

実際の使用感

.claude-plugin を Claude Code にインストール、デプロイはそこそこスムーズ。

効果はある——「クラス不要、関数型で」と言ったのを覚えていて、次のセッションでクラスコードを生成しなかった。

ただ落とし穴もある:

  • 記憶更新が遅い。 プロジェクトの好みを変更したのに、Agent が古い記憶を使い続けていることがある。キャッシュリフレッシュにラグがあるようだ。
  • 記憶過多。 しばらく走らせると、記憶库に数十件の記録が溜まった。Agent が混同し始めた——詳細を覚えすぎて、要点を見失っている。
  • プライバシー懸念。 記憶はローカルに保存——これは良い。だがプロジェクトに複数の共同作業者がいる場合、全員の好みが混ざると問題になる。

何が真の問題を解決しているのか

Agent コーディングの最大の痛点は能力不足ではない。コンテキストの断裂だ。

今日 Agent と1時間かけてプロジェクトのアーキテクチャを整理し、技術方案を決定した。明日新しいセッションを開くと、すべてリセット。

agentmemory の価値はこの断裂面を狭めることにある。Agent を完全に「記憶」させることはできないが、少なくとも重要な決定は覚えていられる。

まだ遠い

スター数に騙されるな。このプロジェクトは「使いやすい」とは程遠い。

最大の問題は記憶の自動管理。何を覚えて何を忘れるかを誰が決めるのか?現在のメカニズムは基本的に手動——Agent に何を記憶するか伝える必要がある。だがユーザーが毎回「この情報はプロジェクト記憶に、あれは一時記憶に」と正確に指示できるわけではない。

必要なのは自動分類、自動クリーンアップ、自動要約。まだ存在しない。

私の判断

agentmemory の方向性は正しい。コーディングAgent は持久記憶を必要とする——これは避けられない。

だが今すぐこれに重要な決定を依存するなら——やめておけ。補助ツールとして、繰り返し説明の負担を軽減する用途に留める。それで十分。

自動記憶管理と共同作業者間隔離が実装されてから、ワークフローへの本格的統合を考えればいい。


主な情報源: