TTokenySpace
返回 Skills 列表

Longmemo Elite

面向AI Agent的精英级长期记忆系统,解决跨会话遗忘、检索不准、成本失控三大核心痛点. WAL写前日志协议采用"先写状态,再回复用户"模式,在压缩/崩溃/重启场景下保证上下文不丢失. 向量+关键词+图谱三路混合检索,通过RRF融合排序解决单一向量检索"相似但不相关"的召回质量问题. 六层存储架构(L1热内存→...

#中文
0

安装到 Tokeny(自动)

下载 ZIP
安装"longmemo-elite"技能
技能信息:
- 名称: Longmemo Elite
- 标识: longmemo-elite
- 描述: 面向AI Agent的精英级长期记忆系统,解决跨会话遗忘、检索不准、成本失控三大核心痛点. WAL写前日志协议采用"先写状态,再回复用户"模式,在压缩/崩溃/重启场景下保证上下文不丢失. 向量+关键词+图谱三路混合检索,通过RRF融合排序解决单一向量检索"相似但不相关"的召回质量问题. 六层存储架构(L1热内存→...
- 版本: 1.0.0
下载地址:
https://www.tokeny.space/api/skills/longmemo-elite/download
继续

复制上方内容到 Tokeny 客户端并在会话中发送即可自动安装;也可直接 下载 ZIP并拖动到技能窗口安装。

技能介绍

面向AI Agent的精英级长期记忆系统,解决跨会话遗忘、检索不准、成本失控三大核心痛点. WAL写前日志协议采用"先写状态,再回复用户"模式,在压缩/崩溃/重启场景下保证上下文不丢失. 向量+关键词+图谱三路混合检索,通过RRF融合排序解决单一向量检索"相似但不相关"的召回质量问题. 六层存储架构(L1热内存→L2温向量→L3冷图谱→L4精选归档→L5云备份→L6自动抽取)按需分层加载,降低token消耗. 成本预算控制通过embedding缓存、分层存储、小模型抽取、图谱增量更新四项策略,配置日/月预算上限与自动降级. 记忆卫生自动化执行去重、衰减、晋升、降级、归档、删除六项维护,避免记忆膨胀拖慢召回. 适用于跨会话项目开发、多代理协作、长期偏好维护等生产级Agent记忆管理场景.

SKILL.md

精英长记忆

解决AI Agent三大记忆顽疾:跨会话遗忘、检索不准、成本失控。本系统将六种成熟记忆策略整合为一套防弹架构,配合WAL写前日志协议,确保永不丢失上下文、永不遗忘决策、永不重复犯错.

输入格式

参数名类型必填说明
inputstring精英长记忆处理的输入数据或指令
optionsobject附加配置选项,如模式选择、格式偏好等
callback_urlstring异步处理完成后的回调通知URL

付费版专享能力

能力免费版付费版
基础功能支持支持
精英长记忆三路混合检索不支持支持
复杂工作流可视化编排不支持支持
条件分支与异常重试不支持支持
定时触发与事件驱动不支持支持
执行日志与审计追踪不支持支持

核心能力

  • WAL写前日志防丢失:采用"先写状态,再回复用户"协议,在压缩、崩溃、重启场景下保证上下文不丢失。触发时机:用户表达偏好时先写入SESSION-STATE.md与对应存储层再回复;用户做出决策时先写入SESSION-STATE.md与Git-Notes再回复;用户给出期限时先写入SESSION-STATE.md再回复;用户纠正错误时先写入SESSION-STATE.md与lessons.md再回复。写入本地文件是毫秒级操作,对用户感知无影响.
  • 向量+关键词+图谱三路混合检索:向量检索负责语义相似召回(基于LanceDB),关键词倒排负责精确实体匹配(本地零API成本),图谱遍历负责因果关联推理(基于Git-Notes)。三路结果通过RRF(Reciprocal Rank Fusion)融合排序,配置 minScore=0.35maxResults=10。解决单一向量检索"相似但不相关"的召回质量问题,综合成本反而低于纯向量方案.
  • 六层存储架构分层加载:L1热内存(SESSION-STATE.md,抗压缩,会话开始立即加载)→ L2温向量(LanceDB本地向量库,按需检索)→ L3冷图谱(Git-Notes结构化决策,Git永久持久化)→ L4精选归档(MEMORY.md+daily/目录,人类可读,周期性回顾)→ L5云备份(SuperMemory API跨设备同步,可选)→ L6自动抽取(Mem0对话事实提取,推荐)。按需分层加载降低token消耗.
  • 成本预算控制:通过四项策略控制成本——embedding缓存(相同文本不重复计算,节省60-80%)、分层存储(热内存只放当前任务,节省40-60%)、小模型抽取(用小模型提取事实而非大模型,节省70-90%)、图谱增量更新(只更新变更部分,节省50-70%)。配置 dailyLimitUsd=2.0monthlyLimitUsd=50.0,达到80%告警,100%自动降级为只读模式.
  • 记忆卫生自动化:自动执行六项维护——去重(memory_dedup合并相似条目)、衰减(低重要性记忆权重随时间降低)、晋升(7天内出现3次的记忆提升到MEMORY.md)、降级(30天未访问移出热内存)、归档(90天未访问移入archive/)、删除(180天未访问且importance<0.3询问后删除)。避免记忆膨胀拖慢召回速度.

六层存储架构速查

层级存储用途持久化加载时机
L1热内存SESSION-STATE.md当前任务、关键上下文、待办抗压缩/重启会话开始立即加载
L2温向量LanceDB语义相似召回本地向量库按需检索
L3冷图谱Git-Notes结构化决策、分支关联Git永久决策/查询时
L4精选归档MEMORY.md + daily/蒸馏后的长期智慧文件周期性回顾
L5云备份SuperMemory API跨设备同步云端可选
L6自动抽取Mem0对话自动提取事实外部服务推荐

处理: 解析六层存储架构速查的输入参数,执行核心处理逻辑,返回结构化结果和执行状态. 输出: 返回六层存储架构速查的处理结果,包含执行状态码、结果数据和执行日志.

L1热内存

针对L1热内存,自动解析输入参数、调度任务队列、格式化输出,返回结构化响应. 输入: 用户提供L1热内存相关的配置参数、输入数据和处理选项. 输出: 返回L1热内存的处理结果。- 验证返回数据的完整性和格式正确性

  • 参考L1热内存的配置文档进行参数调优

L2温向量

针对L2温向量,自动解析输入参数、调度任务队列、格式化输出,返回结构化响应. 输入: 用户提供L2温向量相关的配置参数、输入数据和处理选项. 输出: 返回L2温向量的处理结果。- 验证返回数据的完整性和格式正确性

  • 参考L2温向量的配置文档进行参数调优

使用流程

第一步:创建热内存文件

在工作区根目录创建 SESSION-STATE.md,包含当前任务、关键上下文(用户偏好/已做决策/当前阻塞)、待办动作、近期决策四个区块,作为抗压缩的热内存.

第二步:配置混合检索与成本预算

memory-config.json 中启用三路混合检索与成本预算控制:

{
  "memorySearch": {
    "enabled": true,
    "provider": "openai",
    "minScore": 0.35,
    "maxResults": 10,
    "hybrid": { "vector": true, "keyword": true, "graph": true, "fusion": "rrf" }
  },
  "costBudget": {
    "dailyLimitUsd": 2.0,
    "monthlyLimitUsd": 50.0,
    "alertThreshold": 0.8,
    "strategies": { "embeddingCache": true, "tieredStorage": true, "smallModelExtraction": true }
  }
}

第三步:初始化冷存储与验证

执行 git init 初始化Git仓库(用于Git-Notes知识图谱),运行 python3 memory.py -p . sync --start 启动同步,创建 memory/ 目录结构。执行 memory_recall query="测试查询" limit=3 验证检索功能正常,确认向量库非空、embedding provider可用.

第四步:执行WAL协议(对话进行中)

遵循"先写后回复"原则:用户表达偏好→写入SESSION-STATE.md + memory_store;做出决策→写入SESSION-STATE.md + Git-Notes;给出期限→写入SESSION-STATE.md;纠正错误→写入SESSION-STATE.md + lessons.md;出现代码错误→记录到lessons.md + memory_store.

第五步:会话管理与记忆卫生

会话开始时:读取SESSION-STATE.md(热内存)→ 执行memory_recall检索相关历史 → 检查memory/YYYY-MM-DD.md近期活动 → 扫描lessons.md相关教训. 会话结束时:更新SESSION-STATE.md最终状态 → 重要内容迁移到MEMORY.md → 创建/更新memory/YYYY-MM-DD.md日志. 每周执行:memory_dedup去重 → memory_forget清理低重要性向量(importance<0.3且超过30天)→ memory_compact压缩旧日志 → memory_export导出备份.

错误处理

错误类型原因处理方式
全部遗忘(新会话无历史)memory_search未启用或embedding provider未配置OPENAI_API_KEY启用memory_search,配置OPENAI_API_KEY;无API Key时降级为本地embedding
记忆文件未加载Agent跳过读取记忆步骤,会话开始未读取SESSION-STATE.md在AGENTS.md中写入强制规则:会话开始必须读取SESSION-STATE.md
子代理上下文孤立派生子代理时未注入上下文继承块,子代理无法获取主代理决策使用上下文传递协议,在子代理任务提示词中注入项目/任务/决策/偏好/约束五项上下文
重复犯错教训未记录到lessons.md,新会话无法召回之前踩过的坑强制WAL协议:出现错误时先写lessons.md再修复;会话开始扫描lessons.md
召回不准(相似但不相关)仅启用单路向量检索,语义相似但实际不相关的内容排名靠前启用三路混合检索(vector+keyword+graph)+ RRF融合;关键词与图谱本地执行零API成本
召回太慢向量库膨胀未清理,记忆条目过多导致检索延迟上升执行memory_compact压缩 + memory_forget清理低重要性记忆;每周执行一次轻清理
账单暴涨无预算控制或embedding未缓存,每次检索都重新计算向量配置日/月预算上限(dailyLimitUsd/monthlyLimitUsd),启用embedding缓存与小模型抽取
Git-Notes不持久未执行git notes push,图谱决策仅存于本地执行 git notes push 同步到远程仓库,确保结构化决策跨设备可用
召回为空向量库为空或minScore设置过高(如0.8),过滤掉了所有结果检查向量库非空,降低minScore到0.35;确认memory_store已写入数据
事实未自动捕获未启用Mem0自动抽取,对话中的事实仅靠手动memory_store记录启用Mem0自动抽取,或在WAL协议中增加手动memory_store记录步骤

示例

示例1:跨会话技术决策延续

输入:

  • 会话A(周一):用户说"数据库用MySQL,开发环境用SQLite"
  • 会话B(周三,新会话):用户说"部署脚本怎么写?"

执行:

  1. 会话A执行WAL:写入SESSION-STATE.md"决策:MySQL生产/SQLite开发";写入Git-Notes(带分支标记);memory_store存储 {"content":"用户偏好MySQL生产/SQLite开发","importance":0.9,"category":"decision"}
  2. 会话B会话开始:执行 memory_recall query="部署 数据库" → 召回MySQL决策 → 回复时主动考虑MySQL部署配置

输出:

# 会话A WAL写入
SESSION-STATE.md: "决策:MySQL生产环境/SQLite开发环境"
Git-Notes: "决策#001: 数据库选型 MySQL生产/SQLite开发 [branch:main]"
memory_store: {"id":"mem_001","content":"用户偏好MySQL生产/SQLite开发","importance":0.9,"category":"decision"}
# ...
# 会话B召回
memory_recall query="部署 数据库" → 召回mem_001(score=0.87)
→ 生成MySQL部署脚本(包含连接池配置、字符集utf8mb4、时区设置)

示例2:避免重复犯错

输入:

  • 会话A:Agent生成的Dockerfile缺少.dockerignore,导致镜像2GB,用户纠正
  • 会话B:用户说"帮我写个Dockerfile"

执行:

  1. 会话A执行WAL:写入lessons.md"生成Dockerfile必须同时生成.dockerignore"
  2. 会话B会话开始:检索lessons.md → 召回.dockerignore教训 → 主动同时生成两个文件

输出:

# 会话A WAL写入
lessons.md: "教训#003: 生成Dockerfile必须同时生成.dockerignore,否则镜像体积过大"
memory_store: {"id":"mem_007","content":"Dockerfile必须配.dockerignore","importance":0.95,"category":"lesson"}
# ...
# 会话B召回
memory_recall query="Dockerfile" → 召回mem_007(score=0.92)
→ 同时输出Dockerfile和.dockerignore两个文件

示例3:多代理协作上下文传递

输入: 主代理需派生代码审查子代理审查支付模块

执行: 主代理在子代理任务提示词中注入上下文继承块

输出:

上下文继承块(注入子代理提示词):
- 项目: 电商平台
- 当前任务: 审查支付模块代码
- 关键决策: 支付用Stripe / 货币用USD / 支持订阅与一次性付款
- 已知约束: 必须PCI合规 / 信用卡数据不落本地
- 历史教训: 上次支付模块因未处理Webhook重试导致重复扣款
# ...
子代理基于继承上下文进行审查,无需重新询问,直接关注PCI合规与Webhook重试逻辑.

FAQ

Q1:WAL协议会不会拖慢回复速度? A:写入本地文件是毫秒级操作,对用户感知无影响。相比崩溃后丢失上下文的代价,这点延迟完全值得。WAL协议的核心是"先写后回复",确保任何时刻崩溃都不丢失关键信息. Q2:混合检索三路都开会不会很贵? A:关键词倒排和图谱遍历都是本地操作,零API成本。只有向量检索需要embedding(已缓存,相同文本不重复计算)。综合成本反而低于纯向量方案,因为召回更准,减少了重试与重复检索. Q3:Mem0自动抽取和手动memory_store冲突吗? A:不冲突。Mem0负责对话流自动提取事实(低价值高频),手动memory_store负责高价值显式记录(高价值低频)。两者互补,Mem0有去重逻辑避免重复存储相同事实. Q4:本地和云端如何选择? A:个人或小团队用本地(LanceDB + Git-Notes)足够;跨设备协作加SuperMemory云备份;生产级建议本地为主+云端备份。L1-L4纯本地即可工作,L5云备份与L6自动抽取为可选增强. Q5:记忆库多久清理一次? A:建议每周一次轻清理(memory_dedup去重 + 低重要性降级),每月一次深清理(归档 + 压缩 + 导出备份)。记忆卫生自动化可配置为定时执行,无需手动触发. Q6:成本预算达到100%后怎么办? A:达到100%预算后自动降级为只读模式,此时新记忆无法写入,但检索仍可用。需等待下一预算周期重置或提升预算上限。建议配置alertThreshold=0.8在80%时收到告警,提前调整策略.

依赖说明

依赖项类型是否必需获取方式
Agent平台运行环境必需安装支持SKILL.md的AI Agent
Python 3.8+运行时推荐python.org安装(Git-Notes脚本)
Node.js 16+运行时推荐nodejs.org安装(LanceDB向量库)
LanceDB向量数据库推荐pip install lancedb
OpenAI Embedding API向量化推荐配置OPENAI_API_KEY(无则降级为本地embedding)
Mem0自动事实抽取可选npm install mem0ai
SuperMemory跨设备云同步可选官网注册获取API Key
LLM APIAPI必需由Agent平台内置LLM提供

API Key配置:

  • OPENAI_API_KEY:向量embedding生成(推荐,无则降级为本地embedding)
  • MEM0_API_KEY:对话自动事实抽取(可选)
  • SUPERMEMORY_API_KEY:跨设备云同步(可选)

可用性分类: MD+EXEC(核心记忆协议纯Markdown即可工作;向量检索、自动抽取等高级功能需对应依赖)

API Key配置方式:

export API_KEY="your_api_key_here"

配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统.

已知限制

  1. 六层架构需逐步启用:L1-L4纯本地Markdown即可工作,L2向量检索需安装LanceDB,L5云备份需SuperMemory API,L6自动抽取需Mem0,并非开箱即用全部功能.
  2. WAL协议依赖Agent配合:协议本身是行为规范,需要Agent平台支持在AGENTS.md中写入强制规则才能保证执行,若Agent忽略指令则WAL失效.
  3. embedding缓存基于文本哈希:相同文本不重复计算,但文本微小改动(如加空格)会触发重新计算,对高频更新场景缓存命中率会下降.
  4. 图谱遍历深度受限:为控制延迟,图谱遍历默认限制在2-3跳,超深关联(5跳以上)可能遗漏.
  5. 成本预算只读降级后无法写入:达到100%预算后自动降级为只读模式,此时新记忆无法写入,需等待下一预算周期或提升上限.

输出格式

{
  "success": true,
  "data": {
    "result": "精英长记忆处理结果",
    "execution_time": "0.5s",
    "metadata": {
      "version": "1.0",
      "processor": "longmemo-elite"
    }
  },
  "execution_log": [
    "解析输入参数",
    "执行核心处理",
    "格式化输出结果"
  ],
  "error": null
}

评论

加载中…