Repository navigation
Plastic Memories:可塑性记忆,让模型自主管理上下文 —— 一个实验性插件 #10880
Replies: 1 comment 4 replies
|
看了你那篇 engineering 说明,有个地方想确认一下,也是我自己卡了很久的。 你的 HIDE / STABILIZE / REHYDRATE 都是模型显式调 我想问的是这一层:有没有考虑过把判定也自动化,而不是留给模型? 具体是三档:
这三档如果能按话题自动判出来,人就不用自己去想「我现在该 plasticize 哪一段」——尤其长会话里,模型往往不觉得自己该塑形。 说明一下我为什么问这个。我在做的是 dsh-alert-inject,回答前提醒那一层,不碰上下文。 它有一件事跟这个有关:按语义把会话切成话题块,能判「这一段和现在的话题还相关吗」,还有「你现在回到了之前那个话题」的回切检测。 但它只能给摘录——把旧块的一小段摆在提醒里,因为插件碰不到上下文,改不了 surface。 所以我能供的正好是你缺的那半,你有的正好是我做不到的那半。判定信号外置给执行方这条路你走过吗?还是有理由认为判定必须和塑形在同一处——比如判定错了没法回滚,而 surfaceOp 是可逆的,把错的判定也变成可逆的? 另外问一个观察。你的说明里提到自动压缩也是 我这边看到一次压缩直接失败退出了: 你那边把自动压缩当世代处理的时候,有没有碰到它跟 plasticize 叠在一起的情况——比如压缩刚把一个世代替换掉,REHYDRATE 又要从那个世代里捞东西? |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
大家好,分享一个在 DeepSeek Harness 上做的实验性插件:Plastic Memories(可塑性记忆)。
仓库:https://github.com/CCCAUCHY/Plastic-Memories
出发点
DSH 的 session 是 append-only 的 trajectory。我们想验证一个更激进的想法:
长期运行的 Agent 会不可避免地积累大量运行噪音:冗长工具输出、失败尝试、临时观察、重复推理及过时的环境状态。这些材料在产生时有其价值,但随着任务推进,持续留在工作区中只会挤占注意力并劣化推理质量。
业界通常将此简化为上下文压缩问题。
插件做了什么
plasticize/retrospect工具与/plasticize/retrospect命令:surfaceOp 是 DSH 会话日志的一个事件,原生自动压缩也使用它,用于修改会话日志的实际投影,插件向日志追加 surfaceOp,把会话历史塑形成新一代,相关功能只能在 PM 会话模式里使用,该会话模式移除了自动压缩;foldSurface用影子会话逐代差分校验;运行期若发现与session.surface不一致会告警;展示层从不写回日志或请求。现状
实验性、单体 profile 可用,17 套 / 572 条测试(含官方 fold 差分校验)。欢迎拍砖,尤其是「世代投影」这个抽象是否值得进入 DSH 的正式模型,以及官方轨迹页是否应该开放更稳的扩展点(我们目前只能私有化复制 + patch)。
目标
取代所有上下文压缩机制,并不再区分外部记忆、外部知识库、外部数据库,使LLM能够完成超长程不可压缩、不可并行任务。
实际上,目前我看到的各种上下文管理、记忆管理、回顾提醒机制,都是 Plastic Memories 所有操作的一个真子集,我会吸收它们的设计思想,在不同类型的任务中指导模型使用 Plastic Memories 插件。
有人可能会思考 Plastic Memories 与子代理集群的关系,答案是,子代理集群可以在某种程度上模拟 Plastic Memories 的效果,但主代理的轨迹依旧是仅追加的,而 Plastic Memories 允许主代理的轨迹是非仅追加的。
All reactions