人工智能大模型Agent 记忆AI AgentRAG知识图谱dsh-plugin【免费下载链接】MemOSSelf-evolving memory OS for LLM AI Agents: ultra-persistent memory, hybrid-retrieval, and cross-task skill reuse, with 35.24% token savings and DeepSeek Harness support.项目地址https://gitcode.com/gh_mirrors/memos/MemOS点击查看免费下载本文围绕 MemOS 记忆插件apps/memos-local-plugin的 SkillFlow 测评场景系统讲解如何把 verifier feedback 与用户显著反馈真正沉淀为可召回的经验policy进而支撑技能结晶与环境认知生成同时避免失败噪音被错误包装成可执行 skill。读完本文你将掌握显著反馈的判定与 salience 计算、typed experience 数据模型、feedback.submit完整闭环、带成功锚点的 skill eligibility、经验召回与 provenance 去重以及 SkillFlow runner 的集成验收要求文末还对照了当前仓库源码给出方案各环节的实际落地状态与文件位置。背景SkillFlow 测评不是重跑到成功SkillFlow 的测评语义与常见的反复刷题完全不同其流程是每个任务作为一次独立 trial 只跑一遍运行 verifier得到通过/失败结果与具体反馈把 verifier feedback 交给 agent作为下一轮同族任务的学习信号下一道同族任务检查前一轮沉淀出的经验、技能、环境认知能否提升表现。因此失败任务不能只作为反例沉底。只要 verifier 或用户给出了明确、可行动的反馈就应该沉淀为经验供下一题召回。但与此同时必须防止另一个方向的错误只知道不要怎么做的失败经验不能单独结晶成 skill。skill 是可执行能力必须至少拥有一条成功锚点success anchor。现状盘点记忆面板术语与后端对象对照当前项目里记忆面板中的概念和后端对象大致对应如下面板术语后端主要对象说明记忆traces单轮任务或步骤的原始过程记录经验policies从任务中总结出的可复用做法技能skills从经验包装出的可调用能力环境认知world_model多条经验共同指向的环境规律也就是说经验在后端就是policies表经验生成就是 L2 归纳/更新 policy 的过程而 skill 结晶与 L3 环境抽象都建立在 policy 之上。现有链路的主要断点断点 1经验生成依赖正价值记录L2 经验归纳的入口在 core/memory/l2/l2.ts其筛选条件是const eligibleTraces input.traces.filter((t) t.value config.minTraceValue !!(t.vecSummary ?? t.vecAction));t.value minTraceValue意味着失败任务的负分记录一般不会进入经验生成池避坑型经验在现有路径上无从诞生。断点 2失败记录优先级被压到 0reward 反向传播在 core/reward/backprop.ts 中计算const priority Math.max(V, 0) * decay;max(V, 0)对普通记忆排序是合理的负价值 trace 沉底但保留在盘上可被决策修复命中但副作用是失败避坑经验在普通召回里完全缺席。断点 3显式 feedback 没有完整闭环core/pipeline/memory-core.ts::submitFeedback在早期版本中主要是写入feedback表没有保证触发 reward 重算、经验生成、决策修复和 skill 更新。从当前源码看该函数已升级为完整闭环下文详述但方案本身要求的late feedback 也能重算并触发经验更新仍需在 reward subscriber 层保证。断点 4Hermes verifier feedback 常被当成普通对话如果 feedback 只是通过普通 prompt 发送给 Hermes系统可能只把它记录为一条聊天记忆而不是结构化反馈事件导致后续无法按反馈维度做聚合与溯源。断点 5skill 结晶没有明确区分成功经验和失败避坑经验一旦把失败经验纳入正式召回和经验表就必须增加 skill eligibility 约束否则仅由失败避坑经验就可能结晶出没有成功证据的 skill。设计原则五条红线显著反馈一定要进入经验链路无论任务成功还是失败只要用户或 verifier 给出了明确、可行动的评价反馈就应该生成或更新经验。绝对值表示重要性正负号决定类型不能简单把l2Induction.minTraceValue调成负数也不能把所有abs(V)大的失败 trace 都拿来生成经验。正确做法是abs(R)、feedback magnitude、classifier confidence 用来判断这条反馈是否重要feedback polarity、verifier result、文本分类结果用来决定经验类型只有通过显著反馈 可行动性门槛的失败才生成避坑型经验。避坑型经验可召回但不能单独生成 skill失败避坑经验应参与后续 prompt 注入提醒 agent 避免重复错误它只能作为 skill 的Avoid / Check / Repair补充材料不能作为 skill 主证据。skill 必须有成功锚点skill 生成必须至少包含一条成功型经验如success_pattern、repair_validated只有failure_avoidance、repair_instruction或preference的经验集合不能生成 skill。召回要做来源去重如果某条经验已被某个召回的 skill 吸收且 skill 比经验更新则 prompt 里不重复注入该经验避免内容重复和指令冲突。经验类型设计方案建议给经验增加明确类型并定义两个关键属性可召回性与能否作为 skill 主证据。类型含义可召回可作为 skill 主证据success_pattern成功任务中沉淀出的做法是是repair_validated之前失败按反馈修复后验证成功是是failure_avoidance失败后的避坑经验是否repair_instruction失败后的修复建议但尚未验证成功是否preference用户偏好或格式偏好是否verifier_feedbackverifier 反馈提炼出的测评经验可再细分 polarity是取决于是否有成功锚点两点说明verifier_feedback更适合作为来源标签而非唯一类型实际可落到failure_avoidance、repair_instruction、success_pattern等类型上repair_instruction只有在后续任务成功命中同一修复思路后才升级或派生为repair_validated。这一设计在源码中的落地可从 core/storage/repos/policies.ts 的normalizeExperienceType/normalizeEvidencePolarity看到类型与极性在仓储层有明确白名单归一化。显著反馈判定is_significant 门槛新增 feedback experience builder触发条件建议如下is_significant explicit_feedback AND actionable AND ( feedback.magnitude 0.5 OR classifier.confidence 0.6 OR abs(episode.r_task) 0.5 OR verifier_severity 0.5 )其中explicit_feedback来自feedback.submit、verifier feedback、用户明确评价、用户明确纠正actionable文本中能提取出下次怎么做、不要怎么做、哪里错了、应该改成什么verifier_severity由 verifier 的失败程度计算例如字段缺失、schema 错误、数值偏差、expected/actual mismatch。不应该生成经验的例子wrong、不对、再试试、普通负分 trace 但没有用户/verifier 的明确可行动反馈。应该生成经验的例子Do not reuse the previous tasks answers.json schema.Expected top_class_labels/top_class_counts, but the answer used the previous tasks stock_holding schema.Next time, parse every infoTable record before aggregating stock holdings.This is correct; the 13F parser handled all holdings and matched verifier output.源码中对应的实现位于 core/experience/feedback-builder.tsrunFeedbackExperience先做文本分类再算significance只有当significance MIN_SIGNIFICANCE常量MIN_SIGNIFICANCE 0.5且isActionableFeedback(text, classified.shape)为真时才继续生成经验否则以not-actionable跳过。Salience 计算新增salience表示反馈重要性salience clamp01(max( abs(episode.r_task), feedback.magnitude, classifier.confidence, verifier_severity ))注意salience不等于成功分salience高的负反馈生成高重要性的避坑经验salience高的正反馈生成高重要性的成功经验经验类型必须保留 polarity不能把负反馈伪装成正向 skill 证据。数据模型建议扩展 policies 而非新建平行表当前policies表已经是面板里的经验方案建议扩展字段而不是新建一张平行的经验表建议新增experience_type TEXT evidence_polarity TEXT salience REAL confidence REAL source_feedback_ids_json TEXT source_trace_ids_json TEXT verifier_meta_json TEXT skill_eligible INTEGER字段含义experience_type经验类型evidence_polaritypositive/negative/mixedsalience反馈重要性confidence这条经验本身可信度source_feedback_ids_json来源 feedbacksource_trace_ids_json来源 trace解决当前只追到 episode、不追到具体证据的问题verifier_meta_json任务名、expected/actual 摘要、schema mismatch、失败字段等skill_eligible是否可作为 skill 主证据失败避坑类默认为 false。也可以先不加skill_eligible字段、在 skill eligibility 里由experience_type动态判断但显式字段更方便 viewer 和日志解释。该建议在仓库中已完整落地core/storage/repos/policies.ts 的列定义包含experience_type、evidence_polarity、salience、confidence、source_feedback_ids_json、source_trace_ids_json、verifier_meta_json、skill_eligible并在行映射中与 DTO 字段一一对应如skillEligible: r.skill_eligible null ? true : r.skill_eligible ! 0。反馈提交流水线feedback.submit 的完整闭环feedback.submit应改造成完整闭环写入feedback表通知 reward subscriber 对对应 episode 重新评分或补评分通知 feedback subscriber 做决策修复触发 feedback experience builderflush reward、经验、skill、环境认知队列保证下一题开始前可召回。伪流程submitFeedback(feedback): row feedbackRepo.insert(feedback) reward.submitFeedback(row) repair.submitUserFeedback(row.rawText, row.sessionId, row.episodeId) feedbackExperience.run(row) await reward.drain() await feedbackExperience.drain() await skill.flush() await worldModel.flush() return row对照当前源码 core/pipeline/memory-core.tssubmitFeedback已经实现了这条链路写入feedback表并就地更新 trace 分数 → 调用handle.rewardRunner.run({ trigger: explicit_feedback })触发 reward 重算 → 调用handle.feedback.submitUserFeedback做决策修复 → 调用runFeedbackExperience生成/更新经验 → 依次l2.drain()、skills.runOnce、l3.runOnce、skills.flush()、feedback.flush()、l3.drain()。而 reward 侧调度在 core/reward/subscriber.ts显式submitFeedback到达时会取消feedbackWindowSec定时器立即以triggerexplicit_feedback启动评分对于已关闭/无 pending 的 episode也会立即运行天然支持 late feedback。Hermes verifier feedback 的结构化提交Hermes verifier feedback 不应只走普通对话优先方案SkillFlow runner 在 verifier 后调用结构化feedback.submitraw中包含 verifier result、task name、expected/actual 摘要polarity根据 verifier pass/fail 填 positive/negativemagnitude根据 verifier 严重程度计算。兼容方案如果仍通过普通 prompt 给 Hermes则 adapter 或 core 识别Verifier feedback for completed task ...这类模式自动转成结构化 feedback并绑定到刚完成的 episode。经验生成流程双路径并行新增 feedback-derived experience path与现有正向 trace 聚类 path 并行。现有路径保留保留当前的正价值 trace - candidate pool - 相似任务达到阈值 - 生成普通经验不要把minTraceValue全局改成负数。L2 的候选池与归纳机制可参考 core/memory/l2/l2.ts未匹配的 trace 进入l2_candidate_pool按 PatternSignature 分桶桶内达到minEpisodesForInduction个不同 episode 后才触发归纳成功草稿成为新 policy。新增路径显著反馈 - 分类 polarity / type / actionable lesson - 匹配已有经验 - 更新已有经验或创建新经验 - 按类型决定是否 active、是否 skill-eligible创建/更新规则如果相似经验已存在合并来源 feedback、trace、episode并更新 decision guidance如果没有相似经验创建新经验显著 verifier 失败可以在单个 episode 后生成经验不必等两个相似任务失败避坑经验可以直接 recallable但skill_eligiblefalse。经验状态建议情况初始状态高置信用户正反馈成功经验activeverifier pass 生成成功经验active高置信 verifier fail 避坑经验active但skill_eligiblefalse低置信但可行动反馈candidate纯偏好active或candidate取决于置信度这里的active表示可以被召回不等于可以生成 skill。skill 生成由skill_eligible和成功锚点单独控制。源码侧runFeedbackExperience中设置了MERGE_SIMILARITY 0.72作为相似经验合并阈值FULL_PASS_REWARD 1用于严格判定完全通过任何小于 1 的奖励都视为未完全解决这些常量直接支撑了上述创建/更新规则。Skill 生成规则成功锚点约束修改core/skill/eligibility.ts的判断逻辑。现有核心条件experience.status active experience.gain skill.minGain experience.support skill.minSupport新增条件has_success_anchor(experience) truehas_success_anchor为 true 的情况experience_type success_patternexperience_type repair_validated来源 episode 有明确成功反馈且 verifier pass来源 feedback polarity 为 positive且 actionable 内容描述的是已成功做法has_success_anchor为 false 的情况只有failure_avoidance只有repair_instruction只有preference只有 verifier fail没有后续成功验证该规则在当前源码中已经实现见 core/skill/eligibility.tsdecide依次检查status active、gain minGain、support minSupport、hasSuccessAnchor(policy)不满足时返回skip与结构化原因policy has no success anchor。hasSuccessAnchor的实现是skillEligible false直接返回 false类型为failure_avoidance/repair_instruction/preference返回 false否则要求evidencePolarity为positive或mixed。这正是方案中失败避坑类默认 skill_eligiblefalse与只有 success anchor 可以作为 skill 主证据的直接落地。失败避坑经验在 skill 结晶中仍然有价值但只能作为补充写入 skill 的Avoid段写入 skill 的Check段写入 skill 的 decision guidance作为 counter example 传给 skill crystallizer。示例成功经验 SEC 13F task should first confirm target answers.json schema, then parse all infoTable rows. 避坑经验 Do not reuse the previous tasks answers.json schema. 生成 skill Procedure: - Confirm current task schema. - Parse all infoTable rows. - Aggregate according to the requested fields. Avoid: - Do not reuse the previous tasks answers.json fields.不允许只有避坑经验 Do not reuse previous schema. 直接生成 skill SEC 13F solver原因它只说明了不要做什么没有证明应该怎么做能成功。召回优化经验作为正式召回通道新增经验召回作为正式召回通道。当前普通召回主要包括skill记忆 trace / episode环境认知 world model建议加入active 经验高置信 candidate 经验可选failure avoidance / repair instruction / preference 等 typed experience召回排序建议score 0.45 * query_similarity 0.25 * salience_or_gain 0.15 * confidence 0.10 * recency 0.05 * support注入格式按类型区分## Relevant Experiences Do: - ... Avoid: - ... Check: - ...失败避坑经验不要混进普通 here is what worked 文案里必须明确为 Avoid/Check。这一要求在源码的检索注入器中已有对应实现renderExperience会把procedure渲染为Do:、decisionGuidance.antiPattern渲染为Avoid:、boundary渲染为Scope:见 core/retrieval/injector.ts且经验的召回入口runTier2Experience在 core/retrieval/retrieve.ts 被 tier2 阶段调用。Skill 和经验去重provenance 去重召回后做 provenance 去重。需要让 skill candidate 带上sourcePolicyIds updatedAt经验 candidate 带上policyId updatedAt decisionGuidance去重规则for each recalled experience: if experience.policyId in any recalledSkill.sourcePolicyIds: if recalledSkill.updatedAt experience.updatedAt: drop experience else: inject only experiences newer decision guidance这样可以避免prompt 同时注入 skill 和它的来源经验skill 已经包含 Avoid 内容时又重复注入同一条 Avoid新 feedback 更新了经验但 skill 尚未重建时丢失最新避坑信息。源码中core/retrieval/injector.ts 的过滤逻辑正是按此规则实现被 skill 覆盖covered的经验 candidate只有当experienceUpdatedAt coveringSkill.updatedAt时才保留注入否则丢弃。环境认知生成mixed 极性经验的吸收环境认知仍然由多条经验生成但经验类型可以是 mixed。建议条件至少 2 条 active 经验 同一环境/domain 每条 confidence 0.45 至少 1 条经验包含稳定环境事实或约束环境认知可以吸收失败避坑经验因为环境认知不是 skill不要求可执行成功路径——失败经常能提供环境约束。示例经验 A success_pattern: SEC 13F task should parse all infoTable rows. 经验 B failure_avoidance: Do not reuse answers.json schema across SEC 13F tasks. 环境认知: SEC 13F family tasks share similar filing data, but each task has a distinct output schema. Verifier checks exact fields and values, so each round must confirm the requested schema before aggregating data.需要补充 domain 识别。当前core/memory/l3/cluster.ts主要识别 docker、python、node 等工程域建议增加 SEC 13F 相关关键词13f sec filing cusip infotable holdings accession manager issuer aum否则 SEC 13F 经验容易落入泛化 bucket环境认知质量会差。当前源码已加入sec13f域标签见 core/memory/l3/cluster.tsTAG_REGEXES中新增了\b(?:sec\s*13f|13f|cusip|infotable|holdings?|accession|issuer|aum)\b→ tagsec13f同时在TOOL_REGEXES中加入了sec-api|edgar|filing|xml|csv|parser→sec-tooling。聚类时按primary|tool生成 domain key同一 bucket 内再做余弦聚类与 cohesion 计算见 core/memory/l3/cluster.ts。SkillFlow 集成要求SkillFlow runner 应满足每个任务只跑一次不重跑到成功每个任务 verifier 后必须提交结构化 feedbackverifier feedback 必须绑定到刚完成的 episodefeedback prompt 或结构化 raw text 禁止包含换个任务feedback 处理完成后下一题开始前要 flushreward、feedback experience builder、skill crystallization、environment abstraction下一题turn.start应能召回上一题生成的避坑经验或成功经验。建议在.test_skillflow_official_familyrunner 中增加检查after feedback: assert feedback row count increased assert experience count or decision guidance count changed when feedback is actionable assert next turn retrieval packet contains relevant SEC 13F experience when applicable实施阶段规划Phase 1: 数据模型和 DTO修改core/storage/migrations/*core/types.tscore/storage/repos/policies.tsagent-contract/dto.tsviewer/src/api/types.ts新增经验字段experienceTypeevidencePolaritysalienceconfidencesourceFeedbackIdssourceTraceIdsverifierMetaskillEligible如前所述core/storage/repos/policies.ts与core/types.ts中的 PolicyRow 已具备这些字段。Phase 2: 反馈闭环修改core/pipeline/memory-core.ts::submitFeedbackcore/reward/subscriber.tscore/feedback/subscriber.tsbridge/methods.tsserver/routes/feedback.ts目标feedback.submit不只入库还触发 reward、repair、feedback experience builder支持 late feedback即使 episode 已关闭也能重新评分并触发经验更新。bridge/methods.ts中feedback.submit已映射到core.submitFeedbackserver/routes/feedback.ts 将 HTTP 请求转交 core闭环主体已成型。Phase 3: Feedback Experience Builder新增模块建议core/experience/feedback-builder.ts core/experience/classifier.ts core/experience/merge.ts core/experience/types.ts职责解析显著反馈提炼 typed experience draft匹配已有经验创建或更新policies写入 provenance发出experience.created/experience.updated事件。当前仓库core/experience/下已有 feedback-builder.ts 与feedback-refiner.ts分别承担构建与精炼职责。Phase 4: 经验召回修改core/retrieval/retrieve.tscore/retrieval/types.tscore/retrieval/injector.tscore/storage/repos/policies.ts新增runExperienceRetrieval经验 candidate 类型typed experience rendererAvoid/Check/Do 分组注入当前源码中ExperienceCandidate、runTier2Experience、renderExperience均已存在见 core/retrieval/retrieve.ts 与 core/retrieval/injector.ts。Phase 5: Skill eligibility 增加成功锚点修改core/skill/eligibility.tscore/skill/evidence.tscore/skill/crystallize.tscore/skill/packager.ts新增hasSuccessAnchor(policy)collectSupplementalAvoidance(policy)skip reason:no-success-anchor要求failure_avoidance经验可作为 counter examplerepair_instruction经验可作为 Check/Repair guidance只有 success anchor 可以作为 skill 主证据。Phase 6: 环境认知域识别修改core/memory/l3/cluster.tscore/memory/l3/abstract.ts新增 SEC 13F domain tags并允许 mixed polarity 经验进入环境认知生成。Phase 7: SkillFlow runner 验收修改docs/SKILLFLOW_HERMES_EVAL.md.test_skillflow_official_family/run_sec13f_hermes_official.sh相关 verifier feedback helper目标verifier feedback 结构化提交feedback 后检查经验/skill/环境认知变化下一题前确认召回包包含相关经验。测试计划新增或更新测试失败 verifier feedback 生成failure_avoidance经验有 expected/actual mismatch 的 verifier feedback 生成repair_instruction成功 verifier feedback 生成success_pattern只有普通负分 trace、没有显著反馈时不生成经验高 salience 负反馈生成可召回经验但skill_eligiblefalse只有避坑经验时skill eligibility 返回no-success-anchor成功经验 避坑经验时可以生成 skill且 Avoid 内容进入 skillskill 和其来源经验同时召回时经验被去重来源经验比 skill 更新时只注入新增 decision guidance两条 SEC 13F 相关经验生成环境认知SkillFlow 两题串跑第一题失败反馈生成避坑经验第二题 turn_start 能召回。仓库内已有的相关测试基准可以参考tests/unit/pipeline/memory-core.test.ts中submitFeedback persists and returns a DTO、submitFeedback aggregates explicit trace feedback into trace value等用例tests/unit/pipeline/memory-core.test.ts以及tests/unit/reward/subscriber.test.ts中submitFeedback before window expires fires immediately with explicit trigger、submitFeedback for unknown episode still triggers a run等用例tests/unit/reward/subscriber.test.ts可直接作为新增测试的脚手架。成功标准在 SkillFlow SEC 13F family 上至少满足一轮失败 verifier feedback 后记忆面板出现 typed 经验或已有经验被更新下一轮同族任务开始时召回 prompt 中包含上一轮避坑经验避坑经验不会单独生成 skill至少一轮成功经验出现后系统可以用成功经验作为主证据并合并失败避坑经验生成 skill至少两条同域经验出现后系统可以生成 SEC 13F 环境认知。非目标本优化不做以下事情不把所有负分 trace 都纳入经验生成不把l2Induction.minTraceValue全局调成负数不把失败避坑经验单独结晶成 skill不改变 SkillFlow 的一题一次测评语义不要求同一道题反复重跑到成功。核心原则失败反馈要沉淀为可召回的避坑经验但 skill 必须由至少一条成功锚点支撑。失败经验可以帮助 skill 更稳不能单独证明 skill 会成功。这条原则贯穿了从显著反馈判定、typed experience 数据模型、反馈提交流水线到 skill eligibility 与召回去重的每一个环节也是 SkillFlow 在 MemOS 记忆插件上实现经验 → 技能 → 环境认知三级沉淀时最重要的工程约束。赞分享人工智能大模型Agent 记忆AI AgentRAG知识图谱dsh-plugin【免费下载链接】MemOSSelf-evolving memory OS for LLM AI Agents: ultra-persistent memory, hybrid-retrieval, and cross-task skill reuse, with 35.24% token savings and DeepSeek Harness support.项目地址https://gitcode.com/gh_mirrors/memos/MemOS点击查看免费下载相关推荐MemOS 反馈经验生成链路深度修复Hermes 适配器 traceId 贯通与 LLM 经验提炼实战MemOS 反馈经验生成链路深度修复Hermes 适配器 traceId 贯通与 LLM 经验提炼实战 导读 本文以 MemOS Local 插件 apps人工智能大模型Agent 记忆AI AgentRAG知识图谱dsh-pluginMemOS 记忆粒度与认知层级详解小步、轮、任务、经验、环境认知与技能的术语对齐MemOS 记忆粒度与认知层级详解小步、轮、任务、经验、环境认知与技能的术语对齐 本文以 GRANULARITY AND MEMORY LAYERS.md h人工智能大模型Agent 记忆AI AgentRAG知识图谱dsh-pluginMemOS 记忆反馈修正 API 实战基于 POST /product/feedback 构建 LLM 记忆纠错闭环MemOS 记忆反馈修正 API 实战基于 POST /product/feedback 构建 LLM 记忆纠错闭环 MemOS 的 Add Feedback人工智能大模型Agent 记忆AI AgentRAG知识图谱dsh-plugin创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
