Skip to content

Latest commit

 

History

History
528 lines (351 loc) · 58.2 KB

algorithm-effectiveness-report.md

File metadata and controls

528 lines (351 loc) · 58.2 KB

Memory V2 算法效果报告

Memory V2 · 历史证据与本次 CI 测量 / Qwen3 Embedding 0.6B

最新已复核测量见第 15 节,来源为 44546 CI;第 1 至 14 节保留历史结果与当时状态。 历史章节中的“当前”“尚未发布”等措辞只对应各自轮次。44546 检索结果与前次报告逐字节相同,没有新增质量提升证据,也不代表后续提交通过。当前行为以记忆系统规格为准。

0.62 和 0.57 是同一小样本语料上的暂定工作点,没有独立保留测试集。历史源码的 Windows CRLF 与 Git LF 字节表示分别记录哈希;execution 中的提交、时间和工作区声明属于后来添加的发布记录,不是评测程序自行输出的测量证据。

1. 结论与决策

V2 在这批小规模经历检索样本上,能以较少噪声找回大多数相关记忆;向量缺失会明显降低覆盖率,词法准入仍是主要误召回来源。现有证据支持继续受控验证 V2,尚不足以证明整体优于 V1 或启动 V1 迁移。

  • 完整向量:50 个问题中 49 个命中相关记忆(98%),100 个相关片段找回 93 个;候选准入精度 93.94%,上下文 nDCG@8 0.9274。
  • 缺失全部 50 条短片段向量:问题命中仍为 96%,但片段召回从 93% 降至 73%;“还能找到一点”掩盖了内容覆盖的下降。
  • 完全无向量:问题命中降至 74%、片段召回 56%。仍有词法补救能力,不能称为与完整向量等效。
  • 完整向量的 6 条误召回中,5 条仅靠关键词通过准入。优先改进这条路径,并用独立语料复验。

这里的 98% 是记忆主题命中率,不是用户问题的回答准确率;本评测没有生成或评分最终回答。

三种向量状态的主题命中率和片段召回率

2. 评测到底测了什么

项目 实际设置
主语料 50 个公开、人工编写的英文工作/生活主题(问题与片段均为英文);每题 1 条短经历与 1 条长经历,共 100 条
相关性标注 每题自己的 2 条片段为相关,其余 98 条为不相关;标注由主题归属定义
长度范围 短片段 112–150 字符;长片段 373–523 字符。表述也不同,不能把差异仅归因于长度
分母 每模式 50 × 100 = 5,000 个 query–fragment 对:100 正例、4,900 负例
模型 已安装的 qwen3-embedding:0.6b,1,024 维;真实模型向量写入实际 SQLite V2 数据库
流程 候选相关性准入 → 排序 → MMR → recall 上下文格式化;使用实际产品检索路径
排序与上下文 排序 k=8;主质量统计采用 3,000 字符上限
年龄/重要性 所有主语料记录相同;不衡量时间权重或重要性权重的质量增益
向量可用性模式 完整向量;仅删除全部短片段的 50 个向量(保留长片段和 query 向量);完全不使用向量

“缺失短片段向量”不是随机缺失 50% 的模拟。三个模式复用同一批 50 个问题,不是 150 个独立问题,也不是 15,000 个独立问题。所有问题都预设有答案,没有无答案问题集。

主质量集只评测 episodic / 经历检索。事实仅有额外的中日韩结构样例;规则检索、记忆提取/写入正确率、真实长期学习没有对应质量分数。

3. 核心结果与口径

向量状态 候选准入精度(micro) 上下文精度(macro) 片段召回率 问题命中率 上下文 nDCG@8
完整向量 93.94% 93.67% 93% 98%(49/50) 0.9274
缺失全部短片段向量 92.41% 91.00% 73% 96%(48/50) 0.7714
完全无向量 91.80% 71.33% 56% 74%(37/50) 0.5962

指标说明:

  • 候选准入精度:所有问题的 TP ÷ (TP + FP);这里 admission 是检索候选的相关性准入,不是记忆写入成功率。评测先成功写入全部 100 条经历。
  • 上下文精度:先算每题返回片段中相关片段的比例,再对 50 题平均;空结果按 0 计。它不是固定分母为 8 的 precision@8。
  • 片段召回率:找回的相关片段数 ÷ 100;每题两个正例,使逐题宏平均与该汇总分母一致。
  • 问题命中率:两条等价相关片段中至少找到一条即命中;一次命中不能证明找齐证据、多跳推理成功或回答正确。50 题中一题就是 2 个百分点。
  • nDCG@8:0–1 的排序指标,相关片段排得越靠前越好;不是“百分之多少答对”。

无向量的 91.80% 与 71.33% 并不矛盾:前者只看进入候选的片段;后者对所有问题平均,把空结果也计入。只展示前者会掩盖覆盖率损失。

原始混淆计数

向量状态 TP:相关且进入 FP:不相关却进入 FN:相关但漏掉 TN:正确排除
完整向量 93 6 7 4894
缺失全部短片段向量 73 6 27 4894
完全无向量 56 5 44 4895

三种模式中的正确候选、误召回和漏召回

相对完整向量,缺失短向量使片段召回下降 20 个百分点;完全无向量下降 37 个百分点,问题命中下降 24 个百分点。这些是 V2 历史快照的向量缺失对照,不是 V1→V2 的改进幅度,也不是按时间衰减实验。

4. 真正有用的失败分析

4.1 词法补救同时带来噪声

完整向量模式中,99 条通过准入的候选按原因拆分:

准入原因 正确 不相关 观察
语义与关键词同时满足 55 0 本样本中最稳定的一组
仅语义满足 37 1 唯一 FP 的 cosine=0.5724,刚过长片段门槛 0.57
仅关键词满足 1 5 补回 1 条相关片段,同时引入 5 条噪声

仅关键词子集只有 6 条,不能把 1/6 外推为生产精度。但它清楚指出当前样本中的误召回来源:通用词重合不一定代表用户在问同一件事。

下表查询为英文原题的中文译述。

用户查询 错误候选 通过的词法证据 实际影响
团队的 onboarding guide 放在哪里? grafana-dashboard-owner.long:描述团队负责哪些 Grafana 面板 keep、team;coverage=0.5;cosine=0.4054 无关面板信息混入 onboarding 证据
数据库里如何存储时间戳? audit-log-retention.short:审计记录保留年限 database、store;coverage=0.6667;cosine=0.5650 不相关记录排在相关时间戳片段前面

词法补救也确实有价值:python-version-floor.short 的 cosine=0.6009,低于短片段门槛 0.62,靠 python、support 找回。后续应验证短语/实体约束与通用词降权,而不是直接删除整条补救路径。

4.2 漏召回与“仅返回错误片段”必须分开

  • 完整向量唯一完全漏召回的问题是 commute-preference。产物没有保存该题两条被拒片段的完整分数轨迹,不能把原因单独归咎于模型或阈值。
  • 缺失短向量时,完全未命中的主题增加到 2 个:commute-preference 与 slack-notification-hours。
  • 无向量时有 11 题空结果 + 2 题只返回错误片段;后两题是 timezone-storage 与 email-bounce-handling。因此“非空”不能用来代替“命中”。
向量状态 短片段找回 / 50 长片段找回 / 50
完整向量 47 46
缺失全部短片段向量 27 46
完全无向量 27 29

5. 历史基线:V2 历史快照 与 V1 如何比较

本表描述取消时间衰减之前的 V2 实验;其中的年龄因子已被第 10 节的 V2 策略删除。 嵌入模型没有更换。V1 已经有向量检索、关键词路径、时间权重和 MMR;V2 改的是这些部件的策略与边界。

环节 V1 行为 私有 V2 行为 已有证据的范围
经历相关性门槛 短片段 0.55;>300 字符 0.42 短片段 0.62;>300 字符 0.57,并允许关键词证据补救 当前样本内工作点,非通用校准值;阈值不是概率
缺失记录向量 有 query 向量时,未嵌入记录不能通过向量路径补回 同时检查词法证据,允许待嵌入记录参与 部分缺失与无向量实验有实测结果
词法归一化 原有分词与回退规则 NFKC/casefold、功能词过滤、CJK 相邻字对 中日韩是结构样例,不是总体语言质量评测
年龄权重 指数衰减,无最低保留比例 年龄因子最低保留 0.75;相关性主导排序 规则与回归验证;未测长期记忆质量增益
MMR 与候选顺序 已有 MMR;门槛先于最终输出 limit,但 FAISS 先截取至多 limit×2 个候选 复用 MMR,完整私有候选扫描包含缺向量记录 本评测执行了该路径,没有独立证明 MMR 增益
去重与纠正 存在前缀/相似性去重及既有退休逻辑 全文相同去重;不因前缀或高相似度吞掉不同经历;更保守地纠正/退休 数据保留与生命周期回归,不是检索准确率数字
输出与预算 原有上下文路径 返回实际入选记忆及检索证据,统一字符预算,跳过放不下的单条 字符上限及证据一致性检查

当前没有 同语料、同模型、同时间设置、同预算的 V1/V2 全链路 A/B 结果,所以不能给出“整体提升 X%”。现有 admission.py 支持同一批余弦分数上的准入对照,但不覆盖排序、时间、MMR 或最终上下文。旧 LoCoMo/会话级分数的语料、分母、时间设置和指标不同,也不能与本表相减。

6. 预算、可靠性与体验证据

向量状态 主质量集平均上下文字符 最大字符 空结果题数
完整向量 744.08 1310 1
缺失全部短片段向量 677.16 1310 2
完全无向量 483.90 1310 11

主质量集每题最多返回 3 条,最大 1,310 字符,低于 k=8 / cap=3,000。因此三个模式的排序指标与最终上下文指标相同;这组数据没有形成足够的 top-k 或预算竞争,不能证明 MMR 或预算策略提高了质量。

另外完成了 50 题 × 3 模式 × 6 个上限 = 900 次字符预算检查,上限分别为 0、20、150、300、1,000、3,000,全部通过。中、日、韩各一个事实/经历案例,以及超长单条跳过、遗忘后排除检查也通过。这些证明功能约束,不代表多语言总体效果或受限预算下的回答质量。

实际隔离 MCP 的保存/读取/召回、成员执行、备份重启恢复已在交接文档记录。它们证明成员绑定与功能通路可用;不能当作检索准确率或最终回答质量证据。

平均 744.08 字符不等于 744 tokens;这里没有测量延迟、内存、吞吐、实际 token 数、嵌入成本或调用费用,不能宣称“更快”或“节省 X% 成本”。

7. 局限与下一轮评测优先级

优先级 需要回答的问题 建议验证方式
P0 离开用于选阈值的语料,还能保持效果吗? 冻结参数,用独立主题/用户/表达的留出集,加入难负例和无答案问题;保留逐题拒绝原因
P0 V2 是否真的优于 V1? 同模型、同语料、同 k/cap/年龄和筛选口径的全链路配对对照;分开报告精度、覆盖与排序
P1 词法补救能否少引入噪声? 对比短语/实体约束及通用词权重;同时监控类似 Python 版本例子的补回收益
P1 找回记忆后,助手是否答得更对? 真实回答生成与证据评分;加入事实、规则、跨会话纠正、时间变化及多跳问题
P1 在更大的记忆库与小预算下是否可用? 1k/10k/更大规模,制造超过 k 与 cap 的竞争,测冷/热 P50/P95 延迟、内存及 token
P2 长期与多语言是否稳定? 更广的中日韩语料、年龄/重要性分层、跨会话提取与持续学习评测

这些是后续验证建议,不是已经完成的实验。本报告的决策建议是保持 V1 不迁移,在私有 V2 中继续调试并建立独立质量门槛。

8. 数据来源与复现

本报告只使用 Memory V1 与 Memory V2 两个产品名称。历史 JSON 仅规范化算法标签,逐题结果、数值、其他证据和原有指纹保持不变;provenance 记录规范化前的原始文件 SHA-256,并明确旧源码没有输出规范化后的标签。快照时间与源码指纹用于区分实测运行,不代表产品子版本。

  • 原始完整评测 JSON:保留策略修改前的原始快照,逐题入选 ID、证据、模式结果与模型指纹;完整字节已归档。
  • 评测程序:ranking_metrics、_mode_report、_edge_report 定义指标与流程。
  • 公开语料与标签:50 个主题与各自两条相关片段。
  • V2 策略与检索实现:阈值、词法证据、排序、MMR 与上下文。
  • 语料约束校验:validate_corpus 拒绝 write_episodic 会丢弃的片段;原同余弦 V1/V2 准入对照 CLI 未保留在仓库中。
  • 评测产物完整性测试:本次复核 3/3 通过;另按入选 ID 独立重算上下文指标,与产物一致。

语料 SHA-256:646922d14616e33a67b4b05181ac633ca1def857592b7d063665a96839b29c7f

模型 SHA-256:06507c7b42688469c4e7298b0a1e16deff06caf291cf0a5b278c308249c3e439

标签规范化前的原始 JSON SHA-256:d2893f5646535f1fdbdf1bf18c24e89e05f459a6ad4fe017069734862aef913a

重新运行实测时,使用已有本地 GGUF(程序禁用下载、采用隔离临时数据目录):

python -m kiro_crew.eval.bench.member_v2 --model-path <existing.gguf> --json <report.json>

指纹用于固定输入与产物;不同推理运行环境仍可能存在数值差异。历史 V2 产物没有完整记录硬件、库版本和源码哈希,不能声称已具备完全冻结的运行环境。第 11 节的 V2 复跑另行记录源码指纹。

9. Schema、按需检索与大规模编辑验证

研究依据与实现选择

LongMemEval 将信息提取、跨会话推理、时间推理、知识更新和拒答分别评测,并研究事实扩展索引与时间过滤。它也指出,把所有经历压成事实会损失上下文。因此本实现保留原始经历,在已有事实旁增加明确身份与有效期。LangChain 的记忆设计文档 说明了集合式记忆与更新协调的取舍;Mem0 的提取与更新分离提供了参考。这里没有引入图数据库或额外服务,也没有把论文中的收益百分比套用到 Kiro Crew。

V1 和 V2 各自在本库中增加 memory_record_meta 与 memory_revisions,保留已有物理表、成员隔离与原始内容。事实身份采用明确的 subject / predicate / scope;类别、来源、观察时间和有效区间帮助区分同一事实的更新与不同实体的相似描述。修订历史保留修改前后内容。

仅在私有 V2 中,自动提取的高 confidence 不能替代用户授权。模糊冲突保留当前事实并记录建议;可验证的用户纠正结合完整的最新用户消息与读取时的 revision,防止过期后台任务覆盖较新的事实。自动更新只接受支持的独立、明确替换语句;不能截掉引用周围的否定、假设、示例或代码来授权。较复杂的表述保留为待审建议。回归样例覆盖有效期、原始证据、虚构纠正、反向替换、否定/假设语句和并发变更;这些是针对性正确性检查,不是新的总体准确率或真实长期对照实验。

以下效果使用真实 SQLite 验证。共享编辑检查覆盖 V1 和 V2,自动提取的冲突与纠正检查仅针对 V2。对应的Schema 回归及编辑与审阅回归验证:

场景 当前结果 能说明什么
稀疏键 user.route_42 只保存地址,查询 Alice billing 未加身份时无匹配;加入 Alice / billing_email 后找回该事实,全程无 Embedding 明确身份能补回该类关键词缺口
当前、已过期、未来生效的事实与经历混合 编辑器保留三类;召回仅纳入当前有效内容 有效期过滤与管理可见性分离
高 confidence 模糊断言、明确用户纠正、过期快照、助手伪造引用四例 分别为保留并提议、更新、保留用户较新值、保留并提议 更新取决于证据与修订,不能仅由分数授权
用户拒绝建议并保留当前值 内容与向量不变,新增审阅修订,旧建议保留为历史 冲突能完成接受或拒绝的完整闭环
修改经历正文、另一连接改写向量、重启后读取 不会用旧向量给新正文打分;补齐向量后按新内容召回 派生索引与事实内容一致

V2 的四例更新检查另用旧规则的简化表达式作对照:它在其中三例不符合预期;当前实现四例均符合预期。这是刻意构造的规则对照,不是运行旧版本的 A/B,也不是 75% 准确率提升。 中英文纠正证据还要求消息时间不早于当前事实的更新时间,避免迟到的旧话语覆盖新决定。

V1 的自动合并保留原有语义提示、置信度及来源优先级、置信度 1.0 的来源分类、直接删除旧键、相同值的刷新和用户明确来源的规则写入。共享修订记录与用户编辑不会把这些 V1 策略切换为 V2。V2 自动重新提取已遗忘的同一键时,只保存待审建议,原记录仍不进入召回。

检索与资源变化

V2 消息构建读取核心身份、项目资料和作用域规则;语义及经历片段通过 memory_recall 按需检索。该工具按可信会话选择 Store。V1 首轮保留原有偏好、项目、历史、语义、经历和按查询筛选的规则注入,后续轮次使用原生会话历史。仅 V2 的消息构建检查要求不执行片段召回或查询 Embedding。

同一网关内的内置 Embedding 后端共享一个模型、一个推理工作线程及 128 条缓存;历史测量版本的原生推理默认一个计算线程、上限两个。本轮已移除这个硬上限,显式配置的线程数会保留;默认值为四个原生计算线程;单个推理工作线程负责排队,两者不是同一个设置。原生等待队列最多八项,保留两个交互位置,每批最多八条,每条输入最多 6,000 字符。它是网关内的资源约束;异步入口按事件循环限流,并非整台机器的全局配额。取消请求也不能立即中断已开始的原生推理,工作位置会保留到推理结束。此处报告的是代码和并发测试验证的资源上限,没有测量不同机器上的真实 CPU/GPU、模型 RSS 或最终响应延迟改善百分比。

Memory MCP 的正文保持 3,000 字符上限,同时对完整记忆结果执行 16 KiB 传输预算。预算计入证据、预览、JSON 多层转义和 TextContent 封装,并为常规 RPC ID/帧头预留 1 KiB;任意超长的调用方 RPC ID 不属于记忆数据预算。结果只携带实际选中的片段、稳定 ID 和精简来源,完整正文仍在管理页。脱敏后再次检查;超限时移除尾部整条结果,并同步更新正文、证据、计数和省略标记。

用户体验:普通助手与成员执行

是否进入 Ultra Mode 本身不决定记忆版本,可信的成员绑定才决定读写哪个库。

使用入口 记忆与体验
普通助手、没有成员绑定 使用 Global V1;首轮保留原有偏好、项目、历史及语义/经历/规则召回,也可主动调用 Memory MCP
成员私聊,即使没有开启 Ultra Mode 使用头像对应的私有 V2;创建默认空白,可明确选择复制起始资料并保留来源
Ultra Mode 委派、成员定时任务、重启后继续 读写跟随原成员绑定;找不到或无法验证私库时明确失败
两种版本的管理页 共享分页搜索、跨页选择、预览后批量修改和修订审阅;邮箱地址通过普通搜索查找,操作仅作用于当前 Store

私有执行的真实验收运行于 WSL 隔离网关。复制、备份与恢复按成员独立进行;恢复会在网关重启后激活。V1 可使用共享修订元数据、编辑器和可选 Memory MCP;原有检索及自动合并策略保留,不自动转换成 V2。

10,000 条记忆的编辑实测

每个版本独立构造 10,000 条已索引合成事实,每五条有一条 Email 地址。测试查阅末页、预览并原子替换全部 2,000 条匹配记忆,然后核对完整结果。修改阶段不生成 Embedding;原有向量失效后由正常后台补齐。

指标 V1 V2
总记录 / 匹配并修改 10,000 / 2,000 10,000 / 2,000
末页查询 962.86 ms 1,112.82 ms
全选择预览 1,533.19 ms 1,613.90 ms
原子提交 3,119.93 ms 2,857.99 ms
Python 分配峰值 7.09 MiB 6.99 MiB
预览展示 / 实际处理 25 / 2,000 25 / 2,000
修改阶段 Embedding 调用 0 0

运行环境为 Windows、Python 3.12.14,计时全程启用 tracemalloc。这是一次合成数据运行,不是 P50/P95;内存列是 Python 分配峰值,不是整个进程 RSS。Email 数据按构造可确定匹配,不能把 2,000/2,000 解读为真实邮件主题抽取准确率。并发变更拒绝、整批回滚、跨 Store 隔离、保留草稿后刷新和同一预览重试幂等另由回归测试覆盖。

规模探针脚本与结果 JSON 未保留在仓库中;上表是一次性的历史测量,不能作为后续代码的证明。

**尚不能下结论的部分:**Schema 改动带来的总体 recall、consolidation 和最终回答准确率增益,仍需独立、真实且有时间变化的语料配对评测。第 3 节的 98% 主题命中率属于先前的经历检索基线,不能用于填补这个证据缺口。V1 数据不自动迁移到 V2。

既有工程验收

  • 真实隔离网关上的 7 条浏览器流程全部通过;连同登录准备为 8/8。覆盖复制、纠正、遗忘、备份暂存、成员会话持久化,以及 V1/V2 的跨页批量编辑和建议接受/拒绝。窗口从桌面切到手机宽度时,查询、选择和预览保持不变。
  • 编辑服务、HTTP API 与真实路由启动的 Linux 回归 54/54;前端编辑与导航回归 63/63。生产构建、类型检查、lint、文档检查和整仓格式门禁通过。这些组与其他算法测试存在重叠,不汇总为一个虚大的总数。
  • 实际重启后,成员内容、元数据与完整修订历史恢复到备份,其他成员和 V1 保持原样。生产 MCP stdio 的私库读写/召回及拒绝伪造全局、兄弟成员身份检查通过。

工程验收使用真实浏览器、HTTP、SQLite 与 WSL 隔离边界,模型后端使用测试替身;它证明功能通路和边界,不代替真实模型的长期记忆质量评测。

完成审计补齐

对照完整目标复查后,补上以下可复现缺口:

检查场景 修正后的结果
首次提取的新事实带有分类 metadata 正常创建首个 revision,不会误入冲突分支或留下孤立建议
模型只引用否定/示例语句中的替换片段 按完整最新用户消息判断,不能据此覆盖当前事实
提取期间编辑、删除对话,或追加用户撤回 深拷贝原始证据,写入前重新核对;过时结果不写入,原跨度保持待处理
提取期间只追加助手确认 仍可提交有效的原始纠正,新增确认留待下次处理
旧备份恢复的超长记忆、Unicode/转义与脱敏扩张 HTTP 与生产 MCP 编码后的结果仍满足正文及传输预算,完整源记录保留
批量选择后匹配集合发生变化 刷新重新计算当前匹配数,正确处理已删除或不再匹配的排除项
正在编辑的记录消失后又被恢复 保留草稿,允许再次刷新并获取恢复后的 revision
超过一页的修订历史 可继续加载;读取失败后重试保留已加载内容

最终针对性回归:Linux Schema/纠正 90 项、对话合并 114 项、召回与生产 MCP 封装 215 项、编辑服务/HTTP 85 项;前端编辑与导航 88 项均通过。这些组存在重叠,不能相加为独立测试总数。Windows 补充执行了完整消息纠正、最新对话变更和传输封装检查;Linux 执行真实 FAISS 路径。

全新隔离网关上的实际 Chromium 对 V1/V2 分别验证三个新增状态流程:409 后匹配数由 63 正确刷新至 66;缺失记录恢复后成功提交原草稿;25 条首屏历史之后继续加载旧修订,并从一次模拟读取错误中成功重试真实 HTTP。390 像素手机宽度无页面溢出。临时网关已停止,测试数据已回收。更新后的报告在 1280/390 像素检查通过,2 幅 SVG 保留,16 张表正常,宽表在容器内滚动。

10. V2:长期保留、核心资料注入与按需召回

本轮只改变成员私有 V2;Global V1 保持本轮开始时的行为。 用户明确取消的是按时间衰减、因年龄降权和自动淘汰。无向量时的词法补救继续保留。

什么必须一直在,什么需要时再找

层次 V2 当前策略 用户可见结果
成员身份与永久规则 从已验证私库推导唯一成员,读取当前规则和绑定模板的 persona 私聊、委派、定时任务都跟随同一成员身份
项目指南与 Soul 当前项目的 AGENTS.md、SOUL.md、始终启用的 steering,以及模板声明的 Markdown 资料进入核心区 首轮、后续轮次、恢复和压缩后继续都获得当前版本
私有偏好与项目资料 通过成员私库校验后进入核心区;尊重会话明确关闭的记忆/项目上下文 无需依赖一次相似度检索才能看到核心资料
事实与经历片段 用具体问题调用 memory_recall,按相关性证据、重要性与 MMR 选择有界结果 年龄不再让相关旧记忆输给较新的内容

原生 steering 的 manual、auto、fileMatch 仍遵守各自触发条件;它们不会因为存放在 steering 目录就全部变成必读。成员绑定的自定义 persona 与通用产品提示词分开处理,通用产品提示词保持既有会话启动流程。运行任务时覆盖执行模板,不改变私库所属成员的身份。

核心区有独立的 64,000 字符总上限。必读源无法读取或总量超限时,执行明确失败并指出来源,不悄悄截掉尾部。用户可以缩短或调整声明的资料;这是一项读取/上下文约束,不删除磁盘上的资料。显式关闭的记忆或项目上下文也不会被核心区重新打开。

删除了哪些自动退化

机制 V2 行为 保留的明确控制
年龄参与排序 已删除;共享 V1 衰减配置也不影响 V2 分数 相关性门槛、重要性和检索证据
日志随年龄缩成标题、计数或不可见 不再按年龄缩减内容;常规读取取有界的完整日记条目 单次读取上限,原始旧文件继续保留并可重建检索索引
自动历史清理 V2 prune_history 不删除文件 用户明确遗忘与独立备份恢复
超过经历容量就删除旧条目 V2 跳过旧容量淘汰,写入和明确复制继续保留 返回数量、MMR 和上下文预算仍有界
模型猜测新旧规则矛盾后删旧规则 V2 不再运行这条后台删除流程 同一身份的冲突建议、用户审阅及可验证纠正
后台整篇重写偏好/项目资料 V2 核心 Markdown 只作为只读提取上下文,不受全局旧迁移设置影响 用户主动编辑核心资料;新事实与修改建议进入结构化记录

明确遗忘、事实有效期和有证据的纠正/替代继续有效。“长期保留”不会使已过期事实重新成为当前事实,也不会恢复用户已经遗忘的记录。会话转录归档和备份副本的轮换不等于删除当前成员的记忆条目,本轮没有取消这些独立生命周期。

已验证的效果与边界

  • 同样相关、同样重要的记忆,改变创建年龄后分数相同;即使把 V1 衰减配置调高,V2 也不受影响。旧条目的余弦相关度为 0.82、新条目为 0.80 时,旧条目可以排在前面。
  • 实际 SQLite 中写入和复制超过旧容量上限,重新打开后内容仍存在;显式遗忘仍生效。配对 V1 回归仍验证其原有时间衰减和容量策略。
  • 多年前的完整历史在 V2 读取、索引重建和重新打开后保留;同样的 V1 样例仍执行原有分层读取和清理。常规历史响应最多取 366 个有效日期文件、累计 8 MiB 内容,限制响应大小而非存储年限。
  • 核心资料测试覆盖真实项目文件、绑定 persona、永久规则、私有偏好,以及首轮、后续轮次、恢复、压缩后和最小上下文流程。小的普通上下文预算不会截掉核心指南尾部;更新 Soul 后下一轮读取新内容。
  • 成员私库、声明的项目/模板资料各自校验读取范围。V1 记忆和其他成员的状态文件不能通过模板资源混入 V2;普通消息构建不执行片段召回或查询 Embedding。

这些是可重复的行为与隔离验证,证明“旧记忆不会因年龄退化”和“核心资料送入上下文”。第 11 节已补充 V2 真实模型检索复跑;仍没有 V1 与 V2 的全链路 A/B,也未评分模型是否逐条遵守注入指南。 因此不报告新的总体准确率提升。存储量不再受自动淘汰控制,完整候选扫描的成本会随记忆规模增长;返回预算有界不能证明检索延迟恒定。

相关回归:排序与保留、历史策略、私库读取与编辑 API、核心资料注入、规则更新。

本轮 Linux 回归组 结果
V2 算法与真实 FAISS 对照 120 通过
私库读取、历史、索引事务与 V1 保持检查 156 通过
规则矛盾处理与写入调度 83 通过
上下文、V1 输出、按需检索与成员生命周期 192 通过
最终核心资料源修正复验 24 通过

这些组有重叠,不能相加为独立测试总数。最终资料源检查在 Windows 为 23 通过、1 项因系统未开放创建文件符号链接权限而跳过;Linux 执行了该链接拒绝检查。实际私库 HTTP 读取失败会返回明确的 503 原因;FTS 重建逐文件缓冲,后续文件失败时回滚,其他读取连接仍可查询旧索引。

全仓类型检查覆盖 1,336 个源码文件并通过;文档检查、格式门禁与 lint 通过。报告保留原来的两幅模型基线图,新章节在桌面和 390 像素手机宽度检查过,无页面横向溢出。

**实际成员执行验证也通过:**全新 WSL 隔离网关中,通过正式接口选择项目后,首轮实际 ACP 提示词包含该项目的 AGENTS 与 Soul;修改 Soul 后,下一轮实际收到新内容,且没有 V1 标记。把该 Soul 增至 64,001 字符时,用户收到包含文件名及超限原因的 SSE 错误,模型后端没有被再次调用。未选择项目时,成员也不会自动读入另一个工作目录的 Soul。该验证使用真实 HTTP、成员会话绑定和隔离执行器,ACP 模型采用测试替身,因此证明的是内容送达和失败行为。

同一新网关的生产 Memory MCP 保存、列举和召回通过;伪造/留空 V1 身份、兄弟成员 Store/会话和提升为 owner 的尝试均被拒绝,V1 与兄弟成员内容保持原样。验证结束后,7 个跟踪的临时进程均已停止,隔离数据目录已回收。

11. V2 真实模型复跑:同语料检索质量保持一致

2026-09-08 19:43 UTC,已用真实 qwen3-embedding:0.6b(1,024 维)重新运行 Memory V2 的实际 SQLite 准入、排序、MMR 与 recall 路径。 本节记录集成 main 后的这次复跑;第 1–8 节的 V2 历史快照保留原始测量值和两幅历史图。

复跑沿用同一批 50 个主题、100 条长短片段,每题有 2 条相关片段与 98 条不相关片段,每种模式共 5,000 个候选对。全部主语料记录年龄与重要性相同。排序 k=8,下表上下文质量仍按 3,000 字符上限统计;三个模式复用同一批问题。

模式 候选准入精度 上下文精度(宏平均) 片段召回率 主题命中率 上下文 nDCG@8
完整向量 93.94% 93.67% 93% 98%(49/50) 0.9274
缺失全部短片段向量 92.41% 91.00% 73% 96%(48/50) 0.7714
完全无向量 91.80% 71.33% 56% 74%(37/50) 0.5962

逐项比较两份原始 JSON,三种模式的准入混淆计数、准入精度/召回率,以及排序和上下文的全部宏平均质量指标均与 V2 历史快照相同。这表示当时测量的两个历史快照在这批样本上表现相同,不证明本轮修复后的检索质量。 三种模式的最大上下文长度均由历史的 1,310 字符变为本次的 1,296 字符;每题六档上下文预算检查均通过。

中、日、韩的事实与经历命中、预算检查,以及当时“跳过超长候选”和排除已遗忘记录的结构检查均通过。这些是历史运行结果;当前代码改为保留带 ID 与明确截断标记的有界片段,尚未继承该次运行的指标。这些固定样例不能作为多语言质量基准。

证据边界:这不是 V1 与 V2 的质量增益比较,也不是生成回答准确率、独立留出集或长期记忆测试。 相同年龄与重要性的语料不能衡量取消时间衰减后的质量收益;完整向量、部分缺失和无向量模式衡量的是同一小语料上的检索与降级表现。它也没有评估模型是否遵守核心指南。

本次 V2 原始 JSON 不再随仓库提交:CI 的 member-recall 步骤(ci.yml 中 backend-test-sandbox 作业调用 scripts/ci-member-memory-benchmark.py)把每次运行的 member-v2-hybrid-qwen3.json、provenance.json 与 run.log 作为构建产物 member-recall-qwen-<sha> 发布(保留 30 天)。该 JSON 保留逐题结果、模型与语料 SHA256,并以 execution.source_sha256 封存 memory_v2.py、vector_memory.py 和两个评测源码文件。这些提交、源码指纹与改动状态是后加的发布记录,不是评测程序独立生成的执行证明。历史源码使用 Windows CRLF 字节指纹,归档同时提供可核对的 Git LF 原文;归档未包含完整运行环境锁。后续 rebase 或集成改变这些源码时,应重新核对指纹;若影响检索路径则重跑,不能把本次结果直接视为后续代码的证明。

12. 本次 CI 测量:检索计数与未解决检查

本节追加本次 CI 产物中的实测结果,第 1 至 11 节的历史数值和图表保持原样。测量已完成,但 bounded_oversized.passed = false,仍待评审定位;本次产物不能作为全部检查通过或发布门禁通过的证明。

证据来自已保存的 member-v2-hybrid-qwen3.json、provenance.json 与 run.log。本次更新解析并交叉核对这些产物,没有重新调用模型,也没有独立核验完整 CI 作业日志。provenance.status 为 completed measurement; scores and structural checks require review。

运行身份与可核对的来源

  • CI 运行 34321741403,attempt 1;产物 10092236389。
  • PR head:201eb6e1b7b36ba93c3ee1f3fa8fa0ed09326070;CI synthetic checkout:0291a6eff1733e175153adc5c094d10bb2a85166。两者是不同提交,不能互换。
  • 原始测量 JSON 的 SHA256:aa7f6d4de1c6cdfc63db7fbf9a7221e7cb3cdb4a64d9835d87053f66ee9fe66c,与 provenance.report_sha256 一致。
  • 固定模型:qwen3-embedding:0.6b,1,024 维;模型 SHA256:06507c7b42688469c4e7298b0a1e16deff06caf291cf0a5b278c308249c3e439。
  • 主语料 SHA256:646922d14616e33a67b4b05181ac633ca1def857592b7d063665a96839b29c7f,仍为同一批已提交的 50 个主题。
  • 运行环境记录为 Linux x86_64、Python 3.12.14、SQLite 3.45.1、NumPy 2.5.3,runner image 20260831.293.1;accelerators.numpy = true、accelerators.faiss = false,未安装 faiss-cpu 或 diskcache。这些产物没有给出运行起止时间或耗时。

配套源码审计已将 provenance.canonical_source_sha256 中全部 1,420 个 Python 文件逐项核对到上述 PR head 的 Git 文件内容。规范化规则仅将 CRLF 换为 LF,其余字节保持原样。这支持所列 Python 源码与该 PR head 一致,不能把 PR head 与 synthetic checkout 合并为同一身份,也不能证明整个源码树、依赖、原生库、模型执行环境或完整运行环境完全相同。

同语料检索结果

每种模式包含 100 条长短经历片段、50 个问题及 5,000 个问题与片段候选对。每题自己的 2 条片段标为相关,另 98 条标为不相关;年龄与重要性相同。三个模式复用同一批问题,主题命中表示至少一个等价相关片段被保留,不是生成回答准确率。

模式 准入 TP 准入 FP 准入 FN 准入 TN
完整向量 93 5 7 4895
缺失全部短片段向量 73 5 27 4895
完全无向量 56 5 44 4895
模式 候选准入精度 上下文精度(宏平均) 片段召回率 主题命中 上下文 nDCG@8
完整向量 94.90% 94.33% 93% 49/50(98%) 0.9320
缺失全部短片段向量 93.59% 91.67% 73% 48/50(96%) 0.7698
完全无向量 91.80% 71.33% 56% 37/50(74%) 0.5962

本次产物中,每种模式的排序与上下文宏平均指标相同。完整向量与短向量缺失模式的 FP 从历史记录中的 6 变为本次的 5,完全无向量仍为 5。这只是两份产物的计数差异;本次没有控制运行环境及全部改动的配对消融,不能将少一个 FP 归因为算法改进。

通过的标志与尚未解决的检查分开报告

产物字段 本次记录 解释
各模式 context_bounds_passed 三个模式均为 true 每题六档预算的聚合检查标志;三种模式的 context_max_chars 均为 1,296。
edge_cases.zh、ja、ko 事实命中、经历命中、within_budget 均为 true 固定结构样例,不是多语言质量基准。
edge_cases.forgotten_excluded.passed true 已遗忘记录排除检查的记录结果。
edge_cases.bounded_oversized.passed false,未解决,待评审 JSON 与 run.log 一致记录失败,没有附带失败原因;不能据此宣称超长经历片段处理已通过。

六档预算乘以 50 题和三个模式对应 900 个聚合检查条件,产物中的通过标志不等于保存了 900 份完整输出轨迹。常规上下文预算标志通过,与 bounded_oversized 失败可以同时成立,不能概括为“所有预算或结构检查通过”。

证据边界与 CI 状态

阈值仍是在这批已提交的小样本语料上选择的暂定工作点,没有独立留出集校准。这里没有 V1 与 V2 的全链路 A/B、生成回答评分、核心指南遵守度、协作质量或生产力收益证明,也没有长期数据规模下的延迟或耐久性测量。部分缺失和完全无向量模式衡量同语料上的降级表现。

该轮 CI 已完成。Linux 与 Windows 后端第 2 组均因同一错误码基线失败,后端 lint 停在格式基线,离线 E2E 停在 i18n 预检;因此没有本轮 Memory V2 浏览器录屏。Linux 隔离和 macOS 网关作业通过,整轮 CI 没有全绿。源码复查发现超长片段测试在写入时去除了尾部空格,但赋予测试 ID 时仍按原文匹配。修复已统一归一化并要求恰好更新一行,同时增加独立超长片段场景、选择诊断和 CI 结构约束检查。历史 false 结果保持原样,新结果须由后续 CI 证明。

13. CI b02 测量:两个超长片段结构场景通过

本节记录新的 b02 CI 静态产物。第 12 节的 PR 201 bounded_oversized.passed = false 结果保持原样。新产物将独立和竞争记录两个超长片段场景都记录为通过。b02 离线浏览器 E2E 已通过,但整轮 CI 尚未全绿,不能据此宣布发布门禁完成。

证据来自已保存且未修改的 member-v2-hybrid-qwen3.json、provenance.json 与 run.log。本次更新只读取既有 CI 产物和作业日志,没有在本地调用模型、执行评测或运行产品测试。provenance.status 为 completed measurement; structural checks passed; scores require review,structural_failures 为空。静态产物本身不包含 workflow 步骤结论;另行核对的 CI 作业 102407307837 记录结构门禁通过。该结论只覆盖这次测量的结构断言,整轮 CI 仍未通过。

b02 运行身份与产物指纹

  • CI 运行 34333392423,attempt 1;产物 10096834238,名称为 member-recall-qwen-bff23582600b7b444e75e9141207fc46c47b5558。
  • PR head:b02cd67c08732b86e549973942a05e2638bf7976;CI synthetic checkout:bff23582600b7b444e75e9141207fc46c47b5558。两者是不同提交,不能互换。
  • GitHub 产物摘要:sha256:56ad63f894c427c1bb6840d8c1a8b1875297b2e5870261191ffe5b68b9e11d2b。
  • 原始测量 JSON 的 SHA256:2727db85de0515c10b42166e8175eada0151e3dab232ac4a0373f32546ada611,与 provenance.report_sha256 一致。
  • provenance.json 的 SHA256:91eb1d4ab2f545b6b43d46ba9e8c3b3924759c03c90697fd3ec950ab1e2f09e7;run.log 的 SHA256:e0187f91b43e52b2cc9dc193936f71f2179a397ce938fb470a2693057656ed2c。
  • 固定模型:qwen3-embedding:0.6b,1,024 维;模型 SHA256:06507c7b42688469c4e7298b0a1e16deff06caf291cf0a5b278c308249c3e439。
  • 主语料 SHA256:646922d14616e33a67b4b05181ac633ca1def857592b7d063665a96839b29c7f。运行环境记录为 Linux x86_64、Python 3.12.14、SQLite 3.45.1、NumPy 2.5.3 和 runner image 20260831.293.1;NumPy 路径启用,FAISS 与 diskcache 未安装。

b02 同语料测量

每种模式仍包含 100 条长短经历片段、50 个问题和 5,000 个问题与片段候选对。三个模式复用同一批问题,结果属于同一已提交语料上的观测值。

模式 准入 TP 准入 FP 准入 FN 准入 TN
完整向量 93 5 7 4895
缺失全部短片段向量 73 5 27 4895
完全无向量 56 5 44 4895
模式 候选准入精度 上下文精度(宏平均) 片段召回率 主题命中 上下文 nDCG@8
完整向量 94.90% 94.33% 93% 49/50(98%) 0.9320
缺失全部短片段向量 93.59% 91.67% 73% 48/50(96%) 0.7698
完全无向量 91.80% 71.33% 56% 37/50(74%) 0.5962

b02 结构记录

产物字段 b02 记录 解释
各模式 context_bounds_passed 三个模式均为 true 每题六档预算的聚合检查标志;三种模式的 context_max_chars 均为 1,296。
edge_cases.zh、ja、ko 事实命中、经历命中、within_budget 均为 true 固定结构样例,不是多语言质量基准。
edge_cases.forgotten_excluded.passed true 已遗忘记录排除检查的记录结果。
edge_cases.bounded_oversized_isolated.passed true 独立场景选择唯一 ID oversized,实际上下文为 200 字符,传输大小为 2,762 字节,预算为 16,384 字节。
edge_cases.bounded_oversized.passed true 竞争记录场景也选择唯一 ID oversized,实际上下文为 200 字符,传输大小为 2,762 字节,预算为 16,384 字节。

两个超长片段场景的 selected、nonempty_text、text_truncated、rendered_id、total_chars_matches、within_context_cap、within_transport_budget 与 transport_retained_id 均为 true。这证明静态产物内对应结构断言的记录结果,不等于完整执行轨迹或整轮 CI 结论。

b02 未完成验证和证据边界

b02 的 E2E (stub ACP backend, offline) 已通过,当前浏览器截图与录像保存在产物 10097394058。该执行使用真实临时网关和模拟 ACP 后端;它不证明线上模型质量或重启恢复激活。整轮 b02 CI 尚未全绿,新增源码修复仍需后续 CI 验证。

在 b02 源码复查中,人工编写的 U+0344 小预算用例确认了小预算下最后一条证据会被删除;归档解析器也确认存在缺口。对应源码修复尚未发布,因此这份 b02 产物不能证明这两项已经关闭。

这些结果不是 V1 与 V2 的全链路 A/B,不是独立留出集,不证明 V2 优于 V1,也不测生成回答准确率、核心指南遵守度、协作质量或生产力收益。质量分数仍是同一已提交小语料上的观测值。

14. CI 测量:60fcc 结果与 eb47 重复测量

最新重复测量的来源与范围

最新 CI 运行 34365002665 的 Qwen 产物 10109674392 已完成测量,attempt 为 1。PR head 为 eb47b0f0a7ec81534652f9849f76b88c5aa73b96,实际 CI synthetic checkout 为 b7af0bee59df49e6df51e8291bce54214de93e11。产物记录 completed measurement; structural checks passed; scores require review,structural_failures=[]。本次源码比对范围仅为六个核心文件,6/6 摘要一致,不是对 provenance 所列全部源码文件的复核。

测量 JSON 的 SHA256 为 2727db85de0515c10b42166e8175eada0151e3dab232ac4a0373f32546ada611,与 60fcc 报告逐字节相同。完整向量、缺失全部短片段向量、完全无向量三种模式的主题命中分别为 49/50、48/50、37/50,相关片段入选分别为 93/100、73/100、56/100,各有 5 个无关片段入选;上下文 nDCG@8 分别为 0.931972、0.769785、0.596207。这仍是同一语料的重复测量,没有新增留出集、V1/V2 A/B、回答质量或性能证据,也不代表整轮 CI 通过。本次只读取既有产物,未重新运行模型或评测。

以下完整重算、原始来源和 CI 状态记录保留其 60fcc 身份。

已独立核对三个原始 CI 文件并重算全部 150 行入选上下文结果。两个超长经历片段结构场景通过,structural_failures=[]。这些结果属于本节记录的 Memory V2 运行,不代表整轮 CI 或后续工作树修复通过。 本次报告更新未重新调用模型、运行产品或执行测试。

运行身份与可保留的原始来源

  • CI 运行 34340819757,attempt 1;官方 Qwen 产物 10099798781。
  • PR head:60fccbad521cad6df09a2f60075fa43f3ca02be4;实际 CI synthetic checkout:17b40179e70547e3f8e298c8e7ca121602fcdb5e。两个提交身份分别记录,不能互换。
  • 原始测量 JSON,SHA256:2727db85de0515c10b42166e8175eada0151e3dab232ac4a0373f32546ada611,与 provenance 中的报告摘要一致。
  • 原始 provenance,SHA256:0ad8c32add329704de0e89c1cde7b6acef3bc3b501d3133bb3f0518e7c632114。
  • 原始运行日志,SHA256:e0187f91b43e52b2cc9dc193936f71f2179a397ce938fb470a2693057656ed2c。日志内两个 JSON 对象与报告对应内容一致。
  • 仓库中的三个原始文件与独立保留副本逐字节一致,SHA256 也已核对。产物编号及 ZIP 摘要由实现负责人提供;ZIP SHA256 为 3a2a68ccae49246c8f43d6f11eaf9474f01705266bffabaf16793eb037fe9cc2。本次未取得 ZIP 独立重算,ZIP 摘要与三个提取文件的摘要分开记录。

provenance.canonical_source_sha256 所列 1,416 个 Python 文件均与上述 PR head 的精确 Git 文件内容一致。规范化只将 CRLF 换为 LF;该结果不涵盖检出中的所有文件或完整运行环境。新报告与日志的字节和 b02 相同,新 provenance 则记录不同的 PR、检出与运行身份。本次直接重算新提供的文件;相同输出本身既不能独立证明复跑,也不能据此断言复用旧产物。

固定模型为 qwen3-embedding:0.6b,1,024 维,模型 SHA256 为 06507c7b42688469c4e7298b0a1e16deff06caf291cf0a5b278c308249c3e439。语料 SHA256 为 646922d14616e33a67b4b05181ac633ca1def857592b7d063665a96839b29c7f。环境记录 Linux x86_64、Python 3.12.14、SQLite 3.45.1、NumPy 2.5.3、runner image 20260831.293.1;NumPy 启用,FAISS 和 diskcache 未安装。

按入选 ID 重算的上下文结果

三个模式仍复用同一批 50 个主题、100 条经历片段;每题两条相关片段、98 条不相关片段,每模式共 5,000 个问题与片段对。所有记录的年龄与重要性相同。下表的主题命中表示至少一个等价相关片段被保留,片段召回率分别为 93%、73% 和 56%。

模式 相关片段入选 / 100 无关片段入选 上下文精度(宏平均) 主题命中 / 50 上下文 nDCG@8
完整向量 93 5 94.33% 49 0.931972
缺失全部短片段向量 73 5 91.67% 48 0.769785
完全无向量 56 5 71.33% 37 0.596207

全部 150 行上下文结果与入选 ID 重算一致。由这些 ID 得出的 TP/FP/FN/TN 分别为 93/5/7/4895、73/5/27/4895、56/5/44/4895,与产物记录的准入汇总相等。完整准入名单和上下文选择前的排序名单未保存,因此不能独立重放这些名单。历史 FP 计数和图表保持原样;本次没有配对消融,不能把不同轮次的计数差异归因为某项算法改进。

超长片段结构结果与 V2 策略归属

报告内 268 个布尔字段全部为 true,provenance 记录 completed measurement; structural checks passed; scores require review 及 structural_failures=[]。两项超长片段场景的八个检查字段均通过:selected、nonempty_text、text_truncated、rendered_id、total_chars_matches、within_context_cap、within_transport_budget、transport_retained_id。

场景 入选 ID 记录的上下文字符 / 上限 估算 MCP 字节 / 预算
bounded_oversized_isolated oversized 200 / 200 2,762 / 16,384
bounded_oversized oversized 200 / 200 2,762 / 16,384

三个模式的上下文预算标志、已遗忘记录排除标志及中日韩固定结构样例均为通过;主质量集最大上下文为 1,296 字符。字符数和传输大小是产物记录值及估算值;完整渲染片段与序列化传输帧没有保留,不能独立重计实际 payload。 900 个预算条件的聚合标志也不等于 900 份完整输出轨迹。两个超长片段场景不能替代 U+0344 小预算边界、归档绑定、启动流程与权限隔离的专门验证。第 12 节的历史 false 保持原样,不再作为本轮该结构检查的待解决状态。

此前 b02 的 V2 策略归属临时疑问已解除。 精确 60fcc 源码也确认:CI 使用固定模块入口并要求子进程成功;模块入口把临时目录设为 KIROCREW_HOME,再将同一目录交给评测;_new_store 在 algorithm_version 不为 v2 时直接报错。先前直接调用辅助函数的单元夹具缺少相应 HOME 设置,不能与真实 CI 模块入口混为一谈。入口检查、显式策略断言和完成产物共同支持本轮 Memory V2 观测归属;源码摘要或相同输出字节本身不构成这一结论。

已完成 CI 的结果与仍需验证的修复

实现负责人报告运行 34340819757 已全部结束:离线 E2E、前端四个分组及覆盖率合并、Linux namespace、macOS gateway,以及 Linux 和 Windows 后端第 1、2 组通过;Linux 和 Windows 后端第 3、4 组因已定位的测试泄漏或旧断言失败。对应修复和 GPT/Opus 评审修复已写入工作树,仍待新 CI 验证。该轮 CI 已完成但未通过,修复已编写不等于验证通过。 这些完整作业状态由实现负责人提供,本次报告更新未独立查询整轮 CI。

新 UI 产物 10100214873的八个场景记录均为 passed、retry 0,run 和 checkout 与本节一致。22 张静态截图已逐张核对,八段视频已保留但未播放;范围为真实临时网关和合成数据,不包含在线模型回答或重启恢复激活。后续工作树增加的 recall 前后、Advanced 截图及布局修复尚无新执行结果,不能由这批旧于修复的媒体证明。

测量限制保持不变

本轮仍是同一已提交小型合成语料上的 in-sample 观测,0.62 和 0.57 没有独立留出集校准。没有同条件 Memory V1/Memory V2 全链路 A/B,不能声称整体优于 Memory V1;主题命中不是生成回答准确率,也未测核心指南遵守、Crew Member 协作质量、长期学习或生产力。部分缺失及无向量模式衡量该语料上的降级表现,中日韩样例只是结构检查。

产物没有评测起止时间或耗时字段,也没有延迟、吞吐、RSS、实际 token 或成本测量;不复用历史耗时,不声明性能收益。NumPy 路径的完成测量不证明原生 FAISS 路径通过。全部当前结论只覆盖本节记录的来源和测量条件,不自动延伸到后续修复或最终发布。

15. 最新已复核测量:44546

结论没有改变:完整向量找回更多相关经历;现有样本不能证明 V2 整体优于 V1。 Qwen CI 产物 10135513019 来自 PR 提交 44546ae46d5dd3b2f67c6db813c3473cd9dc617a。实际检出为合并提交 e74dbe6ec831747774c3906698ddef7a7d4c94b9,另一父提交是 main 160343495894edde05af057032b6b62dd6df1984。

向量状态 主题命中 相关片段入选 无关片段入选 nDCG@8
完整向量 49/50 93/100 5 0.931972
缺失全部短片段向量 48/50 73/100 5 0.769785
完全无向量 37/50 56/100 5 0.596207

报告 SHA256 为 2727db85de0515c10b42166e8175eada0151e3dab232ac4a0373f32546ada611,与前次报告逐字节相同。原始 ZIP SHA256 为 29e4114bb0a053658b5dc74e55bfbc7991dfc6c9745a464a58d266d54599294c,与 GitHub 产物摘要一致。本次复核将 provenance 中全部 1,426 个规范化 Python 源码摘要逐项对应到上述 PR 提交和合并树,未发现差异。该范围不涵盖所有仓库文件或完整安装环境。原生运行库与固定模型摘要仍是 CI 保存的来源记录,本轮未重新下载这些二进制文件作独立复核。

Qwen 进程启用 NumPy,未安装 FAISS。中日韩固定结构样例、超长输出与已遗忘记录排除检查通过,structural_failures=[]。另一个 FAISS 产物 10135478508 记录 faiss-cpu 1.12.0 下六个指定用例通过,无失败、错误或跳过;ZIP SHA256 为 33c11793fe64cac9b36ef2632ffb8dfe5d6a22ea37dcfb8efff716857a218b29。同一 namespace 作业的两项真实 Linux 隔离检查通过。这些通过记录属于各自作业,不等于整轮 CI 全绿。

44546 的浏览器产物 10135852001包含九个记忆场景,全部首次通过。29 张截图已逐张检查,九段录像共检查了 84 个按时间排列的解码画面,未发现具体视觉缺陷;这不是连续播放检查。该次运行的原始媒体未随仓库保留;后续来源 a46796234356c217d5fd531f21e1ca7a1c026b86 的十个场景捕获保存在已提交的证据目录。该执行使用真实临时网关、合成数据和模拟 ACP,未验证线上模型回答或重启后的恢复激活,也不覆盖后续界面改动。

本次仍复用 50 个英文主题、100 条经历片段和每模式 5,000 对问题与片段。0.62 与 0.57 是同一语料上的暂定阈值,没有独立留出集。主题命中不是回答正确率;这些测量没有比较同条件 V1/V2、核心指南遵守、Crew 协作效果、长期学习、延迟、CPU、内存或成本。完整向量的优势只适用于本语料中的片段召回。后续提交的完整 CI、安全门禁和新界面证据需要分别验证。