聊几个我觉得值得做的方向 #164
Replies: 10 comments 8 replies
|
先说感谢:你是我们把「日常真实使用」反馈回来的深度用户之一,#131 的运行时自管方案已经落地(#132/#133),#22 的图谱讨论也直接推动了 0.8.0 图谱批次的设计。这份帖子的质量同样很高——每一条都指向「记忆作为长期资产」的真实维护成本,值得逐条认真回。 下面逐条对账(按你邀请的方式:已落地的给出处,有缺口的认领,不打算做的说明)。 A. 记忆的上限与安全裁剪与淘汰:大半已有,但你的观察也对。现有机制:Sleep Mode(空闲分层压缩——降摘要、降归档、置信分层,opt-in 默认关,你说的"要手动打开"属实)+ heat 衰减与 sleep 降级联合判定 + 质量过滤自动归档(默认开)。真正的缺口是:容量水位遥测与默认生命周期——"到量主动触发"而不是靠用户记得开睡眠。认领进路线图。 写入前密钥/隐私扫描:全新,采纳。在写入边界(memory_save / autoSummarize / dream 输出)做 PII 与密钥检测,默认仅告警、拦截 opt-in——与本项目 local-first 的姿态契合,排进 0.8.x。谢谢提出,这个越晚做越贵。 统一审计:大半已有——dream_runs / receipt_chain / failure_memories / recall_runs / llm_audit_logs 五套审计表,mirror 的 content_history 让人工编辑可追溯,状态页工作台已有活动流。你的点落在跨通道聚合(面板手改 / CLI / 外部 API 一处可查)——认领为增量(聚合视图 + 查询端点),不是从零建。 B. 时间与范围时间检索:地基刚随 v0.8.0 落地——memories 新增 隔离与共享:正是刚发的批次 A——agent/workspace 双维标注 + 检索加权 + opt-in 的 strictScope 硬过滤 + 面板开关(#153/#155/#156/#157)。剩余边界(subagent 继承、默认作用域、mirror 分域)在 #17 线程跟踪。欢迎在 0.8.0 上实测,边界问题继续提。 C. 记忆自己的判断力冲突让证据说话:部分已有——败者是归档(可恢复)且带溯源注释,并非物理删除;#126 之后有 supersede(注记写败者侧、胜者正文零污染)与 differentiate(双保留、各追加差异注记);另刚补了人工集中确认队列(#166)。「败者降置信度仍保留、反复出现的证据加分」是真正的新方向——与现有 epistemic 信任分层(observation > inferred > subjective)天然衔接,认领评估。 写入时语义去重:你的判断基本准确。#127 的语义去重(vector 档,minSim 0.92 / 24h 窗口)已在 summarize 路径落地为 opt-in 配置;memory_save 工具路径默认标题级是刻意保守。"vector 档是否提为默认"我们内部讨论后回你。 按需综合多条:未做,进 backlog。现成近似物是 dream 总览(常驻综合摘要),但"需要时把多条记忆综合成一次回答"是不同的能力,值得单独设计。 召回/注入部分你自己在 #22 提过,0.8.0 图谱批次(锚定、权重演化、注入预算)落地时已参考,不再重复。 关于你最后说的前提——「默认关、按需开启」确实是刻意的保守(记忆是用户的资产,行为变更必须可回滚),我们认同这个取舍。这份帖子里:B2 已发、B1 地基已发、A3/C1/C2 有既有基础,新认领的是 A1 容量生命周期、A2 密钥扫描、C1 降置信保留、C3 按需综合——都会记入路线图并在这里回帖进度。欢迎继续用、继续挑刺。 |
|
进度同步(上轮逐条对账的 follow-up):v0.8.0 已发布(npm 0.8.0 / Release),上次认领的几项有了第一块落地:
A1(容量生命周期)、A2(密钥/隐私扫描)、C1(降置信保留)、C3(按需综合)保持认领,按使用反馈排期——继续用、继续挑刺。 |
|
我最近又对 agent 记忆相关论文做了一些调研工作,对照之前的建议和你的回复,做了些总结。 两条和这批认领直接相关的读后观察:
scope 这批我们会在日常使用里继续验,边界问题按 #17/#170 线程走。 最后附几篇觉得值得看的:
|
|
六篇全部读过了(摘要级核对完毕,其中两处标注在正文的结论——FadeMem 的幂律对比、2604.02280 的免疫规则/软裁剪——待读全文后引用),这组调研把 #164 的三个讨论点从"方向"推进到了"有靶子的工程决策",质量很高。逐条对账 + 排期如下: A1(容量裁剪/生命周期)——采纳,且按你给的顺序走最快落实路径:
C2(语义去重提默认的次序问题)——采纳 2606.24535 的教训,先落设计约束: 现有实现(#127,opt-in)的命中动作是"并入,不拒绝写入",恰好避开了论文里"同步去重门抢先拒绝矛盾性写入"的事故模式。但你的提醒成立:提为默认之前,必须先明确它与矛盾检测的生效次序。我会把这条写进设计注记(去重只做标记与并入、裁决权留给冲突管线;次序未定前不提默认),引用 2606.24535 作为依据。 C1(冲突降置信保留)——先建靶子,再谈机制: StateMemBench 的"被取代值单独计分"给了现成评测思路:给现有 supersede/冲突队列建一个小型"旧值引用"回归测试集(多轮修改场景 → 断言检索与注入返回当前值而非被取代旧值)。靶子建好之后,"降置信保留 + 反复证据加分"的机制设计就有了可衡量的验收标准。这块邀请你共同设计。 创新线(你说的"实现层反哺理论"):同意,而且我们手里有论文作者没有的东西——第一手数据(dream_runs 全量决策、recall 回执、未来的 heat 曲线、多写入者溯源)。计划按"论文假设 → 我们的实测 → 偏差解释"三段式记录成研究笔记,偏差大的地方就是新方法的候选位置。heat 会是第一个实验对象。 A2(密钥扫描)与 B1(事件时间自动推断)维持上轮排期不变。heat 的立项 issue 我来起,草稿会先引这六篇;你如果想认领 heat 或 #217,照惯例说一声即可。 |
|
补一条观察角度的。我们这边此前有一段时间同时跑着另一个记忆系统(名字就不提了),对两边的行为差异做了一些使用者视角的观察。先说前提:作为重度用户(也是 fork 维护者),我们认为「记忆的完整度」这个方向的能力是值得补上的——它不太影响单条记忆的质量,但很影响 agent 回答「这个项目进展到哪了」这类问题的能力。 观察到的差异主要在三点:
如果要接现有计划,我们觉得第 2 点最值得先聊:C3 的「按需综合」和「落库的叙述条」其实是一对能力——查当下用查询时综合,存认知用落库的 per-topic 叙述条。dream 总览已经是雏形(单行、每 run 整体替换),往「按主题的多条叙述条」延伸就自然长出这一层;原子条不动,叙述条作为附加视图,检索和去重也天然复用现有基建。第 1 点则是很小的改动就能补上的链路。 以上观察来自单机使用样本和另一个系统的使用者视角比对,没有做受控评测;哪些值得做的判断是我们的主观看法。 |
|
三条观察都核实过了( 逐条回: ① 片段 vs 全文——采纳,我们随 0.8.4 修。小改动三件套:截断上限可配、注入块对被截断条目加「内容已截断,可用 memory_get 读全文」的显式提示、与 #24 的注入预算分级衔接。这个链路确实不该断着——agent 不知道自己看到的是残篇,比截断本身更伤。 ② 叙述性大颗粒——进入设计讨论,这是三条里最有分量的。同意你定的生长路径:dream 总览(单行、每 run 整体替换)是雏形,延伸为「按主题的多条叙述条」,原子条不动、叙述条作为附加视图,检索与去重复用现有基建;C3 的"按需综合"与"落库叙述条"确认为一对能力(查当下=查询时综合,存认知=按主题落库)。 设计前想先钉三个问题,欢迎在讨论里继续对齐(或直接起草设计稿,我们配合评审):
③ 写入慎重 vs 高频——同意默认值等数据。防碎阀门(#127)已在,heat(#218)落地后写入频率与归档率的平衡点就有实测依据了;「九成归档」在我们的口径里一部分是质量过滤在正确工作,但"高频拆条的聚合损耗"这个观察值得单独度量。 顺带说明:你同时运行另一套系统做对照这件事,本身就是最有价值的研究方法——欢迎继续把这类差异观察带回来,完整度这个方向记入 backlog 了。 |
|
三个问题对一下我们的立场(这边此前已经按这个方向起过一版草案):
C1 的靶子我们也想一起设计:我们正在筹备给真实库建一套检索回归基线(自建题集、结果落 recall_evals),「旧值引用回归集」可以并进去当一类题——多轮修改场景断言检索与注入返回当前值而非被取代旧值,和题集是同一套跑法。 另外 heat(#218)和 #217 我们都认领了,各自 issue 里留了说明。heat 的设计源头其实是我们 8 月在讨论 #21 里提的兴趣漂移方向,这次算是转回来了。 |
|
三个设计问题全部对齐,其中两处比我们给的版本更完整,直接采纳:
C1 靶子不另起炉灶,并入你们的 recall_evals 框架:「旧值引用」作为一类题型纳入(多轮修改场景 → 断言检索与注入返回当前值而非被取代旧值),与你们的检索回归基线同一套跑法。你们 fork 里 recall_runs / recall_evals 的留痕基建成熟后,欢迎把仪表盘与评测题集的口径一起提上来——upstream 正好缺这一层,#217 的三个信号也是同一数据面。 认领确认:#217 与 #218 归你们,照惯例 PR 见,验收时我们按老规矩过。 #21 的出处补记很感谢——heat 的设计源头确实是你们 8 月的兴趣漂移调研在前,#218 立项时我们并不知道这条线。两边在互不知情的情况下收敛到同一形态,这比谁先谁后更有意思,也说明这个方向是问题本身长出来的。我会在 #218 补一条出处说明。 |
|
三问的设计稿整理出来了,把我们这边的草案和两个新想法一起放上来。 三问的立场(成稿):①聚合产物一律带 evidence 回链,引用的原子条必须真实存在,注册时做存在性校验,校验不过就拒绝或标 degraded;②更新走 supersede + content_history,旧版本可追溯;③注入按需为主,常驻只留一条 current-project 摘要。 产物分两型。轻的一型是 dream 产的 digest 行:聚合叙述落库、带 evidence、走注入次优先档。重的一型是 document 文件:标准化 md 落盘,记忆库里只存摘要 + 路径指针 + evidence,全文按需读。写入权我们倾向分开——document 内容归 agent,管线不生成也不改写全文,只管结构化引用(注册校验、摘要落库、比对去重、supersede 记账);出新版就是新摘要行 supersede 旧行,旧文件不删。查询时按需合成(C3 那条)和 digest 是一对:「查当下」用前者,「存认知」用后者,期望合成一个设计推进。 触发想加第三条腿。dream 自动和查询按需之外,想提供一个由 agent 自己决定调用的整理接口:长段工作完成或 agent 觉得需要时主动触发,此时它可以调用子代理整理当前上下文并与已有记忆比对去重(筛除进归档不删),产出就是上面那种 document。先 dryRun 出比对报告、agent 判断后再 apply,调用留审计。查过现在 9 个工具和命令面,这类入口是空白。 几条觉得值得借鉴的做法(此前对比过共存的另一款记忆插件,加上自己的使用体验):
设计稿全文在手边,哪部分想细看或者要调方向我们随时可以跟帖。 |
|
在今天的开发过程中,我们对先前提到的 A1 问题“记忆容量治理”另外做了专项研究,撰写了一份研究报告可供参考 |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
我自己最近一直在用 mneme 做日常记忆。
下面这几件事是用下来觉得可以再想一想的。如果其中有已经做了、只是我们没找到的,麻烦指正。想先听听你们的判断:哪些已经在规划里、哪些你们不打算做,不打算做的我们就不碰了。
A. 记忆的上限与安全
这三件我们放在一起,是因为它们都属于"用久了才显形"的问题——记忆是长期资产,越晚处理越麻烦。
B. 时间与范围
C. 记忆自己的判断力
召回那块(多路分数怎么合、注入预算分级、结果带上"为什么召回到它")我们在 #24 里提过,这里不再重复。
另外说明一个前提:这些能力现在大多是"默认关、按需开启",我们理解这是刻意的保守,这个取舍我们也认同——所以这里讨论的不是改默认值,而是这些能力要补到什么程度才算真的可用。
All reactions