EverMind が公開したオープンソースの Markdown フォーカス型エージェントメモリランタイム「EverOS」を紹介
本文の状態
日本語全文を表示中
詳細モードで約10分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
MarkTechPost
AI エージェント開発者向けに、EverMind が Apache 2.0 ライセンスで「EverOS」というオープンソースのメモリランタイムを公開しました。これは大規模言語モデルが状態を持たないという課題に対し、ベクトルデータベースに依存せず、Markdown ファイルを事実源として記憶を保存・編集・検索する仕組みを提供します。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
EverMind は、AI エージェント向けのオープンソース・メモリランタイムである EverOS をリリースしました。これは Apache 2.0 ライセンスの下で提供されています。この製品が解決しようとしているのは、エージェント構築者が早期に直面する問題です。すなわち、大規模言語モデルはステートレス(状態を持たない)であり、会話が終了すると文脈も消えてしまうという課題です。
EverOS は異なる基盤を提案します。メモリをベクトルデータベース内に閉じ込めるのではなく、メモリをプレーンな Markdown ファイルとして書き出します。これらのファイルが、エージェントがセッションを超えて読み取り、編集し、検索する真実の源となります。
TL;DR(要約)
EverOS は、エージェントのメモリを編集可能な Markdown として保存し、SQLite と LanceDB でインデックス付けます。
ハイブリッド検索では、BM25、ベクトル検索、スカラーフィルタリングを単一のクエリで統合します。
ケースは再利用可能なスキルに凝縮され、エージェントに手続き的かつ自己進化型のメモリを提供します。
ベンチマークスコアは強力ですが、EverMind によって報告されたものであり、実際のワークロードでの検証が必要です。
Apache 2.0 のオープンソースライセンスの下で提供され、クラウド版とセルフホスト版の機能は同等です。
EverOS とは何か?
EverOS は Python ライブラリであり、ローカルファーストのメモリランタイムです。サーバーとして動作し、CLI(コマンドラインインターフェース)および FastAPI HTTP API を備えています。全体を通じて非同期処理を第一に設計されています。既存のエージェントループに組み込むものであり、スタックを再構築するものではありません。
この設計では、2 つのメモリトラックを分離しています。ユーザー側のメモリには、プロファイル(Profiles)、エピソード(Episodes)、事実(Facts)、予見(Foresights)が保持されます。一方、エージェント側のメモリには、ケース(Cases)とスキル(Skills)が保持されます。これらを分離することは珍しいアプローチであり、多くのライブラリはチャット履歴のみを中心に据えています。
すべての記録は .md ファイルとして保存されます。これらは開いて編集したり、grep で検索したり、Git でバージョン管理したり、Obsidian で閲覧することも可能です。EverAlgo は独立したステートレスライブラリであり、抽出アルゴリズムを担当します。EverOS は結果のオーケストレーションと永続化を担います。
エンドポイントスタックは OpenAI プロトコルに準拠しています。ベース URL を変更するだけで、OpenAI、OpenRouter、vLLM、Ollama、または DeepInfra に接続できます。これにより、統合は単一の設定変更で済むように保たれています。
ランタイムはデフォルトでローカルファーストです。データが環境外に出る必要はなく、すべてのレイヤーを検査可能です。自己ホストしたくないチーム向けの管理された EverOS Cloud オプションも存在します。両者は同じ SDK、検索エンジン、メモリ形式を共有しています。
アーキテクチャ — Markdown、SQLite、および LanceDB
EverOS は 3 つのストレージスタックを使用します。Markdown が真実の源です。SQLite は状態とキューを管理し、LanceDB はベクトル、BM25、スカラーフィルタを管理します。
これは典型的な本番環境でのメモリセットアップよりも意図的に軽量に設計されています。MongoDB、Elasticsearch、Milvus、Redis、または Kafka の使用は必須ではありません。個人開発者や小規模チームにとっては、運用コストが低下します。
検索はハイブリッドです。単一の LanceDB クエリで、BM25 キーワードマッチング、密集ベクトル検索、スカラーフィルタリングを組み合わせます。EverMind はこのマルチモーダル検索パスを mRAG として販売しています。
カスケードインデックス同期により、ファイルとインデックスが常に整合します。.md ファイルの編集はファイルウォッチャーをトリガーし、インデックスを再同期させます。メモリは古くなることなく、いつでも検査可能です。
検索機能は識別子間でも独立して動作します。user_id、agent_id、app_id、project_id、session_id によって検索範囲を限定できます。この限定機能は、データ分離が必要なマルチエージェント環境やマルチユーザー展開において極めて重要です。
メモリが自己進化する仕組み — ケースからスキルへ
特徴的な機能として手続き型メモリがあります。EverOS は完了した各エージェントタスクを「ケース」として記録します。繰り返し成功するパターンはオフラインで抽出され、再利用可能な「スキル」へと昇華されます。
これが「自己進化」という主張の核心です。スキルはエージェントチーム間で共有され、手動でのキュレーションもハードコーディングも不要です。目標は、セッションごとに再起動するのではなく、使用を通じて改善していくエージェントを実現することです。
バージョン 1.1.0 ではライフサイクル関連の機能がさらに強化されました。これにより、分類体系とトピック検索機能を備えたソース元に基づく Markdown ページ向けの Knowledge APIs が導入されました。また、Reflection というオフラインプロセスも追加され、セッション間でエピソードクラスタを統合し、プロファイルやスキルを洗練させます。
メモリモデルはシンプルです。事象記憶(Episodic memory)は「何が起きたか」に答え、プロファイル記憶(Profile memory)は「このユーザーは誰か」に答え、手続き型記憶(Procedural memory)は「このタスクをどう行うか」に答えます。
ベンチマーク
EverMind チームによると、LoCoMo で 93.05%、LongMemEval で 83.00%、HaluMem で 93.04% のスコアを達成しています。また、p95 レトリバルレイテンシが 500 ミリ秒未満であることも報告されています。LoCoMo と LongMemEval は長期的な会話記憶を測定するものであり、HaluMem はメモリの幻覚(hallucination)を対象としています。これらの数値は EverMind の投稿に基づくものです。
以下の表では、EverOS を具体的な設計次元において一般的な代替案と比較します:
DimensionEverOSNaive RAGFull context windowOther memory libraries
Source of truthPlain Markdown .md filesVector DB recordsPrompt onlyAPI or database state
Local stackMarkdown + SQLite + LanceDBVector DB + app codeNoneOften managed services
RetrievalHybrid BM25 + vector + scalarDense vector onlyNone (no retrieval)Varies
Procedural memoryCases distilled into SkillsNoneNoneRare
Multimodal ingestPDF, image, Office, URL in one callManual pipelineVia context onlyPartial
LoCoMo accuracy93.05% (EverMind-reported)—N/A (context limit)Varies
LicenseApache 2.0VariesN/AVaries / proprietary
Use Cases, With Real Examples
The library links to working integrations. They show what persistent memory enables in real products.
Hive Orchestrator is a browser-native hive-mind for CLI coding agents. Claude Code, Codex, Gemini, and OpenCode collaborate as real PTY processes through a shared team protocol.
Reunite uses semantic memory for public-value search. Parents describe what they remember, children describe what they recall, and the system surfaces connections.
Other examples span healthcare and hardware. They include an Alzheimer's memory assistant and an AI wearable. The wearable listens to everyday life and converts it into memory. A study buddy with self-evolving memory is also among the examples. The wider ecosystem adds a Claude Code plugin and an MCP-based memory layer for coding assistants.
A Five-Minute Code Walkthrough
インストールには標準的な Python ツールを使用します。EverOS には Python 3.12 以降が必要です。ローカルデモでは API キーは不要です。
コピー コードをコピーしました別のブラウザを使用してください
Python 3.12+ が必要
uv pip install everos # または:pip install everos
everos demo # ローカルの教育用ビジュアライザー、キー不要
everos init .env に OpenRouter と DeepInfra のキーを貼り付けます
everos server start FastAPI サーバーを開始します
curl http://127.0.0.1:8000/health # -> {"status":"ok"}
メモリの追加と検索は、単純な HTTP コールです。以下の例では事実を保存し、抽出を強制してからそれを取得します。
コピー コードをコピーしました別のブラウザを使用してください
1) 短い会話を追加する
curl -X POST http://127.0.0.1:8000/api/v1/memory/add \
-H 'Content-Type: application/json' \
-d '{"session_id":"demo-001","app_id":"default","project_id":"default",
"messages":[{"sender_id":"alice","role":"user","timestamp":1750000000000,
"content":"I love climbing in Yosemite every spring."}]}'
2) 抽出を強制するためにフラッシュする(ローカルデモ)
curl -X POST http://127.0.0.1:8000/api/v1/memory/flush \
-H 'Content-Type: application/json' \
-d '{"session_id":"demo-001","app_id":"default","project_id":"default"}'
3) 検索して取得する
curl -X POST http://127.0.0.1:8000/api/v1/memory/search \
-H 'Content-Type: application/json' \
-d '{"user_id":"alice","app_id":"default","project_id":"default",
"query":"Where do I like to climb?","top_k":5}'
インストールには標準的な Python ツールを使用します。EverOS には Python 3.12 以降が必要です。ローカルデモでは API キーは不要です。
コピー コードをコピーしました別のブラウザを使用してください
Python 3.12+ が必要
uv pip install everos # または:pip install everos
everos demo # ローカルの教育用ビジュアライザー、キー不要
everos init .env に OpenRouter と DeepInfra のキーを貼り付けます
everos server start FastAPI サーバーを開始します
curl http://127.0.0.1:8000/health # -> {"status":"ok"}
メモリの追加と検索は、単純な HTTP コールです。以下の例では事実を保存し、抽出を強制してからそれを取得します。
コピー コードをコピーしました別のブラウザを使用してください
1) 短い会話を追加する
curl -X POST http://127.0.0.1:8000/api/v1/memory/add \
-H 'Content-Type: application/json' \
-d '{"session_id":"demo-001","app_id":"default","project_id":"default",
"messages":[{"sender_id":"alice","role":"user","timestamp":1750000000000,
"content":"I love climbing in Yosemite every spring."}]}'
2) 抽出を強制するためにフラッシュする(ローカルデモ)
curl -X POST http://127.0.0.1:8000/api/v1/memory/flush \
-H 'Content-Type: application/json' \
-d '{"session_id":"demo-001","app_id":"default","project_id":"default"}'
3) 検索して取得する
curl -X POST http://127.0.0.1:8000/api/v1/memory/search \
-H 'Content-Type: application/json' \
-d '{"user_id":"alice","app_id":"default","project_id":"default",
"query":"Where do I like to climb?","top_k":5}'
マルチモーダル取り込みはオプションの拡張機能です。everos[multimodal] をインストールすると、画像、PDF、オーディオの解析が可能になります。Office 文書の処理には追加で LibreOffice が必要であり、これは解析前にファイルを PDF に変換します。
試してみる:インタラクティブなメモリデモ
以下の埋め込みデモは、ブラウザ上で EverOS のループをシミュレートします。スニペットを追加すると、それが抽出されてタグ付けされ、ハイブリッド検索を通じて再び検索される様子を確認できます。これは説明用のデモであり、ライブサーバーには接続されていません。
GitHub リポジトリや Hugging Face ページ、製品リリース、ウェビナーなどのプロモーションのためにパートナーシップをご希望ですか?私たちに連絡してください。
「Meet EverOS: An Open Source Markdown-First Agent Memory Runtime With Hybrid BM25 + Vector Retrieval and Self-Evolving Skills (続き 6/6)」という記事は、MarkTechPost で最初に公開されました。
原文を表示
EverMind has released EverOS, an open-source memory runtime for AI agents. It ships under an Apache 2.0 license. It targets a problem agent builders hit early: large language models are stateless. The conversation ends, and the context is gone.
EverOS proposes a different substrate. Instead of locking memory inside a vector database, it writes memory as plain Markdown files. Those files become the source of truth that agents read, edit, and search across sessions.
TL;DR
EverOS stores agent memory as editable Markdown, indexed by SQLite and LanceDB.
Hybrid retrieval blends BM25, vector search, and scalar filtering in one query.
Cases distill into reusable Skills, giving agents procedural, self-evolving memory.
Benchmark scores are strong but EverMind-reported; verify on your own workload.
It is open source under Apache 2.0, with cloud and self-hosted parity.
What is EverOS?
EverOS is a Python library and a local-first memory runtime. It runs as a server with a CLI and a FastAPI HTTP API, async-first throughout. You drop it into an existing agent loop rather than rebuilding your stack.
The design separates two memory tracks. User-side memory holds Profiles, Episodes, Facts, and Foresights. Agent-side memory holds Cases and Skills. Keeping them separate is unusual; most libraries center on chat history alone.
Every record lands as a .md file. You can open, edit, grep, and Git-version it, or view it in Obsidian. EverAlgo, a separate stateless library, handles the extraction algorithms. EverOS orchestrates and persists the results.
The endpoint stack is OpenAI-protocol compatible. It connects to OpenAI, OpenRouter, vLLM, Ollama, or DeepInfra by changing a base URL. That keeps integration close to a single configuration change.
The runtime is local-first by default. Data never has to leave your environment, and every layer is inspectable. A managed EverOS Cloud option exists for teams that prefer not to self-host. Both share the same SDK, retrieval engine, and memory format.
The Architecture — Markdown, SQLite, and LanceDB
EverOS uses a three-piece storage stack. Markdown is the source of truth. SQLite manages state and queues. LanceDB manages vectors, BM25, and scalar filters.
This is deliberately lighter than a typical production memory setup. There is no required MongoDB, Elasticsearch, Milvus, Redis, or Kafka. For solo developers and small teams, that lowers operational cost.
Retrieval is hybrid. A single LanceDB query combines BM25 keyword matching, dense vector search, and scalar filtering. EverMind markets this multimodal retrieval path as mRAG.
A cascade index sync keeps files and indexes aligned. Editing a .md file triggers a file-watcher that re-syncs the index. Memory stays inspectable without going stale.
Retrieval is also orthogonal across identifiers. You can scope a search by user_id, agent_id, app_id, project_id, and session_id. That scoping is important in multi-agent and multi-user deployments where data isolation is required.
How Memory Self-Evolves — Cases Become Skills
A distinctive feature is procedural memory. EverOS records each completed agent task as a Case. Repeated successful patterns are distilled offline into reusable Skills.
This is the ‘self-evolving’ claim, stated plainly. Skills are shared across an agent team, with no manual curation and no hardcoding. The goal is agents that improve with use instead of restarting each session.
Version 1.1.0 added more lifecycle machinery. It introduced Knowledge APIs for source-backed Markdown pages with taxonomy and topic search. It also added Reflection, an offline process that merges episode clusters and refines profiles and skills between sessions.
The memory model is simple. Episodic memory answers ‘what happened.’ Profile memory answers ‘who is this user.’ Procedural memory answers ‘how is this task done.’
Benchmark
EverMind team reports 93.05% on LoCoMo, 83.00% on LongMemEval, and 93.04% on HaluMem. It also cites sub-500ms p95 retrieval latency. LoCoMo and LongMemEval measure long-term conversational memory; HaluMem targets memory hallucination. These numbers come from EverMind posts.
The table below compares EverOS against common alternatives on concrete design dimensions:
DimensionEverOSNaive RAGFull context windowOther memory libraries
Source of truthPlain Markdown .md filesVector DB recordsPrompt onlyAPI or database state
Local stackMarkdown + SQLite + LanceDBVector DB + app codeNoneOften managed services
RetrievalHybrid BM25 + vector + scalarDense vector onlyNone (no retrieval)Varies
Procedural memoryCases distilled into SkillsNoneNoneRare
Multimodal ingestPDF, image, Office, URL in one callManual pipelineVia context onlyPartial
LoCoMo accuracy93.05% (EverMind-reported)—N/A (context limit)Varies
LicenseApache 2.0VariesN/AVaries / proprietary
Use Cases, With Real Examples
The library links to working integrations. They show what persistent memory enables in real products.
Hive Orchestrator is a browser-native hive-mind for CLI coding agents. Claude Code, Codex, Gemini, and OpenCode collaborate as real PTY processes through a shared team protocol.
Reunite uses semantic memory for public-value search. Parents describe what they remember, children describe what they recall, and the system surfaces connections.
Other examples span healthcare and hardware. They include an Alzheimer’s memory assistant and an AI wearable. The wearable listens to everyday life and converts it into memory. A study buddy with self-evolving memory is also among the examples. The wider ecosystem adds a Claude Code plugin and an MCP-based memory layer for coding assistants.
A Five-Minute Code Walkthrough
Installation uses standard Python tooling. EverOS requires Python 3.12 or newer. The local demo needs no API keys.
Copy CodeCopiedUse a different Browser
Requires Python 3.12+
uv pip install everos # or: pip install everos
everos demo # local educational visualizer, no keys
everos init # paste OpenRouter + DeepInfra keys into .env
everos server start # starts the FastAPI server
curl http://127.0.0.1:8000/health # -> {"status":"ok"}
Adding and searching memory are plain HTTP calls. The example below stores a fact, forces extraction, then retrieves it.
Copy CodeCopiedUse a different Browser
1) Add a short conversation
curl -X POST http://127.0.0.1:8000/api/v1/memory/add \
-H 'Content-Type: application/json' \
-d '{"session_id":"demo-001","app_id":"default","project_id":"default",
"messages":[{"sender_id":"alice","role":"user","timestamp":1750000000000,
"content":"I love climbing in Yosemite every spring."}]}'
2) Flush to force extraction (local demo)
curl -X POST http://127.0.0.1:8000/api/v1/memory/flush \
-H 'Content-Type: application/json' \
-d '{"session_id":"demo-001","app_id":"default","project_id":"default"}'
3) Search it back
curl -X POST http://127.0.0.1:8000/api/v1/memory/search \
-H 'Content-Type: application/json' \
-d '{"user_id":"alice","app_id":"default","project_id":"default",
"query":"Where do I like to climb?","top_k":5}'
Multimodal ingestion is an optional extra. Installing everos[multimodal] adds parsing for images, PDFs, and audio. Office documents additionally require LibreOffice, which converts files to PDF before parsing.
Try It: Interactive Memory Demo
The embedded demo below simulates the EverOS loop in your browser. Add a snippet, watch it get extracted and tagged, then search it back through hybrid retrieval. It is illustrative and does not connect to a live server.
Check out the Repo and Technical details. Also, feel free to follow us on Twitter and don’t forget to join our 150k+ML SubReddit and Subscribe to our Newsletter. Wait! are you on telegram? now you can join us on telegram as well.
Need to partner with us for promoting your GitHub Repo OR Hugging Face Page OR Product Release OR Webinar etc.? Connect with us
The post Meet EverOS: An Open Source Markdown-First Agent Memory Runtime With Hybrid BM25 + Vector Retrieval and Self-Evolving Skills appeared first on MarkTechPost.
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み