AI Navigate

オープンソースのメモリ層に信頼度スコアを追加しました。AIはもう「わかりません」と言えるようになりました。

Reddit r/LocalLLaMA / 2026/3/19

📰 ニュースDeveloper Stack & InfrastructureTools & Practical Usage

要点

  • widemem は、LLMエージェント用のオープンソースのメモリ層で、SQLite + FAISS を用いてローカルで動作し、クラウドやアカウントは必要ありません。
  • 信頼度スコアを導入し、検索結果が HIGH、MODERATE、LOW、NONE のいずれかを返すようにします。また、未知の結果の扱いを制御する3つのモード(strict、helpful、creative)を追加します。
  • 新機能には mem.pin() による事実の記憶固定と、ユーザーが同じ情報を繰り返すときに記憶検索を強化するフラストレーション検知機能が含まれます。
  • ローカル優先を保ち、外部サービスは一切使用せず、取得モードは fast(10件)、balanced(25件)、deep(50件)をサポートします。Ollama および sentence-transformers に対応しており、GitHub とインストール手順も含まれています。

widememを作っています。LLMエージェント用のオープンソースのメモリ層です。SQLite + FAISS を用いて完全にローカルで動作し、クラウドもアカウントも不要です。Apache 2.0 ライセンス。

私が直面し続けていた問題: ベクターストアは常に何かを返してしまい、有用でない場合でも結果を返します。ユーザーの医者を尋ねると、最も近い一致はその人のランチの注文で、類似度は 0.3 です。LLM はその文脈を見て自信を持って医者の名前を作り上げてしまいます。

そこで、信頼度評価を追加しました。すべての検索は現在、HIGH、MODERATE、LOW、NONE のいずれかで返されます。さらに、3 つのモードから選択できます:

- **厳密**: 自信を持っている情報だけを返し、それ以外は「わかりません」と言います

- **役に立つ**(デフォルト): 通常は自信のある情報を返し、不確かな結果にはフラグを立てます

- **創造的**:「その情報は保存されていませんが、必要であれば推測します」

また、決して薄れないべき事実のための `mem.pin()` を追加しました(アレルギー、血液型、その他そのような情報)。そしてフラストレーション検知も追加しました。ユーザーが「もうこのことを言ったよ」と言うと、システムはより多くの検索を行い、その記憶を強化します。

取得モードも新たに用意しました: fast(安価、10 件)、balanced(デフォルト、25 件)、deep(正確さがコストより重要な場合、50 件)

引き続きローカル優先。外部サービスはゼロ。完全にオフラインのまま、Ollama + sentence-transformers と組み合わせて使用可能です。

GitHub: https://github.com/remete618/widemem-ai

インストール: `pip install widemem-ai`

信頼度の閾値についてのフィードバックをいただけると嬉しいです。sentence-transformers や text-embedding-3-small とはうまく機能しますが、世の中のすべてのモデルを試したわけではありません。設定で閾値が合わない場合は教えてください。

投稿者 /u/eyepaqmax
[リンク] [コメント]