【要約】Claude Code の記憶を二層に分離する — 全部覚えさせて、毎回は読ませない [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
開発者がClaude Codeに個人の思考様式を記憶させようとした際、蓄積量と消費量のトレードオフに直面した。全ての情報を読み込ませると、コスト増とレイテンシ悪化を招く。
- ・コンテキスト肥大化によるコスト増。
- ・情報の過多によるAIの判断精度低下。
- ・必要な情報のみを動的に呼び出す仕組みの欠如。
// Approach
記憶を「常駐層」と「書庫層」に分離する二層構造を採用した。書庫層は必要な時だけ呼び出す仕組みである。
- ・二層分離:核心的事実は常駐層、雑談等は書庫層へ配置。
- ・動的注入:UserPromptSubmitフックで、プロンプト送信時にスクリプトを実行。
- ・軽量照合:外部ライブラリを使わず、tagsとdescriptionの一致数でスコアリング。
- ・言語別最適化:日本語は部分一致、英字は語境界一致で精度を確保。
- ・堅牢設計:エラー時もexit 0で終了し、対話の継続を優先。
// Result
記憶の総量が増えても、常時ロードされるトークン量を一定に保つことに成功した。
- ・コストの分離:書くコストと読むコストを切り離し、蓄積を容易にした。
- ・実測効果:80ファイルの記憶に対し、無関係なプロンプトでは0件の注入を実現。
- ・運用の確立:検索漏れを防ぐため、重要な事実は「正本」へ昇格させる運用ルールを導入。
Senior Engineer Insight
> 依存関係を排除し、161行の自作スクリプトで完結させる設計は、極めて実践的だ。外部ライブラリによる故障リスクを最小化する姿勢は、高可用性が求められる現場の流儀に則っている。ただし、検索漏れが「無音の失敗」として現れる点は、信頼性における盲点となる。これを技術解決ではなく、運用ルールで補完する判断は、リソース最適化の観点から合理的だ。