【要約】Ollama + Gemma4で右腕AIに長期記憶を持たせる:全文grep RAGが実用ラインに乗った話 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
- ・ローカルLLMは過去の情報を保持できない。
- ・増え続ける日記等のデータをシステムプロンプトに含めるのは、トークン容量とコストの面で非現実的。
- ・情報が不足すると、LLMがもっともらしい嘘をつく「幻覚」が発生する。
// Approach
1.キーワード抽出: LLMを用い、クエリから検索用の名詞・固有名詞を抽出。
temperature: 0.0 で精度を確保。2.全文検索: Pythonの
in 演算子で data/diaries/*.md を検索。lower() を適用し大文字小文字の差異を吸収。3.文脈注入: ヒットした日記断片をシステムプロンプト末尾に追加。
- ・
num_ctx: 32768を明示し、モデルの再ロードによるロスを防止。
// Result
固有名詞を用いたクエリに対し、日付や詳細な出来事を正確に回答可能。実装は半日で完了。今後は、意味検索への対応や、データ増大に伴うインデックス化(Embedding導入)への移行を検討する。
Senior Engineer Insight
> 「動くものをまず作る」という判断は、開発初期において極めて合理的である。Embeddingの選定やDB管理のコストを避け、検索対象が固有名詞に寄っている現状に最適化した点は、実戦的な判断と言える。ただし、ファイル走査による検索はデータ量に比例してレイテンシが増大する。スケーラビリティの限界を見極め、適切なタイミングでベクトル検索へ移行する設計思想が求められる。