【要約】Claude Codeに長期記憶を持たせたら、壁打ちの質が変わるらしいのだが実際に作って分かったことのまとめ [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
開発者がClaude Codeを使用する際、セッションを跨いだ文脈の保持が困難である。既存の記憶管理ツールには、以下の3つの失敗モードが存在する。
- ・プロジェクト単位の分離ができず、グローバルDBに記憶が混在する。
- ・保存処理にLLMを使用するため、バックグラウンドでトークンコストが発生する。
- ・PostgreSQL等の外部データベースのセットアップが必要で、導入負荷が高い。
// Approach
開発者がClaude CodeのHook APIを活用し、ローカル完結型の記憶システム「sui-memory」を構築した。以下の設計指針に基づき実装している。
- ・SQLite単体(FTS5 + sqlite-vec)による軽量な構成。
- ・LLMを使用しないルールベースのチャンク分割によるコストゼロ化。
- ・
--projectフラグによるプロジェクトごとの完全なデータ分離。 - ・RRF(Reciprocal Rank Fusion)を用いた、全文検索とベクトル検索のハイブリッド検索。
// Result
開発者が実装プロセスを通じて、公式ドキュメントに未記載のClaude Codeの仕様を実測値ベースで特定した。これにより、以下の技術的知見が得られた。
- ・設定ファイルの正確なパス(
~/.claude/settings.json)の特定。 - ・
SessionEndフックにおけるmatcher必須などの正しい記述形式。 - ・
transcript.jsonl内のmessage.contentが配列構造である事実。 - ・
Ruri v3-310mを用いた768次元のベクトル検索の最適化。
Senior Engineer Insight
> 公式ドキュメントの不備を実測値で補完した、極めて実践的な記録である。ローカル完結型の設計は、低遅延かつ低コストな文脈保持を実現しており、個人の開発体験(DX)向上に直結する。ただし、非対話型シェル特有のパス問題や、環境依存の制約(
jqやuvの必要性)があり、導入には一定の環境整備が求められる。スケーラビリティよりも、エッジでの即時性とコスト効率を優先した優れた設計思想である。