公司动态

ai-memory时间受限记忆:expires_at TTL与遗忘机制详解

📅 2026/9/1 9:41:04
ai-memory时间受限记忆:expires_at TTL与遗忘机制详解
ai-memory时间受限记忆expires_at TTL与遗忘机制详解【免费下载链接】ai-memorySolution for long term memory for agent coding CLIs and to facilitate handoff between different agent vendors项目地址: https://gitcode.com/GitHub_Trending/ai/ai-memoryai-memory 是一款为 AI 编码代理Agent CLI提供长期记忆并支持跨厂商会话交接的开源项目。它的核心能力之一是时间受限记忆Time-limited Memory既支持通过expires_at给记忆页显式设置 TTL 过期时间又内置了基于衰减公式的遗忘机制forget-sweep自动淘汰长期无用的冷记忆让记忆库始终保持精简、可检索、不被过期信息污染。一、为什么 AI 记忆需要过期⏳想象一下你让代理记住了本次发布窗口是 3 天后关闭临时调试端口用 8080这类信息。两周后再检索它们不仅毫无价值还会挤占搜索结果和上下文预算。ai-memory 的答案是双通道清理机制触发方式效果显式 TTLexpires_at到期后由遗忘清扫直接删除文件 数据库记录全部清除衰减遗忘decay保留分低于阈值先进入墓碑软删除宽限期后硬删除这套设计让短期任务记忆与永久知识自动分层无需人工维护。二、expires_at TTL给记忆页设置保质期设置方式很简单。在 MCP 工具memory_write_page中传入expires_at即可支持两种格式RFC3339 时间戳如2026-09-01T12:00:00Z纯日期如2026-09-01按 UTC 当日结束时间计算典型场景就是记住这个到周五为止迁移完成后让这条提醒失效。底层实现Markdown 页面始终是唯一的真相来源TTL 写在页面 frontmatter 的expires_at:键里重新索引时由 V36__page_expiry.sql 定义的列UTC 微秒时间戳NULL 表示永不过期自动重建。页面到期后立即从搜索、最近列表、briefing 中隐藏下一次遗忘清扫时硬删除Markdown 文件 数据库行TTL 优先级高于pinned—— 固定页可以抵抗衰减驱逐但无法抵抗显式过期这符合过期是更明确的意图这一设计原则。memory_lint还会对固定 即将过期的矛盾组合提前告警。三、遗忘机制forget-sweep 三层清扫 遗忘清扫的核心逻辑在 sweep.rs它按顺序执行三类清理动作。1️⃣ 衰减驱逐保留分公式自动淘汰冷记忆清扫只针对episodic情景层记忆固定页pinned: true完全豁免。每一页会计算一个保留分公式由 decay.rs 实现用大白话讲就是保留分 显著度 × 时间衰减 访问强化加成页面越老时间衰减项越小默认 λ0.02约等于35 天半衰期被检索得越多、最近一次访问越近加成越高分数低于冷阈值默认0.20的页面即被驱逐。访问统计所需的last_accessed_at、access_count字段由 V03__decay.sql 内联在pages表上避免读路径上的额外查询开销。2️⃣ 墓碑与宽限期删除前给你后悔药 ⚰️衰减驱逐并非立即硬删页面先被移入墓碑软删除标记superseded_at在默认180 天宽限期hard_delete_after_days内若零访问才连同版本血缘一起永久清除。清扫器还会通过专用部分索引 V49__decay_tombstone_index.sql 高效定位到期墓碑若某路径上的页面被重建会被视为独立的新链并保留。3️⃣ TTL 硬删除过期页一步清除expires_at已到期的页面不走宽限期——文件与数据库行直接删除且不区分层级、无视固定。若删除恰逢页面刚被修改清扫器会拒绝陈旧删除并在下一轮重试保证不会误删新内容。四、如何手动触发遗忘清扫CLI 提供了一键命令实现在 forget_sweep.rs内部调用管理端点POST /admin/forget-sweep预览模式ai-memory forget-sweep --dry-run—— 只列出将被驱逐 / 已过期的页面清单不做任何修改正式执行去掉 dry-run 即真正删除报告包含评估候选数、驱逐列表、过期列表、硬删除行数。除了手动触发清扫也会跟随服务端的[maintenance]维护计划自动运行两种途径走的是同一套安全逻辑。五、实用建议清单 ✅短期任务必加 TTL发布提醒、临时端口、一次性配置都建议写入时带上expires_at别指望 pinned 免死固定只能抵抗衰减抵抗不了显式过期先用 dry-run 摸底正式清扫前跑一次预览确认清单符合预期️调参控节奏想少忘一点就调低 λ如 0.02 → 0.01想让冷页面更快退役就调高冷阈值查看效果清扫报告中的retention、age_days、access_count字段能帮你理解每页为何被淘汰。六、进一步阅读资料路径生命周期操作安全矩阵lifecycle-ops.md日常使用与记忆写入指南usage.md整体架构遗忘清扫在维护链中的位置ARCHITECTURE.mdTTL 列定义V36__page_expiry.sql衰减参数与保留分公式decay.rs清扫执行逻辑sweep.rs借助expires_atTTL 与衰减遗忘机制ai-memory 让代理的记忆像人脑一样有舍有得——重要的自然留下过期的准时退场。【免费下载链接】ai-memorySolution for long term memory for agent coding CLIs and to facilitate handoff between different agent vendors项目地址: https://gitcode.com/GitHub_Trending/ai/ai-memory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考