memory-guardian
工作空间记忆生命周期系统。双层贝叶斯衰减 + 四态质量门 + 案例生命周期 + 压缩。
设计原则
- 写入前先检查状态 — 先调用
memory_status - 应用前先 dry-run — 预览破坏性操作
- 默认行为 > 开关 — 工作空间默认值来自
MG_WORKSPACE - 写入顺序 > 内容正确性 — 顺序很重要
- 可观测但不脆弱 — 信号退化 → WARNING,不崩溃
- 单一事实来源 — 所有默认值集中在
mg_schema/meta_defaults.py
MCP 工具(10 个)
工作空间默认值来自 MG_WORKSPACE 环境变量;仅列出非默认参数。
查询
memory_status()— 系统概览(记忆数量 / 质量门状态 / 案例摘要 / 引用完整性)memory_query(type="active", min_score=0.3)— 搜索记忆(关键词/记忆类型过滤)
写入
memory_ingest(content="...", importance="auto", tags=[])— 创建新记忆memory_decay(lambda=0.01, dry_run=false)— 运行五轨贝叶斯衰减
审计
quality_check(layer="all")— 质量门(淘汰率 / 相似案例信号 / 陈旧案例)case_query(filter="frozen")— 查询案例(active/frozen/retired/stale/ignored)case_review(case_id, action="retire", origin_type="agent_initiated")— 案例操作(active/frozen/retired/unfreeze/ignore)
批量
run_batch(skip_compact=true, dry_run=false, timeout=300)— 完整维护(包含同步 + 信号合并)memory_sync(dry_run=true)— 同步文件变更 → meta.json(在 run_batch 中自动运行)memory_compact(dry_run=true, aggressive=false)— 压缩 MEMORY.md
工作流程
新安装
memory_status→ 确认references.complete: true- 如果为 false,根据缺失列表创建缺失文件,重新验证
- 创建 cron 任务(参见 signal-loop.md 获取 cron 模板)
- 手动触发一次以验证
日常维护(cron)
run_batch(skip_compact=true) 自动运行。包含:
- memory_sync(增量文件扫描)
- 信号合并(access_log + cron 推断)
- 衰减 + 质量门检查
- 仅当 MEMORY.md > 15KB 时触发压缩
诊断
D1:记忆膨胀 → memory_compact(dry_run=true) → 视需要应用 → 参见 compaction.md
D2:质量异常 → quality_check(layer="all") → 参见 error_recovery.md
D3:案例失效 → case_query(filter="stale") → case_review(action="retire"|"active"|"unfreeze") → 参见 case-management.md
信号闭环(v0.4.6)
双层访问信号为衰减引擎提供数据:
- 第一层(权重 1.0):
access_log.jsonl— agent 在memory_get后追加 - 第二层(权重 0.5):从每日笔记的 cron 关键词推断
- 健康检查在 access_log 陈旧超过 24 小时时自动降级为仅第二层
Agent 必须在每次 memory_get 调用后追加到 access_log.jsonl。集成代码参见 signal-loop.md。
参考文件
按场景按需加载:
- signal-loop.md — 信号闭环设置、AGENTS.md 集成代码、cron 模板、配置字段
- triggers.md — 触发/反触发规则
- parameters.md — 衰减参数、β 疤痕、PID 增益、TTL
- compaction.md — D1 诊断和压缩策略
- error_recovery.md — D2 诊断、异常状态、自愈
- case-management.md — D3 诊断、案例审计、L3 审查
- advanced-tools.md — 静默退化、主题锁、PID 自适应
CLI 回退
当 MCP 不可用时,CLI 路径相对于 skill 目录:
python3 scripts/memory_guardian.py <command> [--workspace <path>]命令:status、ingest、bootstrap、snapshot、run、violations、migrate