用途
remember 是一个智能体记忆保存技能,通过 /remember 命令触发。它用于将当前工作会话中的上下文或学习成果持久化为智能体记忆,以便在未来的会话中复用。
主要能力
remember 提供两种记忆类型:
- 分支记忆(Branch):保存当前分支的上下文,包括分支意图、可复用代码模式和持久性缺口,写入
.context/目录。 - 项目记忆(Project):从当前对话中提取决策、纠正、模式、偏好和澄清,写入
.rulesync/下的规则或命令文件。
用户也可以选择“两者都做”,先执行分支记忆,再执行项目记忆。
使用方式
分支记忆流程
- 运行配套脚本解析路径并加载已有上下文:
bash "<skill-base-directory>/context-path.sh" --ensure-dir,解析输出中的 BRANCH、SLUG、CONTEXT_FILE、STATUS 以及已有内容。 - 检查是否已有上下文文件,更新时修剪已解决项和临时问题。
- 向用户询问要保存的内容(新上下文:分支意图、值得记住的模式;更新:变更内容、已解决的缺口、新发现的模式)。
- 使用最小模板写入上下文文件,包含 frontmatter(branch、updated)以及 Intent、Patterns、Gaps、References 等章节。
- 确认保存路径。
保留与修剪原则:保留高层意图、可复用模式、持久性缺口、参考链接;修剪临时测试失败、构建/环境问题、已解决的实现缺口、调试笔记、会话特定故障排除、已解决的缺口。原则包括:简洁优先于完整、面向未来会话测试、不保留已解决项、模式必须可复用。
项目记忆流程
- 记忆提取:回顾对话,识别决策、纠正、模式、偏好、澄清,并为每个候选提取核心学习、适用上下文和重要性。
- 分类:确定最佳位置,如领域规则写入
.rulesync/rules/{domain}.md、命令增强写入.rulesync/commands/{cmd}.md、技能更新写入external/prompts/skills/{skill}/、新规则文件写入.rulesync/rules/{new}.md。约束:绝不直接定位.claude/(它是同步输出目录,源头是.rulesync/);绝不直接更新根文件(CLAUDE.md、AGENTS.md 及带 root: true frontmatter 的文件);优先使用已有文件。 - 交互式呈现:对每个记忆候选,向用户展示学习内容、推荐位置和选项(添加到推荐位置、添加到其他位置、改写学习内容、跳过),使用 AskUserQuestion 等待用户响应。
- 执行:对批准的记忆,读取目标文件、定位或创建章节、按文件约定格式化、使用 Edit 工具写入并确认。
- 输出:处理完所有记忆后,汇总添加数、跳过数和修改的文件列表。
适用场景
- 在解决非显而易见的问题并采用特定方法之后。
- 发现应复用的模式时。
- 用户纠正智能体行为或偏好时。
- 澄清现有规则应如何解释之后。
限制
- 项目记忆绝不直接写入
.claude/,必须写入.rulesync/下的源文件。 - 绝不修改 CLAUDE.md、AGENTS.md 或任何带 root: true frontmatter 的根文件,应改为创建或更新可被引用的非根规则文件。
- 记忆应保持原子性,每次更新一个概念。
- 需匹配目标文件的写作风格。
- 位置不确定时应询问用户而非猜测。
- 记忆应可操作,而不仅仅是观察。