BionicMemory(バイオニックメモリ)— 生体模倣メモリ管理システム
概要
BionicMemoryは、生体脳の忘却と記憶維持のメカニズムをソフトウェアで再現することを目的としたオープンソースプロジェクトです。核心にあるのは「記憶に温度を持たせる」という概念で、各記憶アイテムは初期強度(温度)を持ち、時間経過に伴ってニュートン冷却則に類似した減衰を受けます。ユーザーやシステムがその記憶を再利用する(リハーサル)と温度が上昇し、保存/永続化の優先度が変化します。これにより「使うものは保持し、使わないものは忘れる」戦略をプログラム的に運用し、AIの長期コンテキスト管理やメモリ容量制約下での整理を支援します。
リポジトリの統計情報
- スター数: 2
- フォーク数: 0
- ウォッチャー数: 2
- コミット数: 5
- ファイル数: 10
- メインの言語: Python
主な特徴
- 生体模倣(バイオミミクリー)に基づく記憶モデル:ニュートン冷却公式で忘却を近似。
- 「温度」概念による記憶の強度管理:リハーサルで温度上昇、未使用で減衰。
- 永続化と自動整理:温度に基づくアーカイブや削除戦略を想定。
- 軽量なPython実装(Python 3.12+、MITライセンス)でAIへ組み込みやすい。
技術的なポイント
BionicMemoryの技術的要点は、「物理モデルを情報管理に適用する発想」と「実装のシンプルさ」にあります。プロジェクトはエビングハウスの忘却曲線を数理的に扱う代わりに、ニュートンの冷却則(dT/dt = -k(T - Te) のような指数減衰)を忘却ダイナミクスの近似モデルとして採用しています。これにより記憶の「温度」Tを時間関数として扱い、温度の低下を忘却、反復や参照を温度のインクリメント(加熱)として扱うことで、再利用頻度に応じた自然な優先度付けが可能になります。
内部的には、各記憶アイテムに以下のようなメタデータが想定されます:識別子、内容(テキストや埋め込み)、作成/最終参照時刻、現在温度(強度)、基底温度や減衰係数k。時間経過による温度更新はオンデマンド(参照時に計算)か定期バッチで行い、恒久保存が必要な閾値を超えたアイテムは永続化ストレージに残し、閾値下のものはアーカイブまたは削除候補にします。
実装面ではPython 3.12以上をターゲットにしており、依存は最小限に抑えられている想定です。データ永続化はJSONやSQLiteなど軽量なストレージで表現可能で、将来的にはベクターDBやRDBMSへの統合も容易です。検索・取得時には「温度」「最終参照日時」「類似度(埋め込み検索)」の複合スコアを用いて関連度の高い記憶をランキングし、LLMの長期コンテキスト拡張や対話履歴の補完へと繋げられます。
運用設計としては、温度と容量制約を組み合わせたポリシーが鍵です。例:容量超過時は温度が低い順に削除、あるいは低温項目を圧縮・要約して保存容量を節約する。さらに、学習フェーズやユーザー評価を通じて減衰係数やリハーサルの効果量を調整すれば、応用領域(チャットエージェント、ナレッジマネジメント、個人アシスタント等)に応じた最適化が可能です。
また、ニュートン冷却則という物理モデルを採用することで、モデルの解釈性が高く、可視化(温度履歴のプロット)やデバッグが容易になる利点があります。これはブラックボックス化しがちな記憶管理を説明可能にし、運用者がポリシー調整を行いやすくする点で有効です。
プロジェクトの構成
主要なファイルとディレクトリ:
- .env.example: file
- .gitattributes: file
- .gitignore: file
- MANIFEST.in: file
- README.md: file
…他 5 ファイル
READMEにはプロジェクトの目的、クイックスタート、機能一覧、技術アーキテクチャ、APIドキュメントの案内が含まれており、導入から基本的な使い方までを参照できる構成です。軽量ライブラリとしてパッケージ化や配布を想定したメタファイル(MANIFEST.in等)や環境変数テンプレートが同梱されているため、実際にローカルで試すための敷居は低く保たれています。
まとめ
生体模倣の発想で記憶管理を実装する興味深いプロジェクト。AIの長期コンテキスト保持に応用しやすい設計です。
リポジトリ情報:
- 名前: BionicMemory
- 説明: 【智简】仿生记忆系统:基于生物脑仿生、通过牛顿冷却公式模拟艾宾浩斯遗忘规律、仿生实现“用进废退”策略的永久记忆管理系统 - 让每个AI都有记忆,让每个记忆都有温度
- スター数: 2
- 言語: Python
- URL: https://github.com/caoyc/BionicMemory
- オーナー: caoyc
- アバター: https://avatars.githubusercontent.com/u/28340147?v=4