精英长记忆(基础版)
解决AI Agent跨会话遗忘问题。基础版提供WAL写前日志与热内存两大核心能力,确保关键上下文不丢失、决策不遗忘.
输入格式
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | 精英长记忆处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
核心能力
- WAL写前日志防丢失:采用"先写状态,再回复用户"协议,在压缩、崩溃场景下保证上下文不丢失。触发时机:用户表达偏好时先写入SESSION-STATE.md再回复;用户做出决策时先写入SESSION-STATE.md再回复;用户给出期限时先写入SESSION-STATE.md再回复;用户纠正错误时先写入SESSION-STATE.md再回复。写入本地文件是毫秒级操作,对用户感知无影响.
- 热内存文件:在工作区根目录创建SESSION-STATE.md,包含当前任务、关键上下文(用户偏好/已做决策/当前阻塞)、待办动作、近期决策四个区块。会话开始立即加载,抗上下文压缩。文件格式为Markdown,人类可读可编辑.
- 会话管理:会话开始时读取SESSION-STATE.md(热内存),会话结束时更新最终状态并创建memory/YYYY-MM-DD.md日志。重要内容定期迁移到MEMORY.md长期归档.
WAL写前日志防丢失
针对WAL写前日志防丢失,自动解析输入参数、调度任务队列、格式化输出,返回结构化响应. 输入: 用户提供WAL写前日志防丢失相关的配置参数、输入数据和处理选项. 输出: 返回WAL写前日志防丢失的处理结果。- 验证返回数据的完整性和格式正确性
- 参考
WAL写前日志防丢失的配置文档进行参数调优
热内存文件
针对热内存文件,自动解析输入参数、调度任务队列、格式化输出,返回结构化响应. 输入: 用户提供热内存文件相关的配置参数、输入数据和处理选项. 输出: 返回热内存文件的处理结果。- 验证返回数据的完整性和格式正确性
- 参考
热内存文件的配置文档进行参数调优
会话管理
针对会话,自动解析输入参数、调度任务队列、格式化输出,返回结构化响应. 输入: 用户提供会话管理相关的配置参数、输入数据和处理选项. 输出: 返回会话管理的处理结果。- 验证返回数据的完整性和格式正确性
- 参考
会话管理的配置文档进行参数调优
快速开始
- 确认运行环境满足依赖说明中的要求
- 在AI Agent对话中调用本技能,提供必要的输入参数
- 检查输出结果,根据需要进行后续处理
详细的输入输出格式请参考下方章节说明。
使用流程
领先步:创建热内存文件
在工作区根目录创建 SESSION-STATE.md,包含当前任务、关键上下文、待办动作、近期决策四个区块:
# 会话状态
# ...
**结果验证**: 任务完成后,查看输出确认状态。成功时返回摘要和数据;失败时根据错误信息排查,参考恢复章节获取修复步骤.
# ...
#
## 当前任务
- [ ] 实现用户认证模块
# ...
## 关键上下文
- 用户偏好:TypeScript + Tailwind
- 已做决策:数据库用MySQL
- 当前阻塞:等待API文档
# ...
## 待办动作
- 完成认证接口设计
- 编写单元测试
# ...
## 近期决策
- 2026-07-20: 选择MySQL作为生产数据库
- 2026-07-19: 确定使用Tailwind替代vanilla CSS
第二步:执行WAL协议(对话进行中)
遵循"先写后回复"原则:用户表达偏好→写入SESSION-STATE.md再回复;做出决策→写入SESSION-STATE.md再回复;给出期限→写入SESSION-STATE.md再回复;纠正错误→写入SESSION-STATE.md再回复.
第三步:会话管理与归档
会话开始时读取SESSION-STATE.md。会话结束时更新SESSION-STATE.md最终状态,重要内容迁移到MEMORY.md,创建memory/YYYY-MM-DD.md日志记录当日活动.
错误处理
| 错误类型 | 原因 | 处理方式 |
|---|---|---|
| 全部遗忘(新会话无历史) | 会话开始未读取SESSION-STATE.md,热内存未加载 | 在Agent系统提示词中写入强制规则:会话开始必须读取SESSION-STATE.md |
| 记忆文件未加载 | Agent跳过读取记忆步骤,直接开始对话 | 在AGENTS.md中配置强制加载规则,确保每次会话开始执行读取操作 |
| 重复犯错 | 教训未记录到SESSION-STATE.md,新会话无法召回 | 强制WAL协议:出现错误时先写SESSION-STATE.md再修复 |
示例
示例1:跨会话技术决策延续
输入:
- 会话A(周一):用户说"数据库用MySQL,开发环境用SQLite"
- 会话B(周三,新会话):用户说"部署脚本怎么写?"
执行:
- 会话A执行WAL:写入SESSION-STATE.md"决策:MySQL生产/SQLite开发"
- 会话B会话开始:读取SESSION-STATE.md → 召回MySQL决策 → 回复时主动考虑MySQL部署配置
输出:
# SESSION-STATE.md 更新内容
## 近期决策(续1)
- 2026-07-21: 数据库选型 MySQL生产环境/SQLite开发环境
# ...
# 会话B回复
基于SESSION-STATE.md中的MySQL决策,生成MySQL部署脚本:
- 连接池配置(max_connections=100)
- 字符集设置(utf8mb4)
- 时区配置(UTC+8)
FAQ
Q1:WAL协议会不会拖慢回复速度? A:写入本地文件是毫秒级操作,对用户感知无影响。相比崩溃后丢失上下文的代价,这点延迟完全值得. Q2:基础版支持向量检索吗? A:基础版不支持向量语义检索,仅支持SESSION-STATE.md热内存加载与关键词匹配。如需向量+关键词+图谱三路混合检索,请升级到付费版. Q3:基础版有成本预算控制吗? A:基础版不支持成本预算控制与自动降级。如需配置日/月预算上限与embedding缓存策略,请升级到付费版.
依赖说明
运行环境
- Agent平台: 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
- 操作系统: Windows / macOS / Linux
依赖项
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
API Key 配置
需要配置对应API Key,详见上文环境配置章节
可用性分类
- 分类: MD+EXEC()
API Key配置方式:
export API_KEY=${API_KEY:?请设置环境变量}
配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统.
已知限制
- 无向量语义检索:基础版仅支持SESSION-STATE.md热内存加载,无法进行语义相似召回,查"数据库配置"找不到"MySQL设置"(无共同词时).
- 无混合检索:不支持向量+关键词+图谱三路混合检索与RRF融合排序.
- 无成本预算控制:不支持日/月预算上限配置与自动降级机制.
- 无记忆卫生自动化:不支持自动去重、衰减、晋升、降级、归档、删除六项维护.
升级提示
本基础版提供WAL写前日志与热内存两大核心能力。升级到付费版可解锁以下高级能力:
- 向量+关键词+图谱三路混合检索:通过RRF融合排序解决"相似但不相关"的召回质量问题,关键词与图谱本地执行零API成本
- 六层存储架构:L1热内存→L2温向量(LanceDB)→L3冷图谱(Git-Notes)→L4精选归档→L5云备份(SuperMemory)→L6自动抽取(Mem0),按需分层加载降低token消耗
- 成本预算控制:embedding缓存(节省60-80%)、分层存储(节省40-60%)、小模型抽取(节省70-90%)、图谱增量更新(节省50-70%),配置日/月预算上限与80%告警/100%自动降级
- 记忆卫生自动化:自动执行去重、衰减、晋升(7天3次提升)、降级(30天未访问移出热内存)、归档(90天移入archive/)、删除(180天importance<0.3询问后删除)
- 多代理协作上下文传递:主代理派生子代理时注入上下文继承块(项目/任务/决策/偏好/约束),避免协作孤岛
- lessons.md教训沉淀:将踩过的坑记录为教训,新会话优先注入,避免重复犯错
升级后可处理多代理协作、大规模记忆库管理、生产级成本控制等复杂记忆场景.
输出格式
{
"success": true,
"data": {
"result": "精英长记忆处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "longmemo-elite"
}
},
"execution_log": [
"解析输入参数",
"执行核心处理",
"格式化输出结果"
],
"error": null
}
评论
加载中…