ビルダーとオープンソースコミュニティの皆さん、こんにちは!
今日は、とても個人的な課題を解決するために開発したサイドプロジェクトを紹介したいと思います。きっと多くの方が同じ悩みを抱えているはずです:AIに感情や因果関係を理解する「長期記憶」を持たせるにはどうすればいいのか?
そこで生まれたのが Kioku(記憶)です。「記」は記録する、「憶」は思い出す — まさにこのプロジェクトの本質を表す名前です。完全にローカルで動作する超軽量なPersonal Memory Engineで、AIエージェント専用に設計されています。
原点:日記好きの悩み
私は毎日日記を書く習慣があります。自己省察(self-reflect)を通して過去の出来事を振り返るのが好きです。AI時代の到来で多くのツールやチャットボットを試しましたが、結果はいつも期待外れでした。
最大の問題は:感情の保存・分析、そして行動間の因果関係の理解を適切にこなすツールが存在しないこと。
現在の主要なエージェント(有名どころを含め)には「長期記憶」機能がありますが、実質的にはフラットテキストやベクトルをコンテキストウィンドウに詰め込んでいるだけです。*「先月、プロジェクトXでなぜストレスを感じていたの?」*と聞いても、イベントA(上司との口論)が感情B(ストレス)を引き起こし、決断C(プロジェクト変更)に繋がったというつながりを追跡できないためうまく答えられません。
解決策:あらゆるエージェントのためのオープンメモリエンジン
AIツール、特にコーディングエージェント(Claude Code、Windsurf、Cursor)を日常的に使う中で気づきました:新しいボットをゼロから作るより、お気に入りのエージェントに「接続」できる独立した記憶器官を作ればいいのでは?
目標はできるだけ多くのエージェントと互換性を持つこと。そのためlite版(kioku-lite)では CLI と SKILLSファイル(CLIエージェントで広く使われている AGENTS.md & SKILL.md 形式)ベースのアーキテクチャを選びました。数コマンドで、どのエージェントも記憶の読み書きを学習できます。
アーキテクチャ概要:Write、Search、比較
Kioku Liteは Tri-hybrid(3つのハイブリッド)検索メカニズムを使用し、100% SQLite上で動作します:
- BM25 (FTS5): キーワード完全一致検索。
- Vector (sqlite-vec + FastEmbed ONNX): セマンティック検索(ローカル実行、API不要)。
- Knowledge Graph (GraphStore): エンティティグラフと因果関係。
システム概要:
プロトコルはエージェントが自律的に調整する2つの主要フェーズで構成されます:
1. Writeフェーズ
新しいイベント発生時:エージェントがテキストを保存(save)し、自律的にエンティティ/関係を抽出してグラフにインデックス(kg-index)。すべてローカルで実行、隠れたLLM呼び出しなし。
2. Searchフェーズ
コンテキストが必要な時:エージェントが search を呼び出し。結果は3つの個別パイプラインを通り、RRF(Reciprocal Rank Fusion)で統合:
メモリモデル比較
主要システムとの比較:
| システム | メモリモデル | 永続化 | 検索 | Knowledge Graph |
|---|---|---|---|---|
| Claude Code | フラットMarkdownファイル | セッション + CLAUDE.md
|
なし(コンテキストウィンドウのみ) | なし |
| OpenClaw | SQLiteチャンク + embedding | エージェント別SQLite | セマンティック(embedding) | なし |
| Kioku Lite | SQLite + Markdown + KG | プロファイル別分離ストア | Tri-hybrid (BM25 + vector + KG) | あり(エージェント駆動) |
(詳細: System Architecture | Write Pipeline | Search Architecture | Memory Comparison)
Knowledge Graph (KG):柔軟性の鍵
Kioku Liteのもう一つの強みは、Knowledge Graphのオープンスキーマです。エンティティタイプ(entity_type)と関係タイプ(rel_type)は柔軟な文字列であり、固定のenumに縛られません。
kioku-liteには2つのビルトインペルソナが付属:
-
Companion:
EMOTION、LIFE_EVENTノードをTRIGGERED_BYで接続。日記や感情追跡に最適。 -
Mentor:
DECISION、LESSONノードをLED_TOで接続。自己省察や経験からの学びに最適。
さらに、人事管理、プロダクトマネジメントなど、どんな分野でもエージェントに新しいペルソナを設定させることができます。
(スキーマ詳細: KG Open Schema)
コピペ一発でセットアップ
日常的に使っている2種類のエージェント用セットアップガイドを用意しました:
対応するガイドをコピーしてエージェントに渡すだけ。エージェントが自動でセットアップを実行し、IDを設定し、お使いのマシン上のメモリエンジンに接続します。
詳細は Kioku Lite Homepage をご覧ください。
Kioku Lite vs Kioku Full
kioku-lite はまず個人ユーザー向けに公開。pipx で素早いセットアップ、Docker不要、APIキー不要、ChromaDB/FalkorDBなどの外部データベース不要。パーソナルマシンのバックグラウンドでスムーズに動作します。
一方、専用のグラフ/ベクトルデータベースとマルチテナントエンタープライズサポートを備えた kioku-full は現在開発中です。
おわりに
ビルダーの皆さん、オープンソース愛好家の皆さん、そして特にAIに感情と因果関係を本当の友人のように理解させる「長期記憶」ソリューションを探している方、ぜひ Kioku Lite を試してみてください。
フィードバックと応援がプロジェクトを前に進める力です。試してみて、必要な方にシェアして、あるいはリポジトリにStarをつけていただけると嬉しいです!
読んでいただきありがとうございます!Happy codingで、コミュニティからのフィードバックをお待ちしています!


