记忆图与资产健康
本页用于检查和维护独立 Evolver 的本地记忆图,并区分记忆图故障、资产质量问题和事件视图问题。
这里的拓扑主要指本地记忆图与资产之间的关联结构。它用于发现孤立、重复、陈旧或异常集中的经验,不是 Hub 调度、信任晋级或发布的自动决策器。
查看诊断
bash
evolver memory-graph status
evolver asset-health
evolver reuse-report
evolver cycles
关注的问题
- 大量资产没有可追溯的来源、验证或复用关系。
- 同类失败反复生成新资产,却没有收敛或撤销旧策略。
- 少数陈旧资产占据大部分召回,新的真实结果没有进入图谱。
- 事件存在但物化视图缺失,或报告中的数量相互矛盾。
- 复用集中在单一环境,跨环境结果长期缺失。
区分源数据、派生视图与图状态
根事件记录保存已发生的活动,物化视图是根据这些事件整理出的读取结果。记忆图另有自己的当前状态、压缩状态和保留归档。诊断时先确定出问题的是哪一种数据,再选择恢复方法。仅因为某个报告缺少结果,就同时重放事件、清理归档和重置图,会使原问题难以定位。
| 观察到的现象 | 先确认什么 | 对应处理方向 |
|---|---|---|
| 事件存在,但派生视图不完整 | 当前实例、事件源完整性与视图范围 | 在备份后评估根事件 replay |
| 图状态报告 degraded | 当前 epoch、现有归档与恢复错误 | 按图维护/恢复报告处理 |
| 图状态报告 busy | 是否有写入或维护进程占用 | 先处理占用,不以 reset 绕过 |
| 图正常,但经验反复失败 | 资产、任务环境与验证证据 | 进入质量复核与采用决定 |
恢复能够重建什么
图恢复使用保留的当前 epoch 数据重建压缩状态;已删除的源数据不能由维护命令重新生成。归档 prune 会减少保留历史,因此不能把它作为所有图故障的第一步。reset 则开始新一代本地状态,即使先生成了备份,也需要明确记录为什么选择放弃当前代状态。
例如,报告显示 busy 时应先查正在工作的进程,等待受控任务结束或按维护流程停止相关写入,再查询状态。如果占用解除后状态正常,便没有必要继续执行恢复或重置。每次动作都应对应一个已确认的问题,后续检查决定是否还需要下一步。
排查顺序
- 确认当前运行目录与节点身份,保存故障时的状态报告;不要混用不同实例的数据。
- 用
memory-graph status检查恢复状态和占用状态。返回失败时先区分degraded与busy:前者需要调查恢复数据,后者先排查正在写入或维护的进程。 - 检查资产 ID、最近循环与复用证据。关联缺少验证结果时补齐验证,不能靠图维护命令生成成功证据。
- 涉及写入的维护前,暂停相关写入并备份图目录。根据下表选择一项操作,完成后再查询状态。
- 如果异常位于根事件派生视图,先核对事件源与备份,再使用
evolver replay;它不负责恢复记忆图归档。
选择维护操作
| 命令 | 用途与边界 |
|---|---|
evolver memory-graph status | 读取状态,作为维护前后对照 |
evolver memory-graph maintain | 执行恢复或达到阈值后的轮转与压缩,会写入数据 |
evolver memory-graph recover | 从保留的当前 epoch 数据重建压缩状态;不能找回已丢失的源数据 |
evolver memory-graph prune | 按保留策略清理已轮转归档,会减少保留历史 |
evolver memory-graph reset --yes | 复制备份并进入新的本地 epoch,仅在明确决定重置时使用 |
epoch 是本地记忆图的一代状态。重置不是常规修复步骤,也不等于重建事件视图。上述维护命令不提供 --dry-run;不要把命令表当作需要逐行执行的脚本。
确认修复结果
检查状态不再降级或占用异常,保留维护报告、备份位置和前后差异,再核对受影响的资产及复用记录。仍然失败时停止进一步清理,保存错误原因与现有归档,交由运行维护负责人处理。
使用边界
图密度、重复率或分组关系只能提示需要调查。它们不能单独提高 Worker 容量、自动晋级资产或认定某个节点异常。
相关页面
EvoX 文档 · 开发者 · 独立 Evolver 维护