Replies: 3 comments
|
这个 capability seam 方向已经验证可以落地。我们实现了两个彼此独立的社区插件,和这里的
和本提案最重要的差异是:我们刻意不做“每轮自动召回并注入 Prompt”。当前上下文永远优先,只有模型判断现有信息不足时才调用检索;召回结果标记为不可信参考资料,并保留来源、时间和轮次。这减少 Token 常驻成本,也避免旧记忆覆盖当前指令。 两套插件都不修改 agent-loop,可独立安装/卸载。实现与组合部署说明见 #1109,可以作为 |
|
这个缺口现在还有一条已经跑通的路线:直接复用 Pi 生态现成的长期记忆插件,而不用先为 DSH 重写一套。 dsh plugin --profile web add pi2dsh@0.10.0
dsh plugin --profile web add pi-hermes-memory
这和本帖的 capability seam 并不冲突:官方/社区仍可以定义 DSH 原生 |
Uh oh!
There was an error while loading. Please reload this page.
看到 #14 在求 memory 能力,也确认了
packages/里目前没有独立的 memory 包。想提一个作为社区插件落地的方案,严格走「everything is a plugin」的 seam 设计。定位
dsh-memory:给 agent 提供跨会话长期记忆。当前 agent 的上下文(session log、compaction、spill)都是「单会话内」的,会话结束后知识就没了;memory 补上「跨会话持久」这一环。按 capability seam 三角色拆
Service Definition —
ctx.memory:Service Provider — 默认本地 JSONL store(存 Harness home 下),检索用轻量关键词 + 时间衰减排序,零重依赖;预留可换成向量库 / 远程的 provider。
Consumer(两处):
memory_add/memory_search,注册到ctx.tools,schema 自动进入 prompt 组装;agent/pre-step或agent.inject()处,按当前输入召回最相关的前 N 条,作为一段紧凑上下文注入。符合仓库不变量
ctx.tools/agent/*/ session event)。为什么值得做
落地方式
作为独立仓库(加
dsh-plugintopic)先出 MVP:本地 JSONL provider + 两个工具 + 自动注入;后续按反馈换 provider。All reactions