人工智能大模型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 开源仓库中的《添加反馈》接口文档为主体系统讲解POST /product/feedback这一记忆纠偏入口的设计理念、完整参数、底层实现原理与落地实践。读完本文你将掌握如何通过用户反馈精准修正 MemCube 中的错误记忆、在异步与同步模式间正确取舍并理解retrieved_memory_ids、corrected_answer等高级参数背后的源码机制从而在自己的 Agent 应用中实现实时纠错、记忆自净的能力闭环。1. 接口总览从添加记忆到纠正记忆POST /product/feedback是 MemOS 面向记忆纠偏提供的专用接口其核心功能是处理用户对 AI 回复或记忆内容的反馈通过分析feedback_content系统可以自动定位并修改存储在MemCube中的错误事实或根据用户的正负反馈调整记忆的权重。与普通添加接口相比它并不只是多存一条记录而是提供了一套更精细的控制逻辑。从路由注册代码可以看到该端点位于/product前缀之下并统一交由类化组织的FeedbackHandler处理路由定义见 server_router.pyrouter.post(/feedback, summaryFeedback memories, response_modelMemoryResponse)与router APIRouter(prefix/product, tags[Server API])组合后即得到文档所述的完整路径POST /product/feedback。处理器实现见 feedback_handler.pyFeedbackHandler依赖mem_reader、mem_scheduler、searcher、reranker等组件在初始化时通过_validate_dependencies强校验最终调用handle_feedback_memories完成记忆反馈处理并返回MemoryResponsemessageMemory feedback successfully。一句话总结普通接口负责写入feedback 接口负责纠错它是 MemOS 记忆闭环中用户侧纠偏的关键入口。2. 核心机理记忆纠偏循环FeedbackHandler相比普通添加接口提供了三个层面的精细控制能力精确修正Precise Correction通过提供retrieved_memory_ids系统可以直接针对上一次检索出的某几条特定记忆进行更正避免误伤同 Cube 中的其他记忆。语境分析结合history对话历史系统能够理解反馈背后的真实意图例如你说错了我现在的公司是 A 而不是 B而不是把反馈当作孤立文本处理。结果回显如果开启corrected_answertrue接口在处理完记忆更正后会尝试基于新事实返回一个更正后的回答方便前端直接展示纠错结果。这三项能力在源码中有清晰的落点APIFeedbackRequest模型在 product_models.py 中定义了retrieved_memory_idsRetrieved memory ids at last turn、historyMessageList对话历史与corrected_answerWhether need return corrected answer等字段corrected_answer的真正执行发生在 feedback.py 的_generate_answer方法中当corrected_answer为真且反馈文本非空时系统会先用detect_lang检测反馈语言再套用FEEDBACK_PROMPT_DICT[generation]中的对应语言模板把chat_history与反馈问题组装成提示词并调用 LLM 生成纠正后的回答。3. 请求参数详解本接口核心参数定义如下以 HTTP 请求体为准对应APIFeedbackRequest模型参数名类型必填默认值说明user_idstr是-用户唯一标识符。historylist是-最近的对话历史用于提供反馈的语境。feedback_contentstr是-核心用户的反馈文本内容。writable_cube_idslist否-需要执行记忆更正的目标 Cube 列表。retrieved_memory_idslist否-可选。上一次检索出的、需要被修正的特定记忆 ID 列表。async_modestr否async处理模式async后台处理或sync实时处理并等待。corrected_answerbool否false是否需要系统在修正记忆后返回一个纠正后的新回答。infodict否-附加元数据。除上述核心参数外源码模型还补充了以下字段帮助实现更完整的会话级纠偏补充参数类型默认值说明session_idstrdefault_session会话 ID用于对记忆做软过滤。task_idstrNone异步任务的监控 ID便于后续查询任务状态。feedback_timestrNone反馈发生时间。mem_cube_idstrNone已弃用单 Cube 搜索 ID新代码应改用writable_cube_ids。其中info字段的定位在模型中说明得很清楚All keys can be used as filters in search——你可以把agent_id、app_id、source_type、source_url、source_content等业务元数据塞进info这些键值后续可直接作为检索过滤条件例如{agent_id: xxxxxx, source_type: web, source_url: https://...}。需要特别说明的是writable_cube_ids的缺省行为。在 feedback_handler.py 的_resolve_cube_ids中若请求未携带writable_cube_ids系统会回退为[user_id]即默认把目标 Cube 视为与用户同名的 Cube并进行去重list(dict.fromkeys(...))。随后_build_cube_view会按目标 Cube 数量选择视图单个 Cube 走SingleCubeView多个 Cube 走CompositeCubeView见 feedback_handler.py。4. 工作原理与底层调用链文档给出的四步处理流程在源码中可以逐一对上冲突检测FeedbackHandler接收反馈后对比history与writable_cube_ids中现有的记忆事实判断哪些记忆已过时或错误。定位与更新若提供了retrieved_memory_ids则直接更新对应记忆节点若未提供 ID系统通过语义匹配找到最相关的过时记忆进行覆盖或标记为无效。权重调整对于态度模糊的反馈系统会调整特定记忆条目的confidence置信度或可信度等级。异步生产在async模式下修正逻辑交由MemScheduler异步执行接口立即返回task_id。底层调用链可概括为POST /product/feedback └─ FeedbackHandler.handle_feedback_memories() # feedback_handler.py └─ _build_cube_view() → SingleCubeView / CompositeCubeView └─ cube_view.feedback_memories() # single_cube.py / composite_cube.py ├─ async 模式构造 ScheduleMessageItem 提交给 MemScheduler └─ sync 模式直接调用 feedback_server.process_feedback(...) └─ 语义分析 _generate_answer() # feedback.py关键实现细节位于 single_cube.py 的feedback_memoriesasync 模式将APIFeedbackRequest序列化后封装成ScheduleMessageItem携带MEM_FEEDBACK_TASK_LABEL标签与task_id通过self.mem_scheduler.submit_messages(...)提交后台任务并立即返回空结果——这也正是文档所说接口立即返回task_id的来源sync 模式直接调用self.feedback_server.process_feedback(...)把user_id、chat_history、retrieved_memory_ids、feedback_content、corrected_answer、info等参数一次性传入同步等待处理结果返回。此外在语义反馈处理层feedback.py有一个值得注意的细节系统会把 LLM 解析出的操作区分成add与update含降级为 update 的条目当同时存在 update 对象时会跳过同批的 add 操作优先保证对已有记忆的覆盖更新而不是盲目追加新条目。这一更新优先于新增的策略正是纠偏语义的体现。5. 快速上手示例5.1 使用 Python SDK 提交反馈官方示例对应 client.py 中的add_feedback方法from memos.api.client import MemOSClient client MemOSClient(api_key..., base_url...) # 场景修正 AI 关于用户饮食偏好的错误记忆 res client.add_feedback( user_iddev_user_01, conversation_idconv_diet_001, feedback_content我不再减肥了现在不需要控制饮食。 ) if res and res.code 200: print(f反馈已提交: {res.message})MemOSClient.add_feedback的完整签名还支持更多可选参数便于在业务侧补齐上下文client.add_feedback( user_iddev_user_01, conversation_idconv_diet_001, feedback_content我不再减肥了现在不需要控制饮食。, agent_idagent_001, # 触发反馈的 Agent 标识 app_idapp_web, # 应用标识 feedback_time2026-09-23 10:00:00, allow_publicFalse, # 是否允许公开该反馈 allow_knowledgebase_idsNone, # 允许写入的知识库 ID 列表 )注意SDK 的add_feedback走的是内部POST /add/feedback路径适合快速接入而本文主讲的POST /product/feedback是面向多 Cube 纠偏的完整版接口两者在参数形态上略有差异后者以APIFeedbackRequest承载writable_cube_ids、retrieved_memory_ids、corrected_answer等纠偏专用字段。5.2 直接调用 HTTP 接口同步模式 精确修正当需要在一次请求内完成精确定位 记忆更正 回答回显时可构造如下请求体{ user_id: dev_user_01, session_id: default_session, history: [ {role: user, content: 我在字节跳动工作。}, {role: assistant, content: 好的已记住你在字节跳动工作。} ], retrieved_memory_ids: [mem_xxxx_01], feedback_content: 记错了我已经跳槽到腾讯了。, writable_cube_ids: [dev_user_01], async_mode: sync, corrected_answer: true, info: {agent_id: agent_001, source_type: web} }关键点说明retrieved_memory_ids填上一次检索返回的记忆 ID实现定点更正async_mode: sync让接口同步等待记忆更新完成配合corrected_answer: true拿到纠正后的回答若希望接口立刻返回、由后台异步完成纠偏则将async_mode改为async并配合task_id通过任务状态接口追踪处理进度。6. 使用场景与最佳实践6.1 纠正 AI 的错误推断人工干预在管理后台提供纠错按钮当管理员发现 AI 提取的记忆条目有误时调用此接口进行人工更正。此时建议始终携带retrieved_memory_ids把更正范围锁定到具体的记忆节点避免语义匹配误伤同 Cube 内的其他记忆。6.2 更新过时的用户偏好用户即时纠偏在对话 UI 中如果用户说出类似记错了不是这样的等话语可以自动触发此接口利用is_feedbackTrue反馈语义实现记忆的实时净化。例如用户纠正饮食习惯、工作单位等高频变化信息时系统会通过语义匹配找到旧记忆并覆盖为最新事实。6.3 权限与作用域注意事项注意如果反馈涉及的是公共知识库请确保当前用户拥有对该 Cube 的写入权限。这一点对应源码中的writable_cube_ids语义List of cube IDs user can write。在多租户 / 多 Cube 场景下务必显式声明writable_cube_ids避免缺省回退到[user_id]导致作用域错误在业务侧校验用户对目标 Cube 的写权限后再放行请求涉及公共知识库纠偏时通过info携带source_type、source_url等溯源信息便于后续审计。6.4 模式选型建议场景推荐模式理由后台批量纠错、非关键路径async立即返回task_id不阻塞主流程由MemScheduler调度执行对话内即时纠偏、需要回显新回答synccorrected_answertrue同步拿到纠错结果与纠正后回答直接渲染给用户知识库 / 文档类记忆更正syncretrieved_memory_ids定点更新避免模糊匹配扩散到无关条目7. 总结POST /product/feedback是 MemOS 记忆体系中的纠偏引擎它把用户的一句普通反馈转化为对 MemCube 内错误事实的精准定位、覆盖更新或置信度调整并通过async/sync双模式兼顾吞吐与实时性。结合本文剖析的源码链路——从路由注册、FeedbackHandler的 Cube 解析到SingleCubeView的模式分发与feedback_server的语义处理——开发者可以更自信地在业务中集成这一接口构建记忆会自我更正的长期记忆系统。进一步探索可参考接口文档原文、FeedbackHandler 实现、请求模型定义、路由注册、模式分发逻辑、纠正回答生成。赞分享人工智能大模型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 MemFeedback 记忆纠错机制详解让 Agent 听懂你记错了并自动修正记忆库MemOS MemFeedback 记忆纠错机制详解让 Agent 听懂你记错了并自动修正记忆库 MemFeedback 是 MemOS 开源仓库中负责人工智能大模型Agent 记忆AI AgentRAG知识图谱dsh-plugin深入解析 Feedback Transformer带反馈记忆的循环 Transformer 的 PyTorch 实现与训练指南深入解析 Feedback Transformer带反馈记忆的循环 Transformer 的 PyTorch 实现与训练指南 本篇指南基于开源仓库 anno人工智能深度学习大模型NLP计算机视觉强化学习LoRAMemOS 获取记忆接口实战/product/get_memory 分页查询与 /product/get_all 全量子图导出指南MemOS 获取记忆接口实战/product/get_memory 分页查询与 /product/get_all 全量子图导出指南 本篇指南聚焦 MemOS人工智能大模型Agent 记忆AI AgentRAG知识图谱dsh-plugin创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
electron-builder v27 新特性全解析:原生 ESM、Node 22.12 门槛与必须了解的默认行为变更 构建工具桌面应用开发工具 【免费下载链接】electron-builder A complete solution to package and build a ready for distribution Electron app with “auto update” support out of the box 项目地址: https://gitcode.com/gh_mirrors/el/electron-builder 点击… · 2026/9/23 17:28:14
三国周郎赤壁手写实现避坑指南:API大改后的保姆级教程 三国周郎赤壁手写实现避坑指南:API大改后的保姆级教程 刚把项目依赖从 v2.0 升到 v3.0,打开代码发现 赤壁 模块的接口全变了? analyzeTactics 方法不见了,参数签名也改了,跑起来直接抛 TypeError… · 2026/9/23 17:28:02
3天搞定比得兔大电影源码解析 3天搞定比得兔大电影源码解析 官方文档翻了三遍还是云里雾里,别怪你笨,是那些几百页的 PDF 根本就没给程序员留活路。想真正搞懂【比得兔大电影】背后的技术栈,光看文档没用了,直接上【源码解析】才是正道。… · 2026/9/23 17:28:02
Octop 静态博客生成器:从动态博客到 Markdown 构建的极简实践 上个月我终于把那个跑了好几年、一天能吃掉三四百兆内存的个人博客,完整迁移到了一个叫 Octop 的极简静态生成器上。换完以后,发布文章变成了“写一个 Markdown 文件,然后执行一条构建命令”这样简单的动作,连带服务器负载、数据库… · 2026/9/23 18:11:59
二手车注意事项:面试必问的性能优化实战指南 二手车注意事项:面试必问的性能优化实战指南 报错一堆看不懂 StackTrace?别慌。这就像你买辆二手车,看着仪表盘报警灯亮成一片,心里直打鼓。很多开发者在接手遗留系统或高并发场景时,第一反应就是“这代码怎么写的”,然后陷入无尽的调试深渊… · 2026/9/23 18:11:59
Word公式编辑器实战:倒V符号与上划线输入全攻略 1. 先搞清楚:倒V和横线加法到底指什么很多朋友在Word里写公式,卡的第一关往往不是公式本身多难,而是几个符号死活打不出来。你想要的很可能就是两类东西:一个是数学里的倒V符号“∧”,另一个是在字母或表达式上方拉一条… · 2026/9/23 18:11:52
产品交付控制程序:从订单承接到客户签收的全流程刹车 简介:核电产品交付控制程序的正式受控文档,面向核电制造企业质量管理人员、交付项目执行人员与过程审核人员,用于规范产品从完工到交付客户的全流程操作,确保交付环节受控并满足客户要求。资源包内共1个doc文档,大小25… · 2026/9/23 18:11:46
tm远程开发避坑:3个最佳实践解决90%报错 tm远程开发避坑:3个最佳实践解决90%报错 刚接手tm远程项目,是不是也被那堆红彤彤的Stack Trace搞得头秃?明明本地跑得好好的,一到远程环境就报连接超时、权限拒绝,日志里全是看不懂的异常堆栈。别慌,这其实是环境差异和配置疏漏的典… · 2026/9/23 18:11:39
双模式过载单块Icecreamer深度评测:透明推子与奶油主音如何兼得 ▲ 开头部分最近圈子里讨论度比较高的,就是这块 Tubes&Tone 的 Icecreamer 双模式过载。说实话,第一次听到这个名字的时候我还愣了一下,冰淇淋和过载有什么关系?后来拿到手试了一遍才反应过来,这个命名其实很妙——… · 2026/9/23 18:11:39
3招搞定手机怎么下载微信面试难题实战项目解析 3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29