Nautilus Compass Memory について
Nautilus Compass Memory は、署名付き検証レシートを備えたAIエージェント向けのオープンソースでローカル優先の長期メモリレイヤーです。ローカルでのメモリとドリフト検出を求める開発者を対象とし、複数のMCPクライアントにプラグインとして導入できます。
主な機能
- 01抽出用LLMを必要としないローカルBGE-m3埋め込み
- 02発話単位のチャンク検索とハイブリッド検索
- 03失敗パターンのアンカーによるドリフト検出
- 04エージェント間の契約追跡とガバナンス監査
- 05スコープ付きトークンのHTTPSクラウドゲートウェイ
活用シーン
- 01Claude Code にローカルの長期メモリを追加
- 02ファイルを共有する複数エージェント間の引き継ぎ契約の追跡
- 03エージェントが以前に破った規則を再び破っていないかの確認
MCP 対応
Compass は stdio によるローカルの MCP サーバーとして動作し、ホスト型利用向けに streamable-http エンドポイントを提供します。Claude Desktop、Cursor、Cline、Continue.dev、Zed などのMCPクライアントに導入できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://compass.nautilus.social/mcp/claude mcp add --transport http chunxiaoxx-nautilus-compass https://compass.nautilus.social/mcp/{"mcpServers":{"chunxiaoxx-nautilus-compass":{"type":"http","url":"https://compass.nautilus.social/mcp/"}}}Cursor で開く{"servers":{"chunxiaoxx-nautilus-compass":{"type":"http","url":"https://compass.nautilus.social/mcp/"}}}VS Code で開く{"mcpServers":{"chunxiaoxx-nautilus-compass":{"type":"http","url":"https://compass.nautilus.social/mcp/"}}}{"mcpServers":{"chunxiaoxx-nautilus-compass":{"serverUrl":"https://compass.nautilus.social/mcp/"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://compass.nautilus.social/mcp/認証が必要ツール
詳細
nautilus-compass
AI エージェント向けのオープンソースのメモリ&信頼性レイヤー。 長期メモリは、ローカル環境で完全に動作し、コストを 14 分の 1 に抑えながら、LongMemEval-S の 3 つすべての指標で mem0 を上回るようになりました。さらに、他のメモリレイヤーにはないドリフト検出とエージェント間コントラクトも備えています。
Claude Code / Desktop · Cline · Cursor · Continue.dev · Zed · 任意の MCP クライアント向けプラグイン。
Nautilus Platform が開発 · オープンなエージェントエコシステム · エージェントとして参加 →
🇬🇧 英語(このファイル) · 🇨🇳 中国語
2026年10月 — 独立した判定と検証(新たな柱)
このプロジェクトは現在、Nautilusプラットフォームの独立判定レイヤーも支えています。事前登録された基準、3状態の判定、否定的な結果もそのまま公開します。
- NACRE judge v1 — 1.7B LoRAに圧縮された判定知識 (3状態判定で88.5%、ECE 0.072)。モデルカードと重み: nautilus-compass/nacre-judge-v1
- デプロイ時の精度に関する規律(事前登録済み、291件):fp16はbf16アンカーとラベルが100%一致(安全)・int8は98.28%(不合格)・int4は94.16%
(禁止)。判定の全表はリポジトリ内にあります(
docs/metering/PRECOR_BC_VERDICT_20261007.md)。 - caliber-bench — ベンチマーク自体を評価するメタベンチマーク (基準の変動/汚染/判定の安定性)。オープンサンプルパック: nautilus-compass/caliber-bench-v0
- ハーネスのリーダーボード、第1ラウンド — 同じモデル、2つのハーネス: v5-harnessは26.7%、mini-swe-agentは16.7%(+10.0pp)。すべての成果物を sha16で指定できます。公開ページはnautilus.social/leaderboard.html、 無料のL1受付はnautilus.social/intake.htmlです。
- Casebook v1.4(10/12出荷)— 先例のある判定事例16件と
自己訂正6件。すべての事例を独立して再計算できます
(
docs/cases/CASEBOOK_V1.md)。有料の拘束力ある条項における最初の成果物です。 - 判定用データコーパス — 4つのソース(判定の内訳/delta registryの段階的強化/org-fuelパイプライン /アウトリーチ)から集めた、qidで重複排除済みの先例事例2,257件。稼働中のカウンターは nautilus.social/corpus_stats.jsonにあります。
- E-NACRE-1、公開された否定的結果 — ドメイン別にルーティングしたLoRAシャードで−36.6ppの性能低下が発生したため、コーパスが3,000件以上になるまで動的重みルーティングを停止しました。
否定的な結果も第一級の知見として公開します
(
docs/metering/PRECOR_ENACRE1_VERDICT_20261007.md)。 - 顧客の一連の利用手順を外部検証済み — 受付 → 基準 →
リーダーボード → ステータス照会 → レジストリ → プログラムから利用できるステータスAPI
(
/api/judge_status)。すべて公開インターネットからアクセスでき、3段階のチェック(HTTP/コンテンツアンカー/ライブデータ)を実施しています。 - フォーマット回帰セット v1 — 第1ラウンドのパッチ形式の失敗事例26件(ハーネスA 15件+
エージェントB 11件)。それぞれに欠陥ラベルと再適用時の期待結果を付与しています
(
runtime/outreach/rsi_regression_set_v1.jsonl)。rsi-benchのリプレイ認定向けに構築されています。
以下のメモリレイヤーは引き続き完全にローカルでオープンです。判定の成果物にも、同じ証拠に関する規律(測定済み/推論/検証不能のラベル付け)を適用しています。
これは何か(メモリレイヤー、2026-08時点)
3つの柱を1つのプラグインで実現します。
1 · ブラックボックス型の長期記憶 — 最先端の検索機能を搭載。
生のテキストをBGE-m3でローカルに埋め込みます。取り込み時に抽出用LLMを使わず、グラフもなく、データがマシンの外に出ることもありません。2026年8月には、発話ルーティング型チャンク検索を追加しました。単一セッションに関する質問や知識の更新に関する質問はターンウィンドウチャンクにルーティングします(答えは通常、1つのユーザーターンに含まれており、セッション全体の埋め込みでは薄まってしまいます)。それ以外の質問には、セッションレベルのハイブリッド検索(BM25 + dense RRF)を使います。LongMemEval-Sの全500問を使った結果です。同一問題でmem0 2.0.19と直接比較しました(双方ともinfer=Falseで、それぞれデフォルトの埋め込みモデルを使用 — bge-m3対vertexai text-embedding-005 — 当プロジェクトによる再現実験):
| LongMemEval-S · n=500 | P@1 | P@5 | MRR |
|---|---|---|---|
| compass | 0.890 | 0.978 | 0.929 |
| mem0 2.0.19 | 0.774 | 0.916 | 0.834 |
ワンコマンドで再現できます(検索のみ、LLM呼び出しなし。CPUでも動作しますが、500問すべての実行にはGPUを推奨):
bash scripts/reproduce_lmes_retrieval.sh # full 500
SUBSET=12 bash scripts/reproduce_lmes_retrieval.sh # smoke
同じ発話ベースの仕組みが、mem0の本来のベンチマーク(LOCOMO-10、n=1986)でも上回り(0.644 / 0.890対0.592 / 0.802)、LongMemEval-Mでの単一セッションの性能崩壊も解消します(0.20 → 1.00)。タイプ別の内訳とすべての設定フラグを含む、証拠の全容はこちらです:
docs/evidence/headhead_mem0_full500_20260826.json
— 失敗した実験も含まれています(このコーパスではクロスエンコーダーによる再ランキングは性能を低下させます。候補プールのKは効果なし。Qwen3-0.6Bへの切り替えも差はありません)。
2 · ドリフト検出 — 他の誰も解決していないもう半分の課題。 記憶を呼び出しても、AIが今回はルールを破るのを防ぐことはできません。compassはエージェントが動作する前に、実際の失敗パターンからなるアンカーセット(陽性25件 + 陰性35件)に対してすべてのプロンプトをスコアリングします。ホールドアウトでAUC 0.83、p95レイテンシ<50 ms、本番トラフィックでの発火率は0.5%です。ホワイトボックス型のレイヤーは、ドリフトを検証可能にする前にプロンプトを事実へと抽象化するため、構造上、この課題には対処できません。
3 · エージェント間の契約 + ガバナンス。
複数のエージェント(またはClaudeの複数の対話)が共有ファイル上で動作する場合、compassは引き継ぎファイルから暗黙の契約を導き出し、完了状況を追跡し、偽の完了や危険なドリフトを監査します。4つの対話を28時間にわたって調査したフィールドスタディはこちらです。
docs/case_study_4dialog_compass.md。
覆されたトレードオフ:以前のバージョンでは、ローカルデプロイと低コストの代わりに、LongMemEval-Sで30ポイントの差を受け入れていました。2026-08時点では、もはやトレードオフはありません。再現実験の1/14のコストで全件を実行できます(500問あたり約$3.50、GPT-4oで判定するスタックでは$50以上)。詳しい論拠はこちら: paper/BLACKBOX_VS_WHITEBOX.md。
クイックスタート
PyPI上のパッケージ
| パッケージ | 内容 |
|---|---|
nautilus-compass | このリポジトリ — CLI、MCP サーバー、A2Aアダプター、assay判定ツールキット(3.3.0) |
assay-verify | AI出力のためのed25519署名付きレシート — 生成時に証明し、利用時に検証します(AIの主張に対するLet's Encrypt) |
jev-trust | Jev意思決定API向けの信頼ミドルウェア — すべての呼び出しを記録し、お客様のドメインで較正を測定して、証拠に署名します |
| BC1 benchmark | 組織の記憶力を測る30項目の試験 — 公正な採点(Uは一切カウントされません)、機械による採点、当プロジェクト自身の初回セルフテスト(11/18)を全て公開 — 9/27公開 |
Pythonパッケージ(PyPI · 3.3.0)
pip install nautilus-compass
# ships the CLI, the MCP server, the A2A adapter and session tools:
# nautilus-compass · compass-mcp · compass-a2a
# compass-drift-history · compass-session-search · compass-session-writer
30 秒(Claude Code / Desktop · ローカルデーモン)
git clone https://github.com/chunxiaoxx/nautilus-compass ~/.claude/plugins/nautilus-compass
bash ~/.claude/plugins/nautilus-compass/install.sh
# start the BGE-m3 daemon (one-time per boot)
bash ~/.claude/plugins/nautilus-compass/daemon_start.sh
デプロイに関する注意(実地検証済みの落とし穴、2026-08-28):
COMPASS_USE_INOTIFY=0を設定すると、新しいファイルの検出が無効になり、最新の書き込みがリコールに反映されなくなります。しかも警告なしです。理由がわかっている場合に限り設定してください。無効になっている場合、デーモンは WARNING をログに記録します。driftは現在、エラーを明示的に返します。プラグインディレクトリにanchors.jsonがない場合、レスポンスにはdrift.anchors_errorとshould_alert: trueが含まれます(以前は「リスクなし」を警告なしで返していました。これはセキュリティ上の欠陥でした)。tokens.jsonのトークン変更は、mtime チェックによってホットリロードされます(v3.1.0 以降、systemd の再起動は不要です)。- デーモンがアイドル状態になった後、最初のリコールには最大 90 秒かかる場合があります(モデルのコールドロード)。MCP クライアントは、タイムアウトを延長して自動的に 1 回再試行します。
インストーラーは、~/.claude/settings.json に 3 つのフックを設定します。
UserPromptSubmit→ 時間帯ごとのメモリリコール + drift チェックPostToolUse→ セッション中のライターStop→ セッション終了時の要約(セッションの戦闘レポートを~/.claude/.cache/compass-last-session.txtに書き込みます)
スラッシュコマンド:/compass-verify · /compass-drift · /compass-recall ·
/compass-search · /compass-status。
その他の MCP クライアント
python ~/.claude/plugins/nautilus-compass/scripts/install_to_agent.py
Claude Desktop、Cursor、Cline、Continue.dev、Zed を自動検出し、各ツールの MCP 設定を更新します。エージェントごとのコピー&ペースト用設定:
docs/AGENT_ONBOARDING.md · 生のプロトコル:
docs/mcp-usage.md。
クラウドホスト型(オープンベータ · セルフサービス)
ホスト型ゲートウェイは、スコープ付きトークンとユーザーごとのメモリ分離に対応した HTTPS 経由の MCP を提供し、セルフサービスで登録できます。次の URL からサインアップします。
https://compass.nautilus.social/signup。
その後、ウェブコンソールでトークンを作成します(または POST /tokens を実行します)。スコープはユーザー自身のスペースにサーバー側で制限され(読み取り + 書き込み)、他のユーザーのデータへのアクセスは拒否され、自動プローブで検証されます。設計:
docs/plans/2026-08-30-multi-tenant-memory-design.md。
MCP エンドポイント:https://compass.nautilus.social/mcp/(Bearer トークン ·
streamable-http)。公式 MCP Registry にも io.github.chunxiaoxx/nautilus-compass(リモート + PyPI セルフホスト、2 つのエントリー)として掲載されています。レジストリ対応クライアント(Glama などのアグリゲーター)は、そこから検出できます。
A2A の検出:
curl https://compass.nautilus.social/.well-known/agent.json
Nautilus プラットフォームエージェント(クラウド SSH クイックスタート)
Nautilus のクラウドマシンへの SSH アクセスがある環境でエージェントを使う場合に利用します。スコープ付きトークンを生成し、クラウド MCP ブリッジを設定して、.mcp.json を書き込み、エンドツーエンドのセルフチェックを実行します。統合ステータス行(リコールのヒット数 🧠、drift の状態、過去 5 分間のトラフィックをリアルタイム表示)をインストールするには、--hud を追加します。
bash ~/.claude/plugins/nautilus-compass/ops/agent_quickstart.sh my-agent
主な数値
| ベンチマーク | スコア | 公正な比較 |
|---|---|---|
| LongMemEval-S 500q full(utt-routed + hybrid、n=500) | P@1 0.890 · P@5 0.978 · MRR 0.929 | mem0 2.0.19(0.774/0.916/0.834、当方での再現結果、双方とも各自のデフォルト埋め込みモデルを使用)を上回ります:+11.6/+6.2/+9.5pt。最大の逆転はsingle-session-userのP@1で、0.90対0.49です |
| LOCOMO-10(n=1986 · mem0の主要ベンチマーク) | P@1 0.644 · P@5 0.890 · MRR 0.740 | mem0(0.592/0.802/0.677、当方での再現結果)を上回ります:+5.2/+8.8pt |
| LongMemEval-M 500q full(質問あたり約501セッション) | P@5 0.888 | セッションプールが12倍大きくなっても、S500に対する低下はわずか9ptです。n=500でssuの崩壊を解消(0.20 → 0.93)。ssp 0.53を新たに確認。mem0 Mとの直接比較はまだありません |
| EverMemBench-Dynamic(n=500) | 44.4%(Run 1)/ 47.3%(Run 2) | 公開済みのTable 4の4つのベースライン(Mem0 37.09、Zep 39.97、MemOS 42.55、MemoBase 34.27)を上回ります。「業界最高水準」とは主張しません — OMEGA / Mem0gはまだ公開結果を報告していません |
| LongMemEval-S e2e 500q full + summary layer(doubao subject × glm judge、2026-09-03) | 75.4%(377/500。判定器との接続が切れた質問を除くと81.6%。すべて再判定して解決済み)。タイプ別:ssu 96.9% · ssa 85.4% · tr 83.3% · ms 73.2% · ku 79.5% · ssp 75.0% | summary layerの判定はPASS(事前登録した基準:ms≥35/ssa≥40/tr≥30 — すべて基準の2倍を超えて達成)。セッションごとの要約カードと日付を軸にしたタイムラインにより、セッション横断型のスコアが+45〜60pt向上(ms 22.6→73.2、ssa 25.0→85.4、tr 15.8→83.3)しました — 検索の変更なし、トレーニングなし、コンテキストエンジニアリングのみです。判定器との接続が切れた71件の質問はすべて再判定して解決済み(同じ判定器で再試行のみ)。完全な判定結果:vtf/_e2e_diag/arm_a_final_verdict.md;ベースラインJSON:docs/evidence/e2e_500_full_20260829.json |
| LongMemEval-V2(xiaowu0162による公式ベンチマーク、451qのエージェント軌跡メモリ · 当方での調整済み実行、2026-09-02にクリーンな条件で再判定) | web 40.0% / enterprise 38.4%(初回の未調整実行、2026-08-30:19.6% / 12.8%;論文では、軌跡の証拠なしの場合、フロンティアLLMは≤14.1%と報告) | 新しいマルチセッションベンチマーク(webarenaエージェントの軌跡)です。未調整のベースラインと調整済みv2の両方を公開しています。改善要因は2つです:棄権判定の調整(単独のUNKNOWNは121→0;回答不能なスナップショット質問は、ルーブリックで認められた2つの方法により2.8% → 45.8%)+検索単位のアップグレード(a11y構造の枝刈り、軌跡ごとの密な再ランク付け、予算12k→24k;手順で+16.6pt)。2026-09-02の採点修正:元の判定器(最大トークン数4096)は推論にトークンを消費され、回答が体系的にゼロ点になっていました。LLMが採点した全156件の質問を再判定(低推論/16384トークン)した結果、webは36.7→40.0、entは40.3→38.4となりました — このクリーンな数値を現在の主要結果としています。公正な注記:棄権ルートは判定器の裁量に依存します;webのdynamic-typeは-3.9pt低下しました。後続の検証:LoRAによる検索拡張は同等の結果で終了(2026-08-31、不採用);棄権ゲートのパッチは事前登録基準により却下(2026-09-02 — 拒否テンプレートが回答可能な質問に漏れ、92/89件)。エビデンス:vtf/_compass_lmev2_out/ |
| ドリフト検出器AUC | 保留データで0.83 / 学習データ内で0.92 | ドリフト検出を実施している唯一の公開メモリレイヤーです |
| 再現コスト | 約$3.50 / 500問 | GPT-4oで判定する構成より約14倍低コストです |
| p95フック遅延 | <50 ms | すべてのプロンプトでの呼び出しに安全に対応できます |
EverMemBenchの主要結果には、恣意的な選択を避けるためRun 1(44.4%)を意図的に報告しています。複数回実行の平均45.84%はMemOSを+3.3pt上回ります。2回実行+Geminiによるクロス判定の感度分析:
paper/sections/paper2_06_5_evermembench.tex。
インストールせずに試す:ドリフト検出+Merkle整合性のライブデモ (CPUのみ · メタデータモードではjaccardにフォールバック · 登録不要) hug 数値を再現する — Hub 上の評価データセット(行動アンカー+ラベル付きトレース+LongMemEval-S / EverMemBench のスコアリング): huggingface.co/datasets/chunxiaox/nautilus-compass-test-data
from datasets import load_dataset
ds = load_dataset("chunxiaox/nautilus-compass-test-data")
ベンチマークのエントリーポイント:bash ops/bench_all.sh l0(高速レイヤー、GPU 不要)·
bash ops/bench_all.sh l1 30(LongMemEval サブセット)。検索の調整項目は
tests/eval_longmemeval_accuracy.py
(ZMM_UTTERANCE_RETRIEVE / ZMM_UTTERANCE_TYPES / ZMM_HYBRID /
ZMM_RETRIEVE_K / ZMM_DATE_ANCHOR / ZMM_EMBED_CACHE)で環境変数により切り替えます。
用語集
このプロジェクトで生み出され、厳密に使用している用語です。他のチームも、自分たちのシステムで自由に使えます。用語とは、そのためにあるものです。
判定の衛生管理 — LLM 判定の信頼性を保つための規律です。事前登録された基準、関数レベルのスモークテスト、サイレント障害の検出、二重集計、信頼区間が含まれます。これらを行わずに LLM 判定を使うベンチマークのリーダーボードは、作り物です。判定プロトコル · paper2をご覧ください。
書き込み時の賭け — 書き込み時にメモリを圧縮または要約することは、将来のクエリ分布に賭けることです。その分布は、構造上、知ることができません。これが、compass の書き込みパスで LLM を一切呼び出さない理由です。すべてのインテリジェンスは読み取り時に働きます(同一のメモリと質問で e2e が 42.6% → 75.4%)。
二重集計 — 主要なスコアはすべて、全データセットと、判定障害の対象を除外したデータセットの両方で報告します(75.4% / 81.6%)。単一の数値では判定の失敗が隠れてしまいますが、2 つの数値であればそれを明らかにできます。
仕組み
User prompt: "Fix bug X for me"
│
▼
┌─────────────────────────────────────┐
│ UserPromptSubmit Hook (this plugin)│
└─────────────────────────────────────┘
│
┌────────────┼────────────┐
▼ ▼ ▼
┌────────┐ ┌─────────┐ ┌──────────┐
│ recall │ │ drift │ │ profile │
│ memory │ │ check │ │ aggregate│
└────────┘ └─────────┘ └──────────┘
│
▼
Hooks inject results into Claude's system prompt:
- Time-bucketed past memory (BGE-m3 semantic + keyword hybrid)
- Drift score + nearest negative anchor (if score < threshold)
- Profile facts ("you have 3 unfinished tasks in this repo")
│
▼
Claude answers — with full context loaded
ドリフト検出器:各プロンプトをアンカーセット(実際の失敗記録)と比較し、BGE-m3 のコサイン類似度を使用します。ホールドアウトデータでの AUC は 0.83 です。
公開されている機能(MCP ツール)
17 個のツール — 中核となる 7 個:
| ツール | 目的 | レイテンシ(ローカルデーモン) |
|---|---|---|
ingest_obs(name, body, agent_id?) | 自動アンカーとドリフトシグナルを付与して観測を書き込みます | ~150 ms |
recall(query, project?, top_k?) | BGE-m3 によるセマンティック検索とキーワード検索のハイブリッド検索 | ~200 ms |
session_search(query, since?) | 時間バケット方式のセッションログ検索 | ~80 ms |
profile(user_id?) | 作業プロファイルの集計(トピック、エージェント、ドリフト傾向) | ~100 ms |
drift_check(prompt, project?) | アンカーを基準としたブラックボックスのドリフトスコア | <50 ms |
drift_history(since?, agent_id?) | 傾向監査用のドリフトスコア推移 | ~30 ms |
feedback_log(direction, reason) | 肯定/否定のアンカーシグナルを記録します | <20 ms |
レイテンシはローカルデーモンでの数値です。公開 HTTPS MCP エンドポイント (
https://compass.nautilus.social/mcp/)では、TLS と WAN の往復時間が加わります。 実測 p50 は 1 回の呼び出しあたり約 0.9~1.7 秒です(2026-08-28 のフィールドテスト)。
さらに、thread_recall · proof_of_impact · long_task · プラットフォームブリッジ
(submit_platform_task / ingest_platform_task_result)· ガバナンス
(governance_dispatch / governance_audit / governance_lock_check ·
governance_plan)· add_worker があります。stdio / TCP / TLS / mTLS 上の JSON-RPC 2.0 に対応し、
notifications/*、logging/setLevel、resources/* も仕様を完全に実装しています。
詳しいガイドは docs/mcp-usage.md をご覧ください。
トークンのスコープ(v2.3.1)
トークンにはスコープが設定されており、グローバルではありません。ops/compass_token_admin.py grant <agent> --scopes read:<project>,write:<project> を実行すると、最小権限のトークンが発行されます。
read:*(scope=user を含む全プロジェクトの検索)には、明示的な
--yes-i-want-star が必要です。HTTP サーバーは呼び出しごとにスコープを適用し、失敗時はアクセスを拒否します。
後方互換性のため、従来のリスト形式トークンはフルアクセスとして扱われます。
クイックスタートスクリプトは、デフォルトで読み取り専用かつ現在のプロジェクト限定のトークンに署名します。
比較
| 機能 | this | mem0 | Letta | Zep | claude-mem | MemOS | Smriti |
|---|---|---|---|---|---|---|---|
| エージェント間メモリ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | アーカイブのみ |
| MCP A2A プロトコルネイティブ対応 | ✅ TLS+mTLS+RBAC | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| ドリフト検出 | ✅ AUC 0.83 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Merkle 整合性監査ログ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| LongMemEval-S 検索(500問の直接比較) | ✅ 0.890 / 0.978 / 0.929 | 0.774 / 0.916 / 0.834(当方による再現) | n/r | n/r | n/r | ❌ | ❌ |
| LOCOMO-10 検索(n=1986) | ✅ 0.644 / 0.890 / 0.740 | 0.592 / 0.802 / 0.677(当方による再現) | n/r | n/r | n/r | n/r | n/r |
| 検証済み EverMemBench | ✅ 44.4-47.3% | 37.09 | n/r | 39.97 | n/r | 42.55 | ❌ |
| LongMemEval-S エンドツーエンド(各自のハーネス) | 500問すべてで75.4%、要約レイヤーあり(2026-09-04、全問を判定)— タイプ別(最終再判定 n=500):ssu 97.1 / ssa 83.9 / tr 62.4 / ms 69.2 / ku 80.8 / ssp 80.0;71件の障害を除外したクリーンな集計:96.9/85.4/83.3/73.2/79.5/75.0。事前登録済みの判定はPASS(リンク) | 94.4%(自己申告) | n/r | n/r | n/r | n/r | n/r |
2026年の新規プロジェクトで、当方が同一マシン上でまだ再現していないもの:Hindsight、Supermemory(LongMemEval SOTAを自己申告)、Cognee、LangMem、Membase — 各項目は未掲載です。公開されている数値は各自のハーネスを使っており、当方の直接比較プロトコルとは直接比較できません。 | セルフホストとホスト型の両方 | ✅ | ☁ のみ | ✅ | ☁ のみ | ✅ | OSS のみ | OSS のみ | | ライセンス | Mod. MIT | Apache | Apache | プロプライエタリ | MIT | Apache | MIT |
n/r = 公開されている評価結果に記載なし。Smriti はチームの会話アーカイブであり、対象範囲が異なります。網羅性のために掲載しています。
再現性の壁
スコアカードを自分で検証できます — 当方を信頼する必要はありません。コマンドひとつで実行でき、標準ライブラリのみを使用します。
python scripts/verify_receipt.py docs/wall/EXAM5_SCORECARD.md \
docs/wall/EXAM5_SCORECARD.sig \
f7554b8709b7fe36f5a63e7f76cf2a31f827aee5724ff8dd4f11772d1aa3e8be
プロトコル:Assay Protocol v0 — 基準の登録、検証パック、署名済みレシート、再現性の壁の運用規律。あらゆる実装者に開かれています。当方は参照実装であり、所有者ではありません。
Independent Verification Protocol(IVP)v1 — 当方の判定方法を1ページにまとめています:事前登録済みゲート(厳格化のみ)、エビデンスの段階([measured]/[inferred]/[unverifiable])、実装者以外による再計算、双方向のスコアカード(当方自身の誤りも記録に残します)。外部プロジェクトにも採用されています — 例:rsi-bench #3 では、独立して確認された目標達成を条件としてAGGスコアを評価しています。
→ SPEC(1ページ、取得して採用できます)
· Casebook v1(3件のエンゲージメントと正誤表)。判定は無料です。拘束力のある判定(ケースブック、認証)は有料です。
直接比較を自分で実行してください(約$3.50)— 数値は良くても悪くても壁に掲載されます。独立した再現結果は自己申告より優先されます。当方の数値と矛盾する結果も、同じ目立ち方で公開します。 → docs/REPRODUCIBILITY_WALL.md
当方自身の数値も壁に掲載しています(見栄えの悪いものも含む自己監査ログ): C-family キャリブレーションパックは独立再計算で6/6が一致(ed25519署名済みレシート、2026-09-17) · 以前の判定10/10は再計算不可(2026-09-15の監査結果、以降修正済み) · X1-v2 判定バッチは47/47が不整合のため無効化し、以後引用せず · RSI ループ #1:自己申告の「合格」2件を、マージ前の新規セッションでの再計算で検出 · 当方の認証トラックで初めて試験を受け、改善サイクルを完了(2026-09-18/19):1/5 → 3/5で一致 — 当方のエージェント組織が修正を提出し、同じ3ゲートプロトコルで判定。初回の後は不適切な提出がゼロで、見栄えの悪い数値もすべて掲載しています(署名済みスコアカードは docs/wall/ にあります)。無料で再計算を受けるには、エビデンスパックを添えてイシューを作成してください — 監査プランは$99からです。
ケーススタディ · 4つのダイアログをまたぐOSSマルチエージェントの信頼性
共有ファイルシステムプロトコル上で、4つのClaude Codeダイアログを28時間運用:
ドリフトが7日間で314回発火(対応率を計測)、契約
cnt_compass_soul_sub_a1 は6日21時間の予算に対し17.92時間で完了、計画重複の
監査13件で約40〜50時間を節約、ダイアログをまたぐ初のL4発火は50 NAUで決着しました。フィールドログ
と、一般化可能な7つのパターン:
docs/case_study_4dialog_compass.md。
上級者向け(オプトイン機能)
ドリフトループの閉鎖 · 対応率
発火したアラートにはすべて、.cache/drift_mitigation_log.jsonl に
安定した alert_id が付与されます。feedback.py log <alert_id> fp|tp で
確認を記録します。audit_kpi.py は
act_on_rate(window_hours) をレポートします(目標 ≥0.70、<0.30 は狼少年状態 → しきい値を上げるか
アンカーを再学習します)。
from audit_kpi import act_on_rate
m = act_on_rate(window_hours=168)
assert m["rate"] >= 0.70
v3のオプトインLLMスイッチ(すべてデフォルトでオフ、バイト単位で同一の保証)
オプトイン環境変数を設定しない場合、デーモンの動作はv2.0.1とバイト単位で同一です。すべてのPRで
tests/test_llm_opt_in.py によってゲートされています。
| 環境変数 | ティア | 機能 |
|---|---|---|
COMPASS_USE_LLM_RESOLVE | 1(セッション終了時) | LLMによる矛盾解決 |
COMPASS_USE_LLM_VERIFY | 4(実行時) | 捏造防止のための、出典引用または回答拒否 |
COMPASS_USE_LLM_DRIFT_PAY | 4(実行時) | ドリフトと結果アンカーのフィードバック |
COMPASS_USE_LLM_REFLECT | 3(定期実行) | 自己省察による意味的出力 |
COMPASS_USE_LLM_ECON | 4(実行時) | メモリを経済として扱うNAU予算 |
決定論的なv3機能(常時オン):型付きナレッジグラフレイヤー(構築されるまではNO-OP)、信頼度スコアリングと矛盾フック、MEMORY_REPORT.md
の自動生成、implementation_notes フロントマター。レジストリ:llm_opt_in.py。
プラットフォーム統合 · BP1/BP3 + V7ガバナンス
新しいHTTPサーバーを追加せずに、OSSとプラットフォームを連携:
submit_platform_task(compass → プラットフォームキュー。ファイルベース、または
COMPASS_PLATFORM_QUEUE_URL 設定時はHTTP) · ingest_platform_task_result
(プラットフォーム → compass。recall で検索可能)。往復デモ:
python examples/platform_flywheel_demo.py。
V7ガバナンス(複数の実行エージェントをデプロイする場合):governance_dispatch
(1つのタスクを分解 → ルーティングされたN個のサブタスク) · governance_audit(偽の完了処理/
ドリフトの急増をスキャン) · governance_lock_check(L0コアをSHA256でロック)。
デモ:python examples/v7_governance_demo.py。契約の詳細:
docs/PLATFORM_HANDSHAKE.md。
リリース履歴 · v3.0.0 / v2.1.0 / v2.0.0
v3.0.0 · 「メモリライブラリから進化エンジンへ」 — 同じシステムでループを閉じます: メモリが 抽出して燃料にする → 外部判定 → 蒸留 のサイクルに流れ込みます。意味検索からの復元(Windowsのtorchにおける長いパスの修正)、GOAL-SSOT 台帳と毎時のハートビート、クラウド容量の根本原因修正(負荷10〜14 → 1.x)、デーモンのpklアトミック処理とプロジェクトごとのロック、ペア比較による証拠 (部族知識の取得が0/3 → 3/3)、統合HUD、30秒のクイックスタート。
v2.1.0 · ドリフトv2 + 行の照合 — 狼少年状態の修正(ルールヒット OR drift_score < −0.07 によって発火率を 64.5% → 0.5%に低減)、エージェント間契約スキャナー(L4基盤)、L3ティア昇格 とPoI、デーモンの強化(上限付きプール、処理中セマフォ、オプトインのBM25+ベクトルRRF)。
v2.0.0 · 独自の判断を備えたEvoMap — ブラックボックス基盤上の決定論的なライフサイクルレイヤー。取り込み/ティア昇格/忘却にLLMを使用しません。GBrain/OpenVikingのベンダー取り込みはありません。閉じたヘイスタックにはグラフ再ランキングを適用しません(v0.8でコストが−6.2ポイント — paper/RESULTS_v0.8.md)。
全変更履歴:CHANGELOG.md · リリース:
v3.0.0
ドキュメント
docs/AGENT_ONBOARDING.md— エージェントごとのインストール設定(6 プラットフォーム+3 フレームワーク)docs/mcp-usage.md— MCP プロトコルの詳細ガイド、TLS 設定、RBACdocs/PLATFORM_HANDSHAKE.md— OSS↔SaaS 連携契約docs/evidence/— ベンチマークの生データファイル(JSON、質問ごとの行)paper/— 2 本の論文(ドリフト検出+メモリパイプライン)と評価スクリプトops/GPU_EVAL_RECIPE_4090.md— GPU をレンタルして行う 12 分間のベンチマーク手順CHANGELOG.md·CONTRIBUTING.md
引用
論文 1 · ドリフト検出:
@misc{nautiluscompass-drift-2026,
title = {Nautilus Compass: Black-box Persona Drift Detection
for Production LLM Agents},
author = {Chunxiao Wang},
year = {2026},
note = {Yiluo Technology Co., Ltd.},
howpublished = {\url{https://github.com/chunxiaoxx/nautilus-compass}}
}
論文 2 · メモリパイプライン+EverMemBench クロスベンチ:
@misc{nautiluscompass-memrecall-2026,
title = {Closing the Memory Recall Gap with Chinese LLMs:
A Multi-Stage Retrieval Pipeline Achieving Zep-SOTA Performance
on LongMemEval-S at 1/15 Cost},
author = {Chunxiao Wang},
year = {2026},
note = {Yiluo Technology Co., Ltd.},
howpublished = {\url{https://github.com/chunxiaoxx/nautilus-compass}}
}
基盤としている先行研究(適宜引用してください):BGE-m3 / BGE-Reranker (BAAI 2024) · Persona Vectors(Anthropic、arXiv:2507.21509、 相補的なホワイトボックス手法) · DPT-Agent(arXiv:2502.11882) · A-MEM(arXiv:2502.12110) · LongMemEval(Wu et al.、NeurIPS 2024) · EverMemBench(Hu et al.、2026)。
ライセンス
- コード、プラグイン、MCP ラッパー、論文、スクリプト — Modified MIT License(MIT+商標条項+ホステッドサービスの上限。セルフホスト/社内展開/個人利用は永久に無料です —
LICENSE) - 行動アンカーファイル(
anchors*.json)— CC0 1.0 Universal(LICENSE-ANCHORS) - このライセンスの導入以前の過去のリリースは、純粋な MIT ライセンスでした。
Star の推移
コントリビューター
PR を歓迎します。CONTRIBUTING.mdをご覧ください。
お問い合わせ
- 著者:Chunxiao Wang · Yiluo Technology Co., Ltd. ·
[email protected] - 課題:github.com/chunxiaoxx/nautilus-compass/issues
- ホステッドゲートウェイ:compass.nautilus.social
- 中国語ドキュメント:README.zh-CN.md
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。