Engram 记忆技能
为 AI 编码代理提供跨会话持久记忆,主动保存决策、约定、缺陷和发现。
证据显示技能要求主动保存用户决策、偏好等敏感信息,且无需用户明确同意即触发,存在过度收集风险;但提供了本地存储、关闭云同步选项和安全策略,风险可见。扣除理由:未明确提供用户确认或权限管理机制,数据共享与保留政策不透明,需加强最小权限和透明度。
静态审查无法验证工具可用性和实际功能,依赖外部MCP服务器和钩子,未提供错误处理或回退的详细说明。扣除理由:缺少可复现的测试证据,文档中的步骤未经验证,错误处理不充分,故不超过10分。
技能针对Claude Code等代理明确,场景清晰,但未能验证实际触发准确性和边界条件,未明确非适用场景。扣除理由:触发条件虽有文档,但缺乏实证支持,环境适应性和中文支持未提及,故扣分。
文档层次清晰,包含许可证和安装说明,但缺少版本历史、变更日志和明确的维护责任。扣除理由:维护责任和更新路径不明确,信息架构良好但有隐藏假设,故扣分。
技能声称能显著提升记忆持久性,但静态评估无法确认实际效果,且依赖用户遵循指令;价值主张可信但与手动记忆相比的优势缺乏证据。扣除理由:输出格式和完成度未验证,价值未经验证,故不超过7分。
仅有来源文件和CI配置,但未能提供独立验证或可复现的测试结果。扣除理由:证据局限于单一来源,缺乏交叉验证,无法独立验证主张,故不超过5分。
- 技能会主动记录用户决策和偏好,可能包含敏感信息,用户在共享或备份内存前应审查内容。
- 依赖外部MCP钩子和服务器,网络或环境变化可能导致功能不可用,需确保正确安装和配置。
- 静态评估未验证实际运行情况,建议在隔离环境测试后再用于生产。
这个 Skill 能做什么,适合哪些场景?
Engram 是一个持久记忆系统,通过 MCP 服务器为 AI 编码代理提供记忆能力。该技能基于 Claude Code 的 SKILL.md 实现,定义了一套强制性的记忆协议,要求代理在决策、修复缺陷、发现或用户确认后主动调用 mem_save 等工具保存记忆。技能还规范了搜索记忆的流程,以及会话结束和上下文压缩时的总结协议,确保记忆跨会话和压缩存续。经由此技能,代理能够在会话间保持上下文,避免重复劳动和遗忘关键信息。
该技能定义了一套强制性的记忆协议,包括:主动保存决策、约定、缺陷、发现、用户偏好等;使用 mem_save 等工具将记忆写入 Engram 的 SQLite 数据库(含 FTS5 全文搜索索引);提供搜索记忆的流程(先 mem_context,再 mem_search);在会话结束或压缩时调用 mem_session_summary 生成总结;当工具缺失时提示重新运行 engram setup claude-code。技能本身不自带执行过程,而是依赖 Engram 二进制提供 MCP 工具。
- 开发者在多个会话中持续开发一个项目,需要代理记住之前的架构决策和代码约定
- 开发者修复一个复杂的缺陷后,希望代理保存根因,避免未来重复调查
- 代理在会话中学习到用户的偏好(如编码风格),自动保存以便后续遵循
- 会话被压缩后,代理通过总结恢复上下文,继续未完成的工作
这个 Skill 有哪些优点和局限?
- 主动记忆:代理无需用户提示即可保存关键信息
- 跨会话存续:通过总结和搜索,避免上下文压缩损失
- 标准工具集:提供完整的 MCP 工具(保存、搜索、更新等)
- 兼容性:设计为与多种 MCP 客户端兼容(Claude Code, OpenCode等)
- 依赖外部 Go 二进制,需要安装和配置
- 文档中未提及测试套件,可靠性未充分验证
- 副作用:强制协议可能增加代理的操作开销
- 部分文档未明确说明如何使用(如如何精确搜索)
如何安装这个 Skill?
- 安装 Engram:
brew install gentleman-programming/tap/engram(或用其他安装方法) - 为 Claude Code 设置:
claude plugin marketplace add Gentleman-Programming/engram && claude plugin install engram - 重启 Claude Code 以加载 MCP 工具。
如何使用这个 Skill?
技能自动激活,无需手动触发。代理会主动保存记忆。记忆的搜索被提示为“记住”、“回忆”等话题,代理会自动执行。当用户需要回顾时,直接提问,代理会先调用 mem_context,再 mem_search。技能也要求代理在会话结束时总结记忆。
这个 Skill 与同类方案有什么区别?
该技能未明确比较其他记忆系统,但提及了 claude-mem 的灵感来源。