架构创新
阈值监控 + 主动清空
跳过 LLM 压缩步骤,直接清空 Agent 内部会话上下文。sidecar 实时监控 tokens 累积值(基于 step-finish 真实消耗),阈值到达前主动归档完整上下文到 MemoryCenter,然后插入 compaction 消息对让 Agent 无感清空旧消息。下次会话通过 prompt 工具召回历史记忆——用 memory-center 归档摘要替代 LLM 压缩摘要。
技术构想:sidecar 轮询 Agent DB 的 step-finish part 提取 input/output/reasoning tokens,累积值达到阈值 80% 时触发主动归档 + 插入 compaction 消息对。Agent 下次加载时通过 completedCompactions() 将旧消息加入 hidden 集合,实现无感清空。
架构
AgentAdapter trait 抽象层
新增任何 Agent(Claude Code / Cursor / OpenCode / 自研工具)仅需实现 AgentAdapter trait 的 5 个方法,无需修改 watcher / archive / state 任何代码。通过依赖注入 + trait object 实现多 Agent 适配,单线程运行开销可忽略。
规划 5 个方法:query_active_sessions / extract_turns / query_tail_start_id / insert_compaction_pair / query_active_sessions_tokens。新增 Agent 只需 impl AgentAdapter for XxxDb + main.rs 加 match 分支。
场景
10 个场景自适应预设
内置 10 个场景(编码 / 写作 / 科研 / 日常 / 金融 / 设计 / 工作 + Agent 协作 / 知识库 / 长项目),每个场景独立配置 5 维参数:归档阈值 / 检索策略 / 摘要 focus / 评分权重 / 标签优先级。开发者一行配置即可适配业务场景。
场景检测构想:LLM 集成层根据对话内容自动识别场景,也可由用户显式指定。CombinedProfile 构建器合并 Agent + Scenario + Model 三维预设。
可视化
mc-dashboard CLI
基于 ratatui 的 TUI 命令行工具,4 Tab 界面:概览(服务状态 + 记忆总数)/ 记忆列表(分页浏览归档摘要)/ 检索 demo(交互式语义搜索)/ 评测对比(baseline vs memory_center 数据可视化)。让开发者和评委无需 API 调用即可直观体验记忆能力。
规划第 20 个 crate:memory-center-dashboard。预计支持 SSH 隧道远程连接服务器端 MemoryCenter 实例,本地 TUI 浏览远程记忆。
跨界
跨 Agent 记忆迁移
基于 session_id 命名空间设计——session_id 是记忆命名空间,与 Agent 工具无关。Trae 归档的项目记忆,Claude Code 通过同一 session_id 即可完整召回。初赛 Demo 环境预置了一条真实跨 Agent 迁移记录供验证。
原理构想:记忆按 session_id 隔离存储,不同 Agent 工具只要配置同一 session_id 即可共享记忆。配合 AgentAdapter trait,每个 Agent 的对话格式都被归一化为统一 SidecarTurn 结构。
评测
LoCoMo + LongMemEval 双基准
业界首批通过 LoCoMo 长时记忆基准 + LongMemEval 检索基准双评测的记忆库。原型验证 LoCoMo F1 提升 41.4%,LongMemEval R@5 达 100%。评测脚本开源,可复现。
LoCoMo:长对话记忆基准,纯算法评分无 LLM-as-Judge 主观性。LongMemEval:500 题检索评测,30 题抽样原型验证 R@5=100% / nDCG@5=0.9405。
智能
冲突检测 + 立场反转识别
当用户陈述与记忆记录可能矛盾时(如"我用 Python"但记忆里是 Rust),自动检测三类冲突:自我矛盾 / 直接矛盾 / 立场反转。检测到冲突后向用户确认再更新记忆,避免错误覆盖。
三维度检测构想:自我矛盾(同一会话内前后矛盾)/ 直接矛盾(新陈述与记忆记录事实冲突)/ 立场反转(用户态度从支持转为反对)。计划支持 LLM 检测 + 启发式算法降级。
防丢失
pre_compress_hook 压缩前归档
客户端压缩上下文前一次性归档完整 raw_context,避免压缩时丢失原始轮次信息。双轨处理:raw_context 原样保存 + 解析 turns 复用 Archiver。即使客户端压缩丢弃了原始轮次,MemoryCenter 仍保留完整备份。
触发时机构想:客户端提示"上下文即将压缩" / 系统消息出现压缩标记 / LLM 预判接近窗口上限。与 archive 区别:archive 传结构化 turns 数组,pre_compress_hook 传完整上下文字符串。
反向写入
project_memory 反向写入
MemoryCenter 维护 project_memory.md 副本,通过 update_project_memory 工具更新后反向写入 IDE 的 memory 文件夹,影响下次会话的注入上下文——让记忆主动流入 IDE 的 Memory Context 层,形成闭环。
章节覆盖策略构想:用 HTML 注释标记界定 section,replace/append/delete 三种 action。用户手动写入的内容不受影响,只覆盖指定 section。
检索
混合检索机制
实现:摘要钩子注入 system prompt(被动召回)+ 详细钩子 LLM 主动 tool 检索(主动召回)+ BM25 关键词检索 + 语义检索(含 Embedding 降级)。四路并行,命中率高且容错强。
Embedding 降级构想:未配置 Embedder API 时自动降级为纯 BM25 关键词检索,核心功能仍可用。计划支持远程 Embedder 服务化部署。