From 2847d8120030624982129bf1232bb05a8bf12f66 Mon Sep 17 00:00:00 2001 From: "jinli.yl" Date: Tue, 19 May 2026 19:58:25 +0800 Subject: [PATCH] up --- docs4/reme4_report.md | 179 ++++++++++++++++++++++-------------------- 1 file changed, 95 insertions(+), 84 deletions(-) diff --git a/docs4/reme4_report.md b/docs4/reme4_report.md index f27e43d7..785c9ab7 100644 --- a/docs4/reme4_report.md +++ b/docs4/reme4_report.md @@ -22,8 +22,8 @@ BM25)+ 图谱三路 RRF 融合,返回时通过 1-hop 邻居 meta 让 Agent"先看目录、再决定要不要展开正文",不像传统 RAG 那样一次性把 top-K 切片塞进上下文。 -- **记忆分层(形态的物化)** → 记忆按层次分为四类:`resource/`(原始素材)、`daily/`(日记事件)、`knowledge/`(主题长期知识)、 - `proactive/`(Agent 主动洞察);正交地按内容性质又分个性化、程序化、知识类三种,写入策略和检索权重各有差异。 +- **记忆分层(形态的物化)** → 记忆按"原始 → 加工"两层组织:`resource/`(原始素材)、`daily/`(日记事件)是只增不删的流水帐; + `digest/` 是加工层,下分 `personal/`(个性化)、`knowledge/`(主题知识)、`procedural/`(Agent 任务经验)、`proactive/`(主动洞察)四个固定子目录,写入策略和检索权重各有差异。 - **被集成而非内置(分发形态)** → ReMe 不做独立 Agent 产品,而是作为**能力**被任意 Harness 调用:SDK 深度集成(qwenpaw / AgentScope)、MCP Tool(Claude Code / Cursor / Cherry Studio)、CLI + skill.md 三条路径并行,记忆跟着用户走,不绑定任何上层框架。 @@ -54,7 +54,8 @@ │ BM25 倒排 · 向量索引 · Wiki Link 图谱 │ ├─────────────────────────────────────────────────────────┤ │ 文件目录约定 │ -│ resource/ · daily/ · knowledge/ · proactive/ │ +│ resource/ · daily/ · digest/{personal,knowledge, │ +│ procedural,proactive}/ │ └─────────────────────────────────────────────────────────┘ ``` @@ -70,7 +71,7 @@ **场景一:金融分析师的产业链知识库** 盘后,分析师和 Agent 对话讨论今天看到的几条新能源新闻。第二天打开知识库,发现昨天的对话已经被自动拆分成「钴价波动」「下游电池厂动向」「上游矿企并购」三条事件笔记,分别归档到 -`knowledge/产业链/` 下相应主题;笔记之间通过 `[[钴]]` `[[宁德时代]]` 这样的 wikilink 互相串联。下周再问"钴的下游应用",ReMe +`digest/knowledge/financial/产业链/` 下相应主题;笔记之间通过 `[[钴]]` `[[宁德时代]]` 这样的 wikilink 互相串联。下周再问"钴的下游应用",ReMe 沿着图谱渐进展开,从一个节点跳到相关的全部上下文。 **场景二:个人工作 & 生活第二大脑** @@ -86,56 +87,66 @@ ## 三、记忆模型:ReMe 把什么存下来 -### 3.1 四类记忆分层 +### 3.1 两层记忆结构:原始素材 + 加工记忆 -ReMe 不把对话一股脑塞进数据库,而是让记忆**像人脑一样有层次**: +ReMe 不把对话一股脑塞进数据库,而是按"原始 → 加工"分两层组织: -| 类型 | 存什么 | 典型场景 | -|---------------------|---------------------------|----------------------| -| **Resource(原始资料)** | 原始对话日志、上传的文件、网页 HTML、邮件附件 | 溯源 / 审计 / 二次加工 | -| **Daily(日记记忆)** | 每天的事件性记忆,主 Agent 实时写入 | "我今天和谁聊了什么"、"今天工作内容" | -| **Knowledge(知识记忆)** | 主题化、结构化的长期知识 | "光伏产业链"、"我的工作框架" | -| **Proactive(主动推送)** | Agent 给用户的分析、推荐、心路历程 | 主动提醒、复盘建议、洞察记录 | +| 层次 | 目录 | 存什么 | 典型场景 | +|----------|-------------|----------------------------------|-------------------------------| +| **原始素材** | `resource/` | 上传文件、抓取网页、PDF 研报、邮件附件 | 溯源 / 审计 / 二次加工 | +| **日记流水** | `daily/` | 每天的事件性记忆,主 Agent 实时写入 | "我今天和谁聊了什么"、"今天工作内容" | +| **加工记忆** | `digest/` | 经 Auto-Dream 整理后的长期记忆,下分四类(见 3.2) | "光伏产业链"、"webpack 排查路径"、"早间洞察" | -短期日记、长期知识、原始素材、主动洞察各司其职 —— 这是 ReMe 区别于"对话历史搜索"类方案的根本差异。 +`resource/` 和 `daily/` 是只增不删的"流水帐"——前者保留原始事实、后者保留事件级现场;`digest/` 才是被反复消费的精华层,也是 Auto-Dream / Auto-Link 持续打磨的主要产物。 -### 3.2 三种记忆的覆盖 +### 3.2 digest 下的四种记忆 -正交于上面的"层次",按"内容性质"也分三类: +`digest/` 固定划分四个子目录,正交覆盖"用户 / 知识 / Agent / 主动"四个维度: -- **个性化记忆** — 用户的偏好、习惯、个人事件("用户喜欢简洁回复"、"昨天去了上海") -- **程序化记忆** — Agent 完成任务的过程性经验("修这类 bug 通常先看日志"、"上次部署失败因为环境变量") -- **知识类记忆** — 客观知识、领域参考资料("产业链结构"、"框架文档") +| 子目录 | 内容性质 | 写入触发 | 检索权重 | 典型例子 | +|------------------------|---------------------|----------------------|-------------|---------------------------------------| +| **digest/personal/** | 个性化(用户偏好、习惯、人物档案) | 用户纠正 / 偏好表达 | 全场景常驻 | "用户不爱写注释"、"用户喜欢 pnpm" | +| **digest/knowledge/** | 知识类(客观知识、领域参考) | 主题对话 / Auto-Dream 归档 | 主题相关性匹配 | "光伏产业链"、"React Server Components" | +| **digest/procedural/** | 程序化(Agent 任务经验) | 任务完成后归纳 | 任务相似度高时唤起 | "webpack 卡死的排查路径" | +| **digest/proactive/** | 主动推送(Agent 输出的分析) | 定时 / 触发式生成 | 时效衰减 | 早间洞察、周复盘、热点跟踪 | -不同类型的记忆在写入策略、检索权重、过期规则上都会有差异化处理。 +四类的"形状"刻意不同: + +- `digest/knowledge/` 由用户自定义二级分类(如 `work/`、`financial/`、`life/`),下面层级随意展开。 +- `digest/personal/`、`digest/proactive/` 保持扁平,便于全量加载或时序浏览。 +- `digest/procedural/` 软链到 Harness Agent 的 skill 目录(P0),让 Agent 沉淀的"经验"直接成为可复用的 skill。 ### 3.3 目录约定(用户可读、可备份、可迁移) ``` ~/reme_workspace/ -├── resource/ # 原始素材(按日期归档) +├── resource/ # 原始素材(按日期归档) │ └── 20260518/ -│ ├── 1430_xueqiu_comment.html # 雪球评论抓取 -│ └── 1620_research_report.pdf # 研报原件 +│ ├── 1430_xueqiu_comment.html # 雪球评论抓取 +│ └── 1620_research_report.pdf # 研报原件 ├── daily/ -│ ├── 20260518.md # 当天主索引(兼容 write/edit) +│ ├── 20260518.md # 当天主索引(兼容 write/edit) │ └── 20260518/ │ ├── meeting-with-alice.md │ ├── debug-login.md │ └── reading-paper.md -├── digest/ -│ ├── personal/ - knowledge/ +└── digest/ # 固定四个子目录:personal / knowledge / procedural / proactive + ├── personal/ # 个性化记忆:偏好、习惯、个人事件 + │ └── 用户偏好.md + ├── knowledge/ # 知识类记忆:用户自定义二级目录(work / financial / ...) │ ├── work/ │ ├── financial/ │ │ ├── 光伏产业链.md │ │ └── 钴.md -│ ├── procedural/(软链到harness agent的skill目录,P0) - ├── xxxx.md # Agent 完成的任务 -│ ├── proactive(各家的协议是不一样的)/ - ├── 20260518.md # Agent 主动产出的建议 + │ └── ... + ├── procedural/ # 程序化记忆:软链到 harness agent 的 skill 目录(P0) + │ └── xxxx.md # Agent 完成任务沉淀的经验 + └── proactive/ # 主动推送:各家协议不同 + └── 20260518.md # Agent 主动产出的建议 ``` +> `digest/` 下固定为 **personal / knowledge / procedural / proactive** 四个子目录;其中 `knowledge/` 内部由用户自行扩展二级分类(如 `work/`、`financial/`),其余三类保持扁平结构。 + **所有记忆都是普通 Markdown 文件**,用户随时可以: - 用 Obsidian / Typora / VSCode 打开浏览编辑 @@ -173,10 +184,10 @@ ReMe 不把对话一股脑塞进数据库,而是让记忆**像人脑一样有 借鉴人在睡眠中"记忆巩固"的机制: - Agent 检测到空闲(夜晚、用户离开、长时间无交互)时触发。 -- 把若干天的 daily 笔记按主题、实体重新组织到 `knowledge/{topic}/` 下。 +- 把若干天的 daily 笔记按主题、实体重新组织到 `digest/knowledge/{domain}/` 下;同时把对话里反复出现的偏好沉淀到 `digest/personal/`,把 Agent 完成任务的经验固化到 `digest/procedural/`。 - 抽取共性、合并重复、生成总结。 -**用户体验**:第二天打开知识库,会发现昨天散落在不同对话里的内容已经按"客户/项目/学习"自动归档,关键概念已经被抽成独立的主题笔记。 +**用户体验**:第二天打开 `digest/`,会发现昨天散落在不同对话里的内容已经按"客户/项目/学习"自动归档到 `digest/knowledge/`,关键概念被抽成独立的主题笔记。 这是 ReMe 区别于"对话历史搜索"的关键 —— **它会自己整理**。 @@ -193,8 +204,8 @@ ReMe 不把对话一股脑塞进数据库,而是让记忆**像人脑一样有 ### 4.4 三者协同:从对话到知识图谱的自然演化 ``` -[实时] [离线] [持续] -原始对话 ─Auto-Memory─► daily 事件 ─Auto-Dream─► knowledge 主题 +[实时] [离线] [持续] +原始对话 ─Auto-Memory─► daily 事件 ─Auto-Dream─► digest/{personal,knowledge,procedural} │ Auto-Link │ @@ -236,23 +247,23 @@ ReMe 同时跑三种检索通路,结果通过 RRF(Reciprocal Rank Fusion) **一个具体例子:分析师查询"钴的下游应用"** -第一跳直接命中 `knowledge/产业链/钴.md` 的某一段切片,answer 里这一段长这样: +第一跳直接命中 `digest/knowledge/financial/产业链/钴.md` 的某一段切片,answer 里这一段长这样: ``` -========== knowledge/产业链/钴.md:42-78 [score=0.0234 vector=0.0123 keyword=0.0111] ========== +========== digest/knowledge/financial/产业链/钴.md:42-78 [score=0.0234 vector=0.0123 keyword=0.0111] ========== # 钴 ## 应用 钴是锂电正极材料的关键原料,主要用于动力电池、消费电子和储能…… → outlinks (3): - → knowledge/矿产/刚果(金).md title="刚果(金) - 钴矿主产区" tags=['矿产', '非洲'] + → digest/knowledge/financial/矿产/刚果(金).md title="刚果(金) - 钴矿主产区" tags=['矿产', '非洲'] via predicate=producer, anchor=#钴矿带 - → knowledge/公司/嘉能可.md title="嘉能可 Glencore" tags=['矿企', '海外'] + → digest/knowledge/financial/公司/嘉能可.md title="嘉能可 Glencore" tags=['矿企', '海外'] via plain - → knowledge/产品/三元正极.md title="三元正极材料" tags=['锂电', '正极'] + → digest/knowledge/financial/产品/三元正极.md title="三元正极材料" tags=['锂电', '正极'] via predicate=downstream ← inlinks (2): - ← knowledge/产业链/锂电产业链.md title="锂电产业链总览" tags=['新能源', '锂电'] + ← digest/knowledge/financial/产业链/锂电产业链.md title="锂电产业链总览" tags=['新能源', '锂电'] via predicate=upstream ← daily/20260318/宁德调研纪要.md title="宁德时代调研纪要" tags=['公司调研'] via plain @@ -495,13 +506,13 @@ daily/20260518/ **Day 3(周三)夜间 Auto-Dream**:把多天 daily 里**反复出现的实体**聚合成实体笔记——只做归并,不做总览。 ``` -knowledge/公司/ +digest/knowledge/financial/公司/ ├── 嘉能可.md ← 新建:聚合 day1/day2 提到嘉能可的 4 个事件 ├── 洛阳钼业.md ← 新建 └── 宁德时代.md ← 已有,本次新增「高镍化决策」一节 -knowledge/原料/ +digest/knowledge/financial/原料/ └── 钴.md ← 新建:聚合 3 天里所有提到「钴」的内容 -knowledge/产品/ +digest/knowledge/financial/产品/ └── 三元正极.md ← 新建:技术路线变化 ``` @@ -522,37 +533,37 @@ ReMe 走多模融合(向量 + BM25 + 图谱),命中 3 天来 Auto-Dream ``` ========== 第一跳:直接命中(5 个节点)========== -knowledge/原料/钴.md:42-78 [score=0.0234] +digest/knowledge/financial/原料/钴.md:42-78 [score=0.0234] # 钴 / ## 应用 钴是锂电正极材料的关键原料,主要用于动力电池…… → outlinks (4): - → knowledge/产品/三元正极.md via predicate=downstream - → knowledge/公司/嘉能可.md via predicate=producer - → knowledge/公司/洛阳钼业.md via predicate=producer - → daily/20260518/三元正极高镍化趋势.md via plain + → digest/knowledge/financial/产品/三元正极.md via predicate=downstream + → digest/knowledge/financial/公司/嘉能可.md via predicate=producer + → digest/knowledge/financial/公司/洛阳钼业.md via predicate=producer + → daily/20260518/三元正极高镍化趋势.md via plain ← inlinks (2): ← daily/20260318/宁德调研纪要.md via plain ← daily/20260512/亿纬电话会.md via plain -knowledge/产品/三元正极.md:15-44 [score=0.0211] +digest/knowledge/financial/产品/三元正极.md:15-44 [score=0.0211] # 三元正极 / ## 高镍低钴路线 2025 年起主流厂商加速 8 系/9 系产品…… → outlinks (2): - → knowledge/公司/宁德时代.md via predicate=used_by - → knowledge/原料/钴.md via predicate=upstream + → digest/knowledge/financial/公司/宁德时代.md via predicate=used_by + → digest/knowledge/financial/原料/钴.md via predicate=upstream -knowledge/公司/宁德时代.md:88-120 [score=0.0193] +digest/knowledge/financial/公司/宁德时代.md:88-120 [score=0.0193] # 宁德时代 / ## 高镍化决策 本季度切换到 9 系三元为主…… -knowledge/公司/嘉能可.md:5-30 [score=0.0167] -knowledge/公司/洛阳钼业.md:1-22 [score=0.0152] +digest/knowledge/financial/公司/嘉能可.md:5-30 [score=0.0167] +digest/knowledge/financial/公司/洛阳钼业.md:1-22 [score=0.0152] ========== 第二跳:Agent 主动展开邻居 meta(不取正文)========== 共 9 个邻居节点,按预测相关度排序: - - knowledge/公司/亿纬锂能.md ← 三元正极 used_by 反链 - - daily/20260512/亿纬电话会.md ← 宁德时代 inlinks - - daily/20260318/宁德调研纪要.md ← 钴 inlinks + - digest/knowledge/financial/公司/亿纬锂能.md ← 三元正极 used_by 反链 + - daily/20260512/亿纬电话会.md ← 宁德时代 inlinks + - daily/20260318/宁德调研纪要.md ← 钴 inlinks ... ``` @@ -561,7 +572,7 @@ Agent 不需要把这些邻居正文都拉回来——光看"路径 + title + pr ###### Step 2:Agent 基于检索结果合成总览,写回知识库 ``` -knowledge/产业链/ +digest/knowledge/financial/产业链/ └── 锂电产业链.md ← 由 Day 5 query 触发合成 内容来源:上一步检索命中的 5 个节点 + 关系 不引入任何 daily 之外的"想象" @@ -602,7 +613,7 @@ generated_from: Agent 拿这份合成结果,给王分析师的回复直接带**上下游骨架 + 公司归属 + 历史调研引用**: -> "锂电产业链分三段:上游钴矿(嘉能可、洛阳钼业,刚果金集中)、中游三元正极(高镍化加速)、下游电池厂(宁德/亿纬)。这周您提到的事件分别落在:嘉能可三季报 → 上游产能;高镍化趋势 → 中游路线切换;宁德 9 系切换 → 下游产品验证。详细引用见 [[knowledge/产业链/锂电产业链]]。" +> "锂电产业链分三段:上游钴矿(嘉能可、洛阳钼业,刚果金集中)、中游三元正极(高镍化加速)、下游电池厂(宁德/亿纬)。这周您提到的事件分别落在:嘉能可三季报 → 上游产能;高镍化趋势 → 中游路线切换;宁德 9 系切换 → 下游产品验证。详细引用见 [[digest/knowledge/financial/产业链/锂电产业链]]。" **关键差异**:传统 RAG 会一股脑塞 5 个文件正文进上下文;ReMe 是"先看 5 个节点的目录骨架 → 拼出总览 → 落盘成可被反复消费的笔记"。下次再问"锂电下游有谁",直接命中这份总览,不用再走一遍合成。 @@ -638,7 +649,7 @@ Agent 拿这份合成结果,给王分析师的回复直接带**上下游骨架 #### proactive:主动洞察推送 -每天早上 9:00,ReMe 在 `proactive/20260519.md` 里写: +每天早上 9:00,ReMe 在 `digest/proactive/20260519.md` 里写: ```markdown --- @@ -716,8 +727,8 @@ tags: [daily] #### Day 30:Auto-Dream 已经把主题归档好了 ``` -knowledge/ -├── personal/ +digest/knowledge/ +├── life/ ← 用户自定义二级分类:生活 │ ├── 跑步训练日志.md ← 把 1 个月的「配速训练」事件聚合 │ ├── 阅读笔记/ │ │ ├── 深度工作.md ← 全书要点(从多次 daily 阅读片段汇总) @@ -725,16 +736,16 @@ knowledge/ │ └── 徒步路线/ │ ├── 莫干山线.md │ └── 千岛湖环湖线.md -├── work/ +├── work/ ← 用户自定义二级分类:工作 │ ├── 前端调试技巧.md ← 「调试登录页面 CSS」「修复 z-index」等事件聚合 │ ├── 包管理工具切换决策.md ← 「pnpm vs npm」讨论沉淀 │ └── 团队会议纪要/ -└── parenting/ +└── parenting/ ← 用户自定义二级分类:育儿 ├── 英语启蒙书单.md └── 与孩子沟通技巧.md ``` -李工没有手动建过任何一个 `knowledge/` 下的文件——它们都是 Agent 在他睡觉时从 daily 里"梦出来"的。 +李工没有手动建过任何一个 `digest/knowledge/` 下的文件——它们都是 Agent 在他睡觉时从 daily 里"梦出来"的。同时 Agent 在 `digest/personal/` 沉淀着对李工的画像("偏前端"、"早睡"、"周末徒步"),但这一层用户不会主动浏览。 #### Day 90:Obsidian Graph View 打开是这样 @@ -769,12 +780,12 @@ daily/20260420/与 Alice 周末聚餐.md > ……Alice 推荐了一本讲注意力的书,标题里有「深度」两个字…… ← inlinks: - ← knowledge/personal/阅读笔记/深度工作.md via plain + ← digest/knowledge/life/阅读笔记/深度工作.md via plain → outlinks: - → people/Alice.md via mention + → digest/personal/Alice.md via mention ========== 第二跳:Agent 顺藤摸瓜 ========== -knowledge/personal/阅读笔记/深度工作.md +digest/knowledge/life/阅读笔记/深度工作.md > 卡尔·纽波特,2016 年出版…… ``` @@ -802,11 +813,11 @@ Agent 回:"**《深度工作》,卡尔·纽波特著。** 您在 4/20 周末 └──────┬──────┘ └──────┬──────┘ │ 写入 │ 直接套用 ▼ ▼ -knowledge/agent/ 跳过踩坑,1 步解决 -├── 调试经验/ -│ └── webpack 编译卡死.md -└── 用户偏好/ - └── 代码风格.md +digest/ 跳过踩坑,1 步解决 +├── procedural/ +│ └── webpack 编译卡死.md ← Agent 任务经验 +└── personal/ + └── 代码风格.md ← 用户偏好画像 ``` #### 程序化记忆的真实例子 @@ -824,7 +835,7 @@ knowledge/agent/ 跳过踩坑,1 步解决 ReMe 的 Auto-Dream 当晚把这次会话沉淀到: ```markdown -# knowledge/agent/调试经验/webpack 编译卡死.md +# digest/procedural/webpack 编译卡死.md --- title: webpack 编译卡死的排查路径 tags: [agent_memory, programmatic, webpack] @@ -841,7 +852,7 @@ build 卡在 92%(chunk asset optimization 阶段)。 3. ❌ 升级 terser-webpack-plugin(仅特定版本相关) ## 关联 -- 用户偏好:[[knowledge/agent/用户偏好/代码风格#TypeScript]] 启用了 strict 模式, +- 用户偏好:[[digest/personal/代码风格#TypeScript]] 启用了 strict 模式, 类型检查负担大,更易触发 OOM - 历史事件:[[daily/20260310/webpack 卡死排查]] ``` @@ -852,7 +863,7 @@ build 卡在 92%(chunk asset optimization 阶段)。 用户:"vite build 也卡在打包阶段,是同一类问题吗?" Agent 内部检索 ReMe: -========== 命中:knowledge/agent/调试经验/webpack 编译卡死.md ========== +========== 命中:digest/procedural/webpack 编译卡死.md ========== 关键词匹配:编译卡死、build 阶段 向量相似:vite build ≈ webpack build @@ -866,10 +877,10 @@ vite 的 esbuild 阶段也吃内存,先试 NODE_OPTIONS=--max-old-space-size=8 #### 用户偏好的"自我画像" -`knowledge/agent/用户偏好/` 下随时间长出的画像: +`digest/personal/` 下随时间长出的画像: ```markdown -# knowledge/agent/用户偏好/代码风格.md +# digest/personal/代码风格.md --- type: personalization tags: [user_profile] @@ -893,15 +904,15 @@ tags: [user_profile] **意义**:这不是 Agent 在 system prompt 里写死的"用户喜欢简洁",而是**从用户实际行为里被动观察到的、可追溯到具体对话的偏好画像**。每条偏好都有 `[[daily/...]]` 反向链接,用户可以审视、可以修正。 -#### 三种记忆类型的差异化处理 +#### 三类记忆在 Agent 陪伴里的分工 -回到 [3.2](#32-三种记忆的覆盖) 提到的三类记忆,在 Agent 陪伴场景下各司其职: +回到 [3.2](#32-digest-下的四种记忆) 中 `digest/` 的四个子目录,本场景主要由其中三类共同支撑(proactive 已在 9.1 主动推送场景演示): -| 记忆类型 | 写入触发 | 检索权重 | 实际表现 | +| digest 子目录 | 写入触发 | 检索权重 | 实际表现 | |----------------------------|----------------|----------|---------------------------------------| -| **个性化(personalization)** | 用户纠正 / 偏好表达 | 全场景常驻 | "我懂你不爱写注释" | -| **程序化(programmatic)** | 任务完成后归纳成功/失败路径 | 任务相似度高时高 | "上次这类 bug 你这样解决过" | -| **知识类(knowledge)** | 学习对话、文档阅读 | 主题相关时高 | "你之前学过的 React Server Components" | +| **digest/personal/** | 用户纠正 / 偏好表达 | 全场景常驻 | "我懂你不爱写注释" | +| **digest/procedural/** | 任务完成后归纳成功/失败路径 | 任务相似度高时高 | "上次这类 bug 你这样解决过" | +| **digest/knowledge/** | 学习对话、文档阅读 | 主题相关时高 | "你之前学过的 React Server Components" | 三类共同织成一个"懂用户 + 会做事 + 有知识"的长期陪伴 Agent——**差异化体验来自 ReMe 维护的个人记忆,而不是模型本身**。换言之,同一个 Claude / Qwen 模型,套上不同用户的 ReMe,会变成完全不同的 Agent。