百轮 Agent 记忆:把事实更新写成可回放事件

发布时间:2026/10/25 5:14:23
百轮 Agent 记忆:把事实更新写成可回放事件 长对话里真正棘手的不是“忘了一个词”而是旧事实仍然像新事实一样有权威。用户先说端口8000后来改9000又撤回部署任务。把三句话压成一段摘要可能留下两个端口也可能把撤回丢掉。我更愿意先把这类更新写成事件。事件记录发生了什么当前状态由回放得到。这样既能给模型提供简短事实也能回答“为什么现在采用这个值”。它不会让模型自动理解所有偏好却能减少状态维护中的一类歧义。IBM Research 的记忆实验讨论了记忆注入量与模型能力之间的关系结果并非“存得越多越好”。这里借用的是设计问题哪些信息应该进入当前上下文而非照搬其实验成绩。研究说明事件与当前事实要分开存每个事件至少包含键、操作、值和来源轮次。set表示更新revoke表示撤销。不能把没有出现过的值补成默认值也不应只改当前字典而丢失历史来源。from dataclasses import dataclass dataclass(frozenTrue) class Event: round: int key: str op: str value: str def replay(events): state, last_round {}, -1 for event in events: if event.round last_round: raise ValueError(events must be ordered) last_round event.round if event.op set: state[event.key] (event.value, event.round) elif event.op revoke: state.pop(event.key, None) else: raise ValueError(unknown operation) return state history [Event(1, network, set, private), Event(1, port, set, 8000), Event(7, port, set, 9000), Event(9, port, revoke)] assert replay(history) {network: (private, 1)} assert replay(history[:3])[port] (9000, 7) assert replay(history) replay(list(history)) print(replace, revoke, replay determinism: PASS)这还不是语义记忆引擎例子假定事件已由可信来源确认。真实难点是抽取一句“测试环境暂时用9000”不能覆盖生产配置模型建议也不能自动升级为用户授权。可在事件里再加环境、有效期、确认状态和证据片段把候选事实与已确认事实分开。Kimi Code 的模型配置说明提醒用户在跨模型切换时新建会话。这种产品层建议与事件账本并不冲突会话可以换外部事实记录仍须携带来源与作用域重新注入时也要检查是否适用于当前任务。本地例子验证了覆写、撤销和确定性回放没有调用模型抽取事实没有进行百轮对话评测。若要验证长期效果应加入纠正、撤销、临时例外和同名环境的用例分别统计当前事实正确性与历史来源可追踪性。两项都好才值得继续谈压缩率。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询