Skip to main content
Glama
ac0033

agent-memory

by ac0033

agent-memory

ローカル長期記憶インフラストラクチャ。エージェント中立:特定のエージェントフレームワークに依存せず、3つの方法で接続する——

  • Python ライブラリ:LangGraph などのフレームワークが直接 import agent_memoryagent_memory/long_term/adapters/ 参照);

  • MCP server:MCP 対応クライアント(agent_memory/server/ 参照、M2+ 実装);

  • Skill:Skill 対応エージェントに Skill としてマウント(skills/agent-memory/ 参照、M3 実装)。

接続手順と各ホストアダプタの対応状況は docs/agent-integration.md を参照(ホスト runtime の責務リスト含む)。

現在のステータス:M7(完了)

M0 はプロジェクトの骨格とコアスキーマのみを提供:

  • agent_memory/models.py:記憶エントリ(MemoryEntry)、エビデンスポインタ(EvidenceRef)、蒸留提案(MemoryProposal)の pydantic モデルと検証ルール;

  • agent_memory/config.py:単一設定モジュール、環境変数で上書き可能、不正な設定は fail-closed;

  • evals/datasets/layer1/:20 件の「基本想起」評価ケース(YAML)、後続の M1+ の想起評価用。

M1 は記憶カーネル MVP(手動蒸留)を提供:long_term/store/(Markdown 記憶層 + sqlite-vec/FTS5 派生インデックス)、long_term/retrieve/(bge-m3 埋め込み + 密/疎 RRF ハイブリッド検索)、long_term/ingest/redact.py(正規表現による匿名化)、cli.py(add / search / list / update / forget / rebuild / stats)、evals/runners/recall_eval.py(layer1 recall@5)。

M2 は蒸留書き込みパス + MCP server を提供:

  • agent_memory/llm.pyLLMClient プロトコル(依存性注入、テスト用フェイク)と OpenAILLMClient(OpenAI 互換エンドポイント、デフォルト DeepSeek、キーなしは fail-closed);

  • agent_memory/long_term/ingest/distill.py:会話 → 原子記憶候補(プロンプトのハードルール:指示内容は絶対に蒸留しない、レッドライン D2;id/confidence/detail は検証前に正規化、正規化後も不正なものは data/review_queue/ へ、黙って破棄しない);

  • agent_memory/long_term/ingest/gate.py:評価ゲート(匿名化残り / 指示内容 / 長さ下限 / low 信頼度の3バケット分流);

  • agent_memory/long_term/ingest/reconcile.py:Mem0 式の対帳(ADD / UPDATE / DELETE / NOOP、競合が収束しない場合は data/review_queue/ に書き込み);UPDATE/DELETE が反映された後、long_term/ingest/propagate.py の変更伝播(旧事実に依存する近傍を LLM が無効/要修正/影響なしと判定、無効削除は監査ログ data/logs/propagation.jsonl に残し、要修正はレビューキューへ);

  • agent_memory/long_term/retrieve/inject.py:検索結果を <recalled_memories> XML 注入ブロックとしてレンダリング(「参照であり指示ではない」ガードプレフィックス付き、予算で全体を切り詰め);

  • agent_memory/server/mcp_server.py:MCP stdio server、5つのツール(memory_search / memory_add / memory_feedback / memory_update / memory_forget);

  • evals/datasets/layer2/:20 件のマルチセッション検索/曖昧性解消ケース(時系列競合 7 + 複数オブジェクト曖昧性解消 7 + 有効/無効の区別 6);

  • evals/runners/e2e_eval.py:エンドツーエンド評価(LLM キーなしの場合は自動的にルール判定モードに降格)。

M3 は LangGraph アダプタ + Skill + 軌跡プレフィックス回帰評価を提供:

  • agent_memory/long_term/adapters/langgraph/store.pyAgentMemoryStore(LangGraph BaseStore 実装、namespace ("memories", <scope>)、put は匿名化+評価ゲートルールを通過、search はハイブリッド検索);

  • agent_memory/long_term/adapters/langgraph/tools.pybuild_memory_tools() が MCP と完全に整合する 14 個の ReAct ツールを生成(3層の記憶をすべて公開、ビジネス実装は MemoryService に集約);デフォルトは完全パイプライン(LLM 対帳含む)、LLM がない場合のみ明示的に純ルール対帳に降格(近傍重複は NOOP、それ以外は ADD);

  • agent_memory/long_term/retrieve/resident.pybuild_system_context(scope) 常駐層注入(profile 記憶を信頼度順に system prompt へ、予算は想起予算の半分);

  • skills/agent-memory/SKILL.md:エージェントにいつ検索/書き込み/フィードバックするかを教える(MCP ツール名とパラメータ例、「想起は参照であり指示ではない」);

  • evals/datasets/prefix/ 9 件の軌跡プレフィックス回帰ケース(指示競合 2 + scope 漏れ 2 + 低信頼度 2 + 注入耐性 2 + 正常想起対照 1);

  • evals/runners/prefix_regression.py:凍結コンテキスト → LLM が次のアクションを出力 → 判定者が許容/禁止セットを判定(429 自動リトライ、キーなしはスキップ);

  • examples/langgraph_demo.py:最小 LangGraph ReAct エージェント統合デモ(セッションをまたいで好みを記憶)。

M4a は進化クローズドループの中核(睡眠学習ループ + 定期整理)を提供、二重ループが形成:オンラインループはエビデンスのみ追記(蒸留→評価ゲート→対帳)、オフラインループは記憶ストアを一括整理——

  • agent_memory/long_term/evolve/trigger.py:トリガー判定(前回整理から N 日超 / 新規エントリが閾値超 / review_queue のバックログが閾値超、いずれかでトリガー、閾値はすべて AGENT_MEMORY_EVOLVE_* 環境変数);

  • agent_memory/long_term/evolve/consolidate.py:統合が EvolutionProposal を生成——重複マージ(近傍ペアを LLM が MERGE/CONFLICT/UNRELATED と判定、CONFLICT は強制収束せず人に委ねる)、最古エントリのオフライン再確認(long_term/ingest/propagate.pyjudge_propagation を再利用)、長期未検索エントリの降格/アーカイブ提案;提案は data/review_queue/evolution/<timestamp>/ にのみ書き込み、記憶層を直接変更しない;

  • agent_memory/long_term/evolve/verify.py:3段階検証(boundary 契約チェック / retention ベースライン query top-5 diff / safety 安全記憶保護)、いずれかが不合格なら全体を却下;

  • agent_memory/long_term/evolve/apply.py:昇格前スナップショット(data/snapshots/<timestamp>/)、適用後監査(data/logs/evolution_audit.jsonl)、rollback(snapshot_id) ロールバック;

  • agent_memory/long_term/evolve/cycle.py:5ステップオーケストレーション(トリガー → ターゲット → 統合 → 検証 → プルーニング);

  • models.pyMemoryEntryretrieval_count フィールドを追加(ハイブリッド検索ヒットで +1、書き込みパスの近傍検索はカウントしない)。

M4b は layer3 評価セット + 進化メトリクス + 実受入を提供:

  • evals/datasets/layer3/:12 件のクロスセッション隠れ関連ケース(書籍の第3層「プロアクティブサービス」のプログラミングシナリオ改変: 事実と計画が異なるセッションにあり、正解するには両者の隠れた競合を能動的に提示する必要がある;各ケースに profile 常駐層記憶

    • 検索層詳細記憶を含み、rubric.essential に「隠れた関連を能動的に提示」項目を必ず含む);

  • evals/runners/metrics.py:ペア統計(McNemar 正確検定 + ペアブートストラップ利得区間、 純関数で scipy 依存なし、サンプル < 20 は「強い結論には不十分」と明示);

  • evals/runners/e2e_eval.py--baseline を追加:同じケース群を空ストアでペア再実行、問題ごとの勝敗、 p 値、ホールドアウト利得区間を出力;さらに3つの進化メトリクスを埋め込む——活性化率(書き込んだ記憶が想起された割合)、 遵守率(判定者が判定根拠を想起記憶から確認したケースの割合)、ホールドアウト利得(記憶あり - baseline スコア差);

  • 実受入数値:layer3 記憶あり 91.67% vs baseline 0%(McNemar p=0.0010、n=12 は方向性の参考のみ); 回帰 layer1 100% / layer2 100% / prefix 88.89%;evolve クローズドループ実デモ(boundary 却下1回と merge 昇格 + ロールバック1回を含む)で consolidate の欠陥2件を露呈、AGENTS.md の未解決問題を参照。

M5 は人間によるレビュー対話ノード + 強制更新フックを提供:

  • config.pyreview_gate(off / ask / strict、デフォルト ask:レビューキューにバックログがある場合の memory_search の 処置段階)と review_turn_interval(デフォルト 3、フックのターン間隔)を追加、環境変数 AGENT_MEMORY_REVIEW_GATE / AGENT_MEMORY_REVIEW_TURN_INTERVAL で上書き;

  • MCP ツールが5つから7つに拡張——新規 memory_review_list(保留詳細)と memory_review_resolve(approve そのまま格納 / modify テキストを匿名化+評価ゲート通過後に格納 / discard 破棄); memory_search にレビューゲートを追加(ask 段階は blocked でユーザー確認後に通過、strict 段階は一律拒読、off はブロックしない); memory_addpending_review 保留レビュー詳細を返す;

  • 蒸留プロンプトに「ユーザー確認資格」ハードルールを追加:assistant が一方的に提案し、ユーザーが明確に確認していない提案/計画/結論は沈殿させない;

  • scripts/memory_turn_hook.py:kimi-code Stop フック、セッションごとにターンをカウントし、N ターンごとにセッション終了をインターセプトして 蒸留指示を注入(材料 = 各ターンのユーザーメッセージ + 隣接する assistant 返信)、ユーザーレベル ~/.kimi-code/config.toml に登録済み。

M6 は HTTP 常駐サービス + スコープ規律を提供:

  • agent_memory/server/http_server.py:streamable-http 常駐サービス、デフォルトで 127.0.0.1:8765 のみにバインド (ループバックアドレスは自然に認証不要)、MCP エンドポイントに /SKILL.md(プロンプト層全文配布)と /bootstrap (新エージェント統合ブートストラップ指示)の2つの静的ルートを追加;相手エージェントはブートストラップ指示1つで統合可能、ファイルコピー不要;

  • スコープ規律(共通ライブラリ、マルチエージェント・マルチプロジェクト混在):SKILL.md にスコープ選択ルールを追加(共通は global、 プロジェクトは repo:<名>、不明ならまずユーザーに確認)、memory_add のスコープはデフォルトで global にフォールバックするが、返り値に scope_reminder リマインダーを添付;

  • Windows 常駐運用:scripts/start_http_server.cmd 起動ラッパースクリプト(クラッシュ時自動リトライ最大3回、 3連敗で data/state/http_server_FAILED.txt 失敗マーカーを書き、ログは data/logs/http_server.log

    • ログイントリガー計画タスク(登録スクリプト scripts/register_task_s4u.ps1、管理者権限が必要)。

M7 は3層記憶(長期 / 作業 / 短期)+ 統一インターフェースを提供:

  • パッケージ構造移行:元の store/ retrieve/ ingest/ evolve/ adapters/ 5つのサブパッケージをすべて agent_memory/long_term/ に移行(ロジック変更ゼロ)、新規 working/short_term/

  • agent_memory/working/:作業記憶(操作層、現在のタスク状態——目標/ToDo/決定/変数/メモ、 スコープごとに1つ、data/working/ に保存)。書き込みは全置換、匿名化のみで評価ゲートなし; turn_watermark 水位と stale_wm で状態が遅れているか判定;

  • agent_memory/short_term/:短期記憶 transcript アダプタ層、エージェントのネイティブログ (例:kimi-code の wire.jsonl)をクリーンなターンシーケンスに解析、新規ファイルは作成しない;

  • MCP ツールが7つから13個に拡張:新規 memory_wm_read / memory_wm_write / memory_wm_clear (作業記憶の読み書きクリア)、memory_context(常駐プロファイル + 作業記憶 + 想起を一度に組み立て)、 memory_transcript_read(ターン読み取り、since_turn 増分)、memory_session_end (セッション終了処理:data/raw アーカイブ + 共同蒸留 + 完了済み ToDo のクリーンアップ、保留 ToDo は veto)。

Related MCP server: mnemo

ディレクトリ構造

agent-memory/
├── agent_memory/     # Python 包(扁平布局,import 名 agent_memory)
│   ├── config.py         # 配置(AGENT_MEMORY_* 环境变量覆盖)
│   ├── models.py         # 记忆条目 schema(M0 核心)
│   ├── long_term/        # 长期记忆:store / ingest / retrieve / evolve / adapters(M1-M4,M7 迁入)
│   ├── working/          # 工作记忆:当前任务状态,操作层(M7a)
│   ├── short_term/       # 短期记忆:transcript 适配层(M7b)
│   └── server/           # MCP server:stdio(M2)+ HTTP 常驻(M6)
├── skills/agent-memory/  # Skill 接入方式(M3)
├── scripts/              # 运维脚本:turn hook(M5)、HTTP 服务启动/计划任务注册(M6)
├── evals/                # 评估集:datasets / rubrics / runners(agent 禁改,D6)
├── tests/
└── data/                 # 运行时数据(gitignored):raw / memory / working / review_queue / snapshots / state / logs

クイックスタート

uv sync          # 创建虚拟环境并安装依赖
uv run pytest    # 跑测试
uv run ruff check .

M2 の使い方

LLM の設定(蒸留 / 対帳 / LLM 判定用)

蒸留書き込みパスには OpenAI 互換エンドポイントが必要、デフォルトは DeepSeek(https://api.deepseek.com、モデル deepseek-chat):

export AGENT_MEMORY_LLM_API_KEY=sk-...
# 可选覆盖:AGENT_MEMORY_LLM_BASE_URL / AGENT_MEMORY_LLM_MODEL
# 评估评委可单独配置(异源互审):AGENT_MEMORY_JUDGE_LLM_API_KEY 等

キー未設定の場合、検索、手動書き込み、フィードバック、削除など LLM に依存しない機能は通常通り利用可能; 会話蒸留パスのみ呼び出し時にエラー(fail-closed)。

CLI 蒸留コマンド

会話([{role, content}, ...] の JSON ファイル)を完全な書き込みパイプラインでストアに格納:

uv run agent-memory distill --file conversation.json --scope repo:my-project \
    --source kimi-code --session-id 2026-08-19-session
# 管线:蒸馏 → 评价门 → 对账;无法自动收敛的冲突会写入 data/review_queue/

MCP server

起動:uv run python -m agent_memory.server.mcp_server(stdio)。

Claude Code / Kimi Code の MCP 設定スニペット:

{
  "mcpServers": {
    "agent-memory": {
      "command": "uv",
      "args": ["run", "python", "-m", "agent_memory.server.mcp_server"],
      "env": {
        "AGENT_MEMORY_DATA_DIR": "C:/Users/<you>/.agent-memory/data",
        "AGENT_MEMORY_LLM_API_KEY": "sk-...",
        "AGENT_MEMORY_LLM_BASE_URL": "https://api.deepseek.com",
        "AGENT_MEMORY_LLM_MODEL": "deepseek-chat"
      }
    }
  }
}

5つのツールから開始(M5 から7つ、M7 から13個に拡張、下記 M5 / M7 の使い方を参照):memory_search(ハイブリッド検索 + XML 注入ブロック、scope フィルタはサーバー側で強制)、 memory_add(会話 JSON は蒸留パイプライン / 単一 content は匿名化+対帳)、 memory_feedback(信頼度を上げ下げ、low 未満はレビューキューへ)、 memory_update(匿名化+評価ゲート通過後に更新)、memory_forget(削除)。

エンドツーエンド評価

uv run python evals/runners/e2e_eval.py --layers 1,2            # 无 key 时自动规则降级模式
uv run python evals/runners/e2e_eval.py --layers 1,2 --llm-judge # 真实 LLM 评委按 rubric 判定
uv run python evals/runners/e2e_eval.py --layers 3 --llm-judge --jobs 8   # layer3 跨会话隐藏关联
uv run python evals/runners/e2e_eval.py --layers 3 --llm-judge --jobs 8 --baseline
    # --baseline:同一批用例在空库下配对重跑,输出逐题胜负 / McNemar p 值 /
    # 配对 bootstrap 留出增益区间,以及激活率 / 遵循率 / 留出增益三个进化指标
uv run python evals/runners/e2e_eval.py --layers 2 --llm-judge --jobs 8   # 调高用例并发
uv run python evals/runners/e2e_eval.py --layers 2 --llm-judge --no-cache # 禁用响应缓存

高速化メカニズム(実モードはデフォルト有効):

  • LLM レスポンスディスクキャッシュ:蒸留 / 対帳 / 判定の各レスポンスを sha256(model + system + user) で data/logs/llm_cache/ にキャッシュ(gitignored)。再実行時、変更されていない部分は直接キャッシュヒット、 秒単位で完了;モデル変更で自動的にミス。--no-cache で無効化。

  • ケースレベル並行--jobs N(デフォルト 4)でスレッドプールを使いケースを並行実行、各ケースは独立した一時ディレクトリ、 429 レート制限は自動指数バックオフリトライ。

  • モデルロード:bge-m3 はプロセスごとに1回ロード(約1〜2分)。複数レイヤーを実行する場合は --layers 1,2 で一度に実行、2つのプロセスに分けて各レイヤーを実行しない。

ルール降格モードは実際の蒸留品質を表すものではないため、正式な受入には実際の LLM を設定して再実行が必要。

M3 の使い方

LangGraph 統合

自作の LangGraph エージェントには3つの接続方法があり、重ねて使用可能:

from agent_memory.long_term.adapters.langgraph.store import AgentMemoryStore
from agent_memory.long_term.adapters.langgraph.tools import build_memory_tools
from agent_memory.long_term.retrieve.resident import build_system_context
from langgraph.prebuilt import create_react_agent

# 1) BaseStore:namespace 约定 ("memories", <scope>),put/search/delete 直接映射到记忆内核
store = AgentMemoryStore()          # 配置走 AGENT_MEMORY_* 环境变量
store.put(("memories", "repo:myproj"), "db-choice",
          {"content": "本项目数据库定为 SQLite,文件 data/app.db。", "confidence": "high"})

# 2) ReAct tool:recall_memories / save_memory 挂进 tools 列表
tools = build_memory_tools()

# 3) 常驻层:profile 类记忆渲染进 system prompt(预算是召回预算的一半)
prompt = "你是用户的编程助手……\n\n" + build_system_context("repo:myproj")

agent = create_react_agent(model, tools, prompt=prompt, store=store)

完全な実行可能な例は examples/langgraph_demo.pyuv run python examples/langgraph_demo.pyAGENT_MEMORY_LLM_API_KEY が必要)。

BaseStore の put は低レベル同期インターフェース:呼び出し側は精製済みの原子コンテンツを提供する必要があり、アダプタ層は 匿名化+評価ゲートルールを通過(指示内容は直接エラーを投げる)が、LLM 蒸留は行わない;save_memory ツールの 対帳は LLM なしの純ルールパス(近傍重複は NOOP、それ以外は ADD)、競合収束は M2 蒸留パイプラインを経由。

Skill 統合

skills/agent-memory/SKILL.md はプロンプト層で、ラップされたエージェント(Kimi Code / Claude Code)に いつ検索、書き込み、フィードバックするかを教える。インストール方法(MCP server と併用):

  • Kimi Code:skills/agent-memory/~/.kimi-code/skills/agent-memory/ にコピーまたはシンボリックリンク;

  • Claude Code:~/.claude/skills/agent-memory/ にコピー;

  • 同時に上記 MCP 設定で agent-memory server をマウントし、Skill 内のツール名(memory_search など)に実装を持たせる。

軌跡プレフィックス回帰評価

凍結コンテキスト(system + 注入済み記憶ブロック + ユーザー最新メッセージ)→ LLM が次のアクションを出力 → 判定者が 許容セットに含まれ、禁止セットに触れていないかを判定。4つの境界シナリオ(指示競合 / scope 漏れ / 低信頼度 / 注入耐性)+ 正常想起対照をカバー:

uv run python evals/runners/prefix_regression.py             # 需 LLM key,无 key 整体跳过
uv run python evals/runners/prefix_regression.py --seeds 3   # 多种子报均值与区间
uv run python evals/runners/prefix_regression.py --no-cache  # 禁用 LLM 响应缓存(默认开)

429 レート制限は自動間隔リトライ;LLM レスポンスディスクキャッシュは e2e_eval と data/logs/llm_cache/ を共有。この評価にはルール降格モードはない(アクターの動作自体が被験対象)。

M4 の使い方

睡眠学習ループ(evolve)

# dry-run:只到提案为止,打印提案摘要,不验证、不应用
uv run agent-memory evolve --dry-run

# 完整循环:触发 → 整合 → 三档验证 → 通过则晋升(自动快照 + 审计)
uv run agent-memory evolve

# 只整理某个 scope
uv run agent-memory evolve --scope repo:my-repo

トリガー条件(いずれか、閾値は AGENT_MEMORY_EVOLVE_* 環境変数で上書き):前回整理から7日超(EVOLVE_INTERVAL_DAYS)、新規エントリ50超(EVOLVE_NEW_ENTRIES_THRESHOLD)、レビューキューバックログ10超(EVOLVE_REVIEW_BACKLOG_THRESHOLD)。

整理が生成するのは提案data/review_queue/evolution/<timestamp>/proposal.yaml)であり、直接書き換えではない:3段階検証(boundary / retention / safety)のいずれかが不合格なら却下、提案はアーカイブして人に委ねる;すべて合格して初めて昇格——昇格前に記憶層のスナップショット(data/snapshots/<timestamp>/)、昇格後に監査ログ(data/logs/evolution_audit.jsonl)を書き込む。ロールバックは agent_memory.long_term.evolve.apply.rollback(snapshot_id, settings, embedder) でスナップショットから記憶層を復元しインデックスを再構築。

M5 の使い方

人間によるレビュー(レビューキューの2つの対話ノード)

蒸留の不正出力、評価ゲートの低信頼度、対帳が収束しない競合はすべて data/review_queue/ に入り、人間の裁定を待つ。 レビューは2つの MCP ツールで完了:

  • memory_review_list:保留詳細を一覧表示(ソース、理由、内容);

  • memory_review_resolve:裁定——approve そのまま格納 / modify テキストを匿名化+評価ゲート通過後に格納 / discard 破棄。裁定成功でキューファイルを削除;raw_record タイプの保留は直接格納不可。

レビューゲート(AGENT_MEMORY_REVIEW_GATE、デフォルト ask):キューにバックログがある場合の memory_search の動作—— askstatus=blocked を返しユーザー確認を待つ(acknowledge_pending=true で通過)、strict は一律拒読 (無人運用シナリオ)、off はブロックしない。memory_add の返り値には pending_review 詳細が含まれ、 エージェントは各項目をユーザーに報告し裁定を求めるべき(SKILL.md に対応フローあり)。

強制記憶更新フック

scripts/memory_turn_hook.py は kimi-code の Stop フック:セッションごとにターンをカウントし、 AGENT_MEMORY_REVIEW_TURN_INTERVAL(デフォルト 3)ターンごとにセッション終了をインターセプトし、蒸留指示を注入 (材料 = 各ターンのユーザーメッセージ + 隣接する assistant 返信)。ユーザーレベル ~/.kimi-code/config.toml に登録済みで、すべてのプロジェクトセッションに有効;他のホストはスクリプトを参照して自分でフックを接続可能。

M6 の使い方

HTTP 常駐サービス

stdio モードはホストが server を子プロセスとして起動し、セッションとともに生滅;HTTP モードは長期実行のローカルサービスで、 HTTP リクエストを送信できる任意のエージェントホストが URL を登録するだけで13個すべてのツールを取得:

uv run python -m agent_memory.server.http_server
# 默认监听 http://127.0.0.1:8765/mcp(只绑回环地址,天然免鉴权)
# 覆盖:AGENT_MEMORY_HTTP_HOST / AGENT_MEMORY_HTTP_PORT

サービスには他に2つの静的ルートがある:/SKILL.md(プロンプト層全文)と /bootstrap(統合ブートストラップ指示)。 新エージェントの統合は /bootstrap の内容を与えるだけ:http://127.0.0.1:8765/mcp を登録 (トランスポートタイプ streamable-http)+ /SKILL.md を読んで従う、ファイルコピーは不要。

Windows 常駐(計画タスク)

scripts/start_http_server.cmd は起動ラッパースクリプト:異常終了時60秒待って再起動、最大3回; 3連敗で data/state/http_server_FAILED.txt 失敗マーカーを書き、ログは data/logs/http_server.logscripts/register_task_s4u.ps1 はログイントリガー計画タスクを登録 (S4U バックグラウンドモード、完全にウィンドウなし)、管理者権限が必要。両スクリプトは純 ASCII を維持する必要がある (cmd.exe は .cmd を GBK で読み、PowerShell 5.1 は BOM なし .ps1 を ANSI で読む、非 ASCII は解析を壊す)。

M7 の使い方

統一コンテキスト組み立てと作業記憶

memory_context(scope, query?, k?, current_turn?) は3つのセクションを一度に組み立てる:常駐プロファイルブロック(長期記憶内の profile) → 作業記憶ブロック(現在のタスク状態)→ 想起ブロック(query を渡した場合のみ長期記憶を検索)。現在のタスク状態の日常メンテナンスは 3つの作業記憶ツールで行う:

  • memory_wm_write(scope, goal?, decisions?, variables?, todos?, notes?, turn_watermark?)全置換書き込み(マージではなく、渡されなかったフィールドはクリアされる)、匿名化のみ、評価ゲートなし;

  • memory_wm_read(scope, current_turn?):読み取り + 鮮度判定(stale_wm=true は現在のターン数が 作業記憶の turn_watermark 水位を超えていることを意味——「この状態は何ターン目まで更新済みか」、状態が遅れている可能性);

  • memory_wm_clear(scope):クリア(冪等、存在しない場合もエラーではない)。

作業記憶は操作層のドラフト:完了項目の結論は長期記憶に蒸留(memory_add または下記 memory_session_end)して初めて 沈殿したと見なされる。

セッションログ読み取りとセッション終了処理

memory_transcript_read(log_path, adapter?, since_turn?) はエージェントのセッションログ(例:kimi-code の wire.jsonl、ファイル名で形式を自動検出)をクリーンなターンシーケンス(user/assistant/tool)に解析;since_turn は作業記憶の水位と組み合わせて増分読み取り(水位以降のターンのみ返す)。

memory_session_end(scope, conversation_json?|log_path?, ...) はセッション終了の標準処理で、一度に完了: 原文をアーカイブ(data/raw/、追記のみで書き換えなし)→ 共同蒸留(会話 + 作業記憶スナップショットを参照コンテキストとして)→ 作業 記憶の完了済み ToDo をクリーンアップ。作業記憶に保留 ToDo がある場合は veto(アーカイブ/蒸留/クリーンアップすべて実行しない)、終了確認は force=true を渡す。これは N ターンごとのローリング蒸留フックと二重トラックの役割分担:フックは途中クラッシュによる損失を防ぐ保険、session_end は標準終了処理を行う。

3つのアーキテクチャレッドライン

AGENTS.md を参照。要するに:データ3層分離(raw は追記のみ、memory は唯一の真実ソース、index は再構築可能で手動変更禁止);書き込みは匿名化→蒸留→対帳のゲートを通過必須;evals / rubric / リリース閾値 / 監査ログはエージェントによる自己変更を禁止。

Install Server
F
license - not found
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.

  • Shared long-term memory vault for AI agents with 20 MCP tools.

  • Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ac0033/agent-memory'

If you have feedback or need assistance with the MCP directory API, please join our Discord server