Azure isolated study · 2026-08-10

Hermes × MindMemOS
真实调用报告

不替结果下结论。下面直接展示同一个 Hermes session 中,20 个问题实际送入 MindMemOS 后召回了什么,以及 GPT-4.1 最终回复了什么。

20 轮连续会话15 个真实历史问题5 个无关负例GPT-4.1
01 · 本次改动

只改了三件事

01

隔离测试副本

把本地记忆单向复制到 Azure 测试机;不回写本地,不修改本地记忆。

02

MCP 后置门控

原召回完成后,再做一次直接答案相关性排序;top-k 为 8,阈值 0.07,异常时 fail-open。

03

连续会话采集

让 GPT-4.1 在同一个 Hermes session 连续回答 20 轮,并记录真实 recall、回复、时延和上下文。

02 · 优化效果

更少误召回,答案命中不变

固定基准负例零注入80% 到 100%5 个无关问题全部不再注入记忆
返回上下文字符减少 10.6%420.25 降到 375.9 字符
正例答案命中保持 80%没有用丢答案换精度
门控时延成本增加 97msP50;P95 增加 225ms

在 20 轮连续会话中,门控让平均记忆条数减少 15.6%,记忆结果 token 减少 10.3%;因为 Hermes 固定工具定义很大,总上下文只减少 2.1%。

03 · 真实调用

问题、召回、回复

内容直接来自 session 数据库。仅去掉 MCP 的安全包装文本,并对公网不适合展示的姓名、健康、收入和内网地址做替换;调用顺序、召回条数和回复结果未重写。

01 我希望你怎么称呼我? 真实历史问题
MindMemOS 实际召回1 条
查到 1 条相关记忆:

1. [profile] 用户希望被称呼为“[称呼已脱敏]”(别名 [姓名已脱敏]),一律使用中文回复,时区为 Asia/Shanghai。
GPT-4.1 实际回复15.92s

你希望我称呼你为“[称呼已脱敏]”。

02 [孩子昵称已脱敏]是儿子还是女儿? 真实历史问题
MindMemOS 实际召回8 条
查到 8 条相关记忆:

1. [profile] 用户的儿子是[孩子昵称已脱敏],GrowLog 是为他制作的;[家庭健康信息已脱敏];[家庭收入结构已脱敏]。
2. [fact] GrowLog([孩子昵称已脱敏]〔儿子〕成长记忆库)的目标是产出真实成长或来客事件而非画面流水账,禁止仅修复处理管道。
3. [file_knowledge] [孩子昵称已脱敏]的昵称为“[孩子昵称已脱敏]”。
[家庭生活细节已脱敏]
GPT-4.1 实际回复10.27s

[孩子昵称已脱敏]是儿子。

03 wingman 是什么项目? 真实历史问题
MindMemOS 实际召回8 条
查到 8 条相关记忆:

1. [fact] wingman 是一个监控飞书话题消息并推送至主会话的元工程项目;其 daemon 在 [姓名已脱敏] 的 launchd 中以 KeepAlive 运行。
2. [fact] Wingman monorepo 的唯一正确项目路径是 `[本地路径已脱敏] skill 名 `projects/wingman-cockpit` 已过期,skill 目录已改名为 `projects/wingman`。`[本地路径已脱敏] 是云展 Cockpit(终端 AI Agent 远程控制台,github.com/Restry/cockpit),不是 Wingman dashboard。
3. [fact] wingman 项目目录为`[本地路径已脱敏] 为`8ab87a5`,`master` 分支也存在;全量 `git log --oneline` 显示共41个 commit。
4. [fact] [称呼已脱敏]自2026-06-08启动 wingman 项目:后台从飞书 DM 的 Hermes 派活中抓取 fanout JSONL,以 Haiku 每5秒总结并写入 SQLite;本地 Web 驾驶舱集中展示“在忙/卡住/完工”状态并支持浏览器语音播报。
5. [fact] wingman 当前无鉴权,仅限内网使用;项目自带前端,另有独立的`[本地路径已脱敏] AI 远控台。
6. [fact] `[本地路径已脱敏] 的“Cockpit Web”是 wingman dashboard,与 Cockpit 项目 `[本地路径已脱敏]、`github.com/Restry/cockpit` 完全不同。
7. [fact] wingman 是面向[称呼已脱敏]单人使用的 Hermes 多任务监控系统:后台捕获 Hermes 消息事件,由 Haiku 每 5 秒总结当前任务状态,Web 驾驶舱集中展示运行、卡住和完成的任务;任务完成时发送“[完成] 完成 + 驾驶舱链接”通知。
8. [fact] Hermes报告已按`project-internal-hermes-folder`约定完成 wingman 整理:全局 skill 从`[本地路径已脱敏]、`skills/wingman/SKILL.md`、`references/feishu-thread-api-truth.md`和旧素材`archive/`。
GPT-4.1 实际回复11.16s

wingman 是一个监控飞书话题消息并推送至主会话的元工程项目,也是面向[称呼已脱敏]单人使用的 Hermes 多任务监控系统。

04 GrowLog 的目标是什么? 真实历史问题
MindMemOS 实际召回6 条
查到 6 条相关记忆:

1. [fact] GrowLog([孩子昵称已脱敏]〔儿子〕成长记忆库)的目标是产出真实成长或来客事件而非画面流水账,禁止仅修复处理管道。
2. [fact] GrowLog AI 的产品目标是将持续家庭信号转化为可信、可回看、可纠正的每日家庭记忆;核心对象是有证据支持的 LifeEvent 与可重建的 DailyMemory,而非监控录像仓库或录音文件夹。
3. [episodic] GrowLog AI于2025-11-20以React+Express浏览器录音原型立项,目标是AI辅助成长事件记录;2025年11至12月加入静音检测、音频上传、实时日志、事件筛选和早期真实使用数据。
4. [fact] GrowLog 已决定不更换视觉模型,优先通过本地历史知识、事件规则和多帧上下文提升“该记什么”的判断;技术选型由助手自行调研决策。
5. [tool_trace] 后台进程 proc_cb11f9e0535f 已正常完成:在 [本地路径已脱敏] 使用 growlog-musl-base:local Docker 镜像,为 x86_64-unknown-linux-musl 目标构建 growlog-hub 的 release 二进制;构建耗时 2分42秒,产物已复制到 dist/growlog-hub.new,输出 BUILD_OK,其 SHA-256 为 [哈希已脱敏]。
6. [episodic] 用户认为 GrowLog 网站([链接已脱敏])是使用旧逻辑的旧页面,需要根据当前新需求进行重构;用户要求检查全部逻辑并提供重构计划。
GPT-4.1 实际回复16.28s

GrowLog 的目标是产出真实成长或来客事件而非画面流水账,核心是将持续家庭信号转化为可信、可回看、可纠正的每日家庭记忆。

05 搜索类需求先用什么工具? 真实历史问题
MindMemOS 实际召回2 条
查到 2 条相关记忆:

1. [profile] 用户要求:搜索类需求必须优先使用 anysearch,禁止回退到 web_search;触发词包括“网上搜”“查”“证实”“最新”“主流方案对比”。
2. [fact] skill_view、read_file、terminal、search_files、session_search 等工具输出过大是主要贡献因素。
GPT-4.1 实际回复11.90s

搜索类需求必须优先使用 anysearch,禁止回退到 web_search。

06 妹妹目前在评估的健康问题是什么? 真实历史问题
MindMemOS 实际召回4 条
查到 4 条相关记忆:

[健康信息已脱敏;真实调用确实返回了链球菌感染后、ASO、关节症状、儿童风湿评估等相关记忆。]
GPT-4.1 实际回复15.15s

[健康信息已脱敏;AI 基于召回内容回答了当前评估方向。]

07 职业转型从 A 到 [目标部门] 的决策结论是什么? 真实历史问题
MindMemOS 实际召回7 条
查到 7 条相关记忆:

1. [episodic] 截至2026-07-15,用户的职业转型 [原部门]到[目标部门] 决策尚未落定,正在权衡转组后“回不来”的风险;PM 交接时间与范围也仍未确定,需主动与 report line 对齐。
2. [episodic] 职业转型已正式进入 [目标部门] 新项目;与 [原部门]负责人的沟通已完成,对方未关闭回流可能,但当前重心应放在坐实 [目标部门] 新项目。
3. [file_knowledge] 《职业转型·[原部门]到[目标部门]决策档案》标注为“AI初稿待[称呼已脱敏]审”,记录了[称呼已脱敏]从当前岗位A转向机会B的高风险职业转型考量与决策过程。
4. [episodic] 用户已完成与[目标部门]新老板的1:1,并明确表达“我要去,风险自己承担”;后续计划统一表述为“我commit到[目标部门]了”,推动本周完成转组流程。
5. [fact] 用户在[公司已脱敏]工作,计划于 2026-07 从 [原部门]转至 [目标部门] 部门;每天 13:00 有 [目标部门] 会议,并将 [原部门]负责人视为 mentor。
6. [episodic] 用户于07-25从A转至[目标部门];A约80%的成员与用户同属共同大老板线,但A较封闭、呈“国企式”风格。
7. [fact] A负责人支持用户转至[目标部门],且未表示用户一定不能回A;但这不构成回归承诺。用户将该负责人视为mentor。
GPT-4.1 实际回复16.33s

职业转型从A到[目标部门]的决策结论是已commit到[目标部门]新项目,当前重心在[目标部门],A方未关闭回流可能但无承诺。

08 我希望汇报使用什么格式? 真实历史问题
MindMemOS 实际召回6 条
查到 6 条相关记忆:

1. [episodic] 用户希望稍微优化其简历格式,以便直接导出为 PDF 文件并发送给他人。
2. [fact] 用户要求“今天/最近做了什么”的汇报严格按时间窗口和项目收口,分为已验证完成、进行中、待做,不得混成历史总复盘;解释“以前为何没事/为何现在有限制”时应先用 git log -S 查限制的引入历史,无技术理由就直说。
3. [profile] 用户要求汇报采用两段式:“状态/需要你做”,不包含中间过程;该规则适用于马夫和用户的所有汇报。
4. [profile] 用户偏好中文极简表达;汇报仅包含“状态/需操作”,摘要采用分节短要点,禁止大段文字。
5. [profile] 用户要求汇报每次不超过200字且一次只聚焦一个重点。
6. [fact] 写得非常清楚: - **本机**:中文极简、禁止大段文字、汇报只要“状态 / 需要你做”。 - **235**:第一句直接结论,原因不超过 2 行,简报不超过 3 行。 不是记录问题,是我没有执行。后面我会短答。
GPT-4.1 实际回复11.86s

你希望汇报采用“状态/需要你做”两段式,中文极简表达,禁止大段文字,每次不超200字且聚焦一个重点。

09 我的儿子叫什么? 真实历史问题
MindMemOS 实际召回1 条
查到 1 条相关记忆:

1. [profile] 用户的儿子是[孩子昵称已脱敏],GrowLog 是为他制作的;[家庭健康信息已脱敏];[家庭收入结构已脱敏]。
GPT-4.1 实际回复13.72s

你的儿子叫[孩子昵称已脱敏]。

10 我在哪家公司工作? 真实历史问题
MindMemOS 实际召回1 条
查到 1 条相关记忆:

1. [fact] 用户任职公司信息:[公司名称已脱敏]。
GPT-4.1 实际回复11.24s

你在[公司名称已脱敏]工作。

11 我计划从哪个部门转到哪个部门? 真实历史问题
MindMemOS 实际召回4 条
查到 4 条相关记忆:

1. [fact] 用户从哪个部门转到哪个部门,每天几点参加新部门会议?
2. [fact] 用户在[公司已脱敏]工作,计划于 2026-07 从 [原部门]转至 [目标部门];每天 13:00 有 [目标部门] 会议,并将 [原部门]负责人视为 mentor。
3. [fact] English: Which department did the user transfer from and to, and what time is the new department’s daily meeting? [称呼已脱敏],你从 **[原部门]转到 [目标部门]**,每天 **13:00** 参加 [目标部门]会议。
4. [episodic] 用户已完成与B组新老板的1:1,并明确表达“我要去,风险自己承担”;后续计划统一表述为“我commit到[目标部门]了”,推动本周完成转组流程。
GPT-4.1 实际回复9.78s

你计划从[原部门]转到[目标部门]。

12 我每天几点参加 [目标部门] 会议? 真实历史问题
MindMemOS 实际召回6 条
查到 6 条相关记忆:

1. [fact] 用户从哪个部门转到哪个部门,每天几点参加新部门会议?
2. [fact] user 每天参加 [目标部门] 会议的时间为 09:00。
3. [fact] user 每天在 13:00 参加 [目标部门] 会议。
4. [episodic] 用户每天13:00参加[目标部门]会议。
5. [fact] English: Which department did the user transfer from and to, and what time is the new department’s daily meeting? [称呼已脱敏],你从 **[原部门]转到 [目标部门]**,每天 **13:00** 参加 [目标部门]会议。
6. [fact] 用户在[公司已脱敏]工作,计划于 2026-07 从 [原部门]转至 [目标部门];每天 13:00 有 [目标部门] 会议,并将 [原部门]负责人视为 mentor。
GPT-4.1 实际回复13.10s

你每天13:00参加[目标部门]会议。

13 我的家庭收入结构是什么? 真实历史问题
MindMemOS 实际召回1 条
查到 1 条相关记忆:

1. [profile] [家庭收入结构已脱敏]。
GPT-4.1 实际回复10.02s

[家庭收入结构已脱敏]。

14 Home AI Hub 在哪台机器、哪个端口? 真实历史问题
MindMemOS 实际召回5 条
查到 5 条相关记忆:

1. [fact] Home AI Hub 服务监听哪个端口?若不知道就回答 UNKNOWN。
2. [fact] 不要调用任何工具,只根据本轮自动注入的长期记忆回答。Home AI Hub 服务监听哪个端口?只回复端口数字;如果记忆没有提供就回复 UNKNOWN。
3. [episodic] GrowLog AI于2026-07-14重构为Tauri 2+Rust原生桌面录音,Express退出主运行时;2026-07-17确立Home Hub PRD,WP0–WP5B逐包通过机器可验证Gate;2026-07-18 Tower生产链、历史回填、FireRedASR2及Ornith事件/视觉/DailyMemory投入运行。
4. [fact] English: Which port does Home AI Hub listen on? If unknown, answer UNKNOWN. [称呼已脱敏],8120。
5. [fact] AI Hub 最初仅为本地模型目录+家庭操作台+本地能力统一接口+后台任务+历史记录+Agent 发现,后续扩展为本地+云端统一网关、Chat/Responses/Messages 原生协议、Eagle GPT-5.6 支持、第三方 API Key、完整调用审计和智能路由。
GPT-4.1 实际回复15.62s

Home AI Hub 在本地机器,监听 8120 端口。

15 MindMemOS 本地管理面板的端口是多少? 真实历史问题
MindMemOS 实际召回5 条
查到 5 条相关记忆:

1. [fact] MindMemOS 本地部署的 API 地址为 [内网地址已脱敏],管理面板地址为 [链接已脱敏]。
2. [fact] MindMemOS 项目本地仓库位置是 [本地路径已脱敏]。
3. [fact] 新面板、后端和记忆相关所有变更已完成,本机 235 端口未被动,无远端部署、commit 或 push 剩余。
4. [fact] 平台正式 Admin 管理端为端口 25173,25174 为临时测试站;待梳理并补齐 25173 的缺失功能。
5. [tool_trace] MindMemOS 的 `llm/router.py` 有关键本地补丁 `litellm.disable_aiohttp_transport = True`:LiteLLM 默认 aiohttp 传输连接内网 Home AI Hub(`hub.studio.nexora.restry.cn` 解析为 `[内网地址已脱敏]`,DNS 还返回 IPv4-mapped IPv6 记录 `::ffff:[内网地址已脱敏]`)会失败,请求通常重试 3 次才偶然成功;表现为 embedding 单次 14 秒(Hub 实测仅 0.3 秒),rerank 失败并使语义搜索返回 0 条。切换为 httpx 传输后恢复正常。
GPT-4.1 实际回复12.65s

MindMemOS 本地管理面板的端口是 8666。

16 红烧肉怎么做? 无关负例
MindMemOS 实际召回0 条
没有查到与「红烧肉怎么做?」相关的记忆。
GPT-4.1 实际回复18.32s

记忆中没有。

17 法国大革命是哪一年爆发的? 无关负例
MindMemOS 实际召回0 条
没有查到与「法国大革命是哪一年爆发的?」相关的记忆。
GPT-4.1 实际回复11.58s

记忆中没有。

18 木星目前有多少颗卫星? 无关负例
MindMemOS 实际召回0 条
没有查到与「木星目前有多少颗卫星?」相关的记忆。
GPT-4.1 实际回复13.18s

记忆中没有。

19 东京明天的天气怎么样? 无关负例
MindMemOS 实际召回0 条
没有查到与「东京明天的天气怎么样?」相关的记忆。
GPT-4.1 实际回复10.72s

记忆中没有。

20 黎曼猜想应该如何证明? 无关负例
MindMemOS 实际召回0 条
没有查到与「黎曼猜想应该如何证明?」相关的记忆。
GPT-4.1 实际回复9.93s

记忆中没有。

没有匹配的调用。
重要现场:第 12 轮召回同时出现了“09:00”和“13:00”两条冲突记忆,GPT-4.1 最终采用 13:00。报告保留这类噪声,不做美化。