mcpField
C
cognos-session-memory

cognos-session-memory

ローカル
github.com/base76-research-labメモリ・ナレッジ134 週間前に更新

cognos-session-memory について

cognos-session-memoryは、セッション間でコンテキストを保存・取得するMCPサーバーです。作業の継続性が必要なLLMワークフロー向けに、認識論的な信頼度の式で内容を評価し、スコアが低い場合は手動確認に回せます。

主な機能

  1. 01認識論的な信頼度の式で評価
  2. 02直近のトレースからコンテキストを抽出
  3. 03しきい値に応じて注入または確認用に通知
  4. 04SQLiteへのセッショントレース保存
  5. 05auto、force、dry_runモードに対応

活用シーン

  1. 01新しいセッションで検証済みのプロジェクト情報を復元
  2. 02保存したセッション要約を評価
  3. 03信頼度の低いコンテキストを確認
  4. 04コンテキスト注入とトレースIDを監査

MCP 対応

MCPサーバーとして、`save_session`と`load_session`ツールにより、セッション要約の評価、保存、取得を提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"base76-research-lab-cognos-session-memory": {
"command": "uvx",
"args": [
"cognos-session-memory-mcp"
],
"env": {
"COGNOS_TRACE_DB": "<COGNOS_TRACE_DB>"
}
}
}
}
起動コマンドuvx cognos-session-memory-mcp
設定が必要な環境変数
COGNOS_TRACE_DBPath to SQLite trace database (default: data/traces.sqlite3)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypicognos-session-memory-mcp0.1.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

CognOS セッションメモリ

mcp-name: io.github.base76-research-lab/cognos-session-memory

LLM 向けの認識論的信頼度スコアリングによる、検証済みコンテキストの注入。

会話間で検証済みの高信頼度なセッションコンテキストを維持し、セッションの分断を解消します。

問題

大規模言語モデルはセッションの分断に悩まされています。新しい会話は毎回、以前の作業について検証済みのコンテキストがない状態で始まります。そのため、同じ説明を繰り返すことになり、意思決定の履歴が失われ、長期にわたるワークフローが中断されます。

既存のソリューション(永続メモリシステム、ベクトル検索)には、次のような問題があります。

  • 注入前の信頼度スコアがない → 幻覚が広がる
  • どのコンテキストが注入されたか監査できない → コンプライアンス上の抜けが生じる
  • 過去の情報をすべて同等に扱う → ノイズがシグナルを圧倒する

ソリューション

プランモードのゲートウェイで、次の処理を行います。

  1. 直近のトレース 3~5 件から構造化コンテキストを抽出します
  2. CognOS の認識論的公式でコンテキストの品質をスコアリングします:C = p · (1 − Ue − Ua)
  3. C > threshold の場合のみ、システムプロンプトとして注入します
  4. C < threshold の場合は、手動レビュー用にフラグを設定します
  5. トレース ID を用いてコンテキストの注入をすべて監査します → EU AI Act への準拠

アーキテクチャ

recent_traces (n=5)
    ↓
extract_context() → ContextField + coverage
    ↓
compute_trust_score(p, ue, ua) → C, R, decision
    ↓
if C > threshold:
    system_prompt ← inject
else:
    flagged_reason ← manual review
中核となる公式
C = p · (1 − Ue − Ua)
R = 1 − C

where:
  p   = prediction confidence (coverage of required fields)
  Ue  = epistemic uncertainty (divergence between traces)
  Ua  = aleatoric uncertainty (mean risk in traces)
アクションゲート
R < 0.25       → PASS      (inject without review)
0.25 ≤ R < 0.60 → REFINE   (inject with caution)
R ≥ 0.60       → ESCALATE  (flag for manual review)

API

POST /v1/plan

コンテキストを抽出してスコアリングします。

リクエスト:

{
  "n": 5,
  "trust_threshold": 0.75,
  "mode": "auto"
}

レスポンス(注入された場合):

{
  "status": "injected",
  "trust_score": 0.82,
  "confidence": 0.82,
  "risk": 0.18,
  "decision": "PASS",
  "context": {
    "active_project": "CognOS mHC research",
    "last_decision": "Verify P1 hypothesis",
    "open_questions": ["How does routing entropy scale?"],
    "current_output": "exp_008 complete",
    "recent_models": ["gpt-4", "claude-3", "mistral"]
  },
  "system_prompt": "## CognOS Context...",
  "trace_ids": ["uuid-1", "uuid-2", ...]
}

レスポンス(フラグが設定された場合):

{
  "status": "flagged",
  "trust_score": 0.45,
  "decision": "REFINE",
  "flagged_reason": "Trust score 0.45 below threshold 0.75. Manual review recommended.",
  "trace_ids": [...]
}

モード

  • auto(デフォルト)— trust_score ≥ threshold の場合は注入し、それ以外の場合はフラグを設定します
  • force — 常に注入します(テスト用)
  • dry_run — スコアを計算しますが、注入はしません

Claude Code との連携

/compact の代替として
# In any Claude Code session:
/save

Claude が構造化された要約を作成し、信頼度をスコアリングして、SQLite に保存します。 次のセッションでは、最初のプロンプトの前に SESSION_CONTEXT として自動的に注入されます。

詳しい比較については、docs/COMPACT_ALTERNATIVE.md をご覧ください。

MCP サーバーとして

~/.claude/settings.json に追加します。

{
  "mcpServers": {
    "cognos-session-memory": {
      "command": "python3",
      "args": ["/path/to/cognos-session-memory/mcp_server.py"]
    }
  }
}

公開されるツール:

ツール説明
save_session(summary, project?)セッションの要約を信頼度スコアリングして保存します
load_session(threshold?)最後に検証されたコンテキストを取得します(デフォルトのしきい値:0.45)

クイックスタート

インストール
git clone https://github.com/base76-research-lab/cognos-session-memory
cd cognos-session-memory
pip install -e .
ゲートウェイの起動
python3 -m uvicorn --app-dir src main:app --port 8788
/v1/plan のテスト(dry_run)
curl -X POST http://127.0.0.1:8788/v1/plan \
  -H 'Content-Type: application/json' \
  -d '{"n": 5, "mode": "dry_run"}'
/v1/plan のテスト(auto)
curl -X POST http://127.0.0.1:8788/v1/plan \
  -H 'Content-Type: application/json' \
  -d '{"n": 5, "trust_threshold": 0.75, "mode": "auto"}'

モジュール

  • trust.py — CognOS の信頼度公式、アクションゲート、シグナル抽出器
  • trace_store.py — SQLite による永続化(書き込み/読み取り/消去)
  • plan.py — コンテキスト抽出、信頼度スコアリング、システムプロンプトの構築
  • main.py — FastAPI ゲートウェイとミドルウェア
  • mcp_server.py — MCP stdio サーバー(save_session、load_session)

テスト

pytest tests/ -v --cov=src

ドキュメント

研究論文

docs/PAPER.md をご覧ください — 「検証済みコンテキストの注入:大規模言語モデル向けの認識論的スコアリングによるセッションメモリ」

ステータス: 独立研究 — Base76 Research Lab、2026 年 著者: Björn André Wikström(Base76)

引用

@software{wikstrom2026cognos,
  author = {Wikström, Björn André},
  title = {{CognOS Session Memory}: Verified Context Injection via Epistemic Trust Scoring},
  year = {2026},
  url = {https://github.com/base76-research-lab/cognos-session-memory}
}

ライセンス

MIT

お問い合わせ

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。