关于 memory-system
memory-system 是为 Agent 设计的跨会话持久记忆技能,通过索引和主题文件保存偏好、项目约定及决策,并规定敏感信息和临时内容不应存储。
主要功能
- 01以索引链接分类主题文件
- 02记录用户偏好与项目约定
- 03定义保存、检索和搜索流程
- 04提供记忆修剪建议
- 05列明不应保存的信息
适用场景
- 01在新会话中恢复相关项目约定
- 02记住用户偏好和反馈
- 03查找已记录的架构决策或参考信息
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ vudovn/ ag-kit --skill memory-system安装后在 Claude Code 中输入/memory-system确认已加载。
详细介绍
记忆系统 — 跨会话持久记忆
让 Agent 能够跨会话记忆。无需再次发现已经学到的内容。
概述
记忆系统提供持久、可搜索的记忆,可跨会话保留。无需每次都重新解释偏好、惯例和过往决策,Agent 只需读取结构化的 MEMORY.md 索引和主题文件。
**Token 影响:**加载索引会增加 1,000 个 token,但可通过避免重新发现信息节省 3,000-10,000 个 token。
架构
.agents/memory/
├── MEMORY.md ← Lightweight index (max 200 lines)
├── user-preferences.md ← Topic file: user role, style, tools
├── project-conventions.md ← Topic file: coding standards, patterns
├── tech-decisions.md ← Topic file: past architectural decisions
├── feedback-history.md ← Topic file: what user liked/disliked
└── [topic-name].md ← Additional topic files as needed
MEMORY.md 索引格式
索引是一个轻量级指针文件,其中包含简短条目,指向存有详细信息的主题文件。
规则:
- 总计最多 200 行
- 每条:最多 约 150 个字符
- 格式:
- [type] summary → topic-file.md - 类型:
[user][feedback][project][reference]
示例:
# Memory Index
## User
- [user] Prefers dark mode, uses Windows 11, PowerShell → user-preferences.md
- [user] Senior DevOps engineer, 8 years experience → user-preferences.md
- [user] Primary language: English, sometimes Turkish → user-preferences.md
## Project
- [project] Always use bun instead of npm → project-conventions.md
- [project] Tailwind v4 preferred, no v3 → tech-decisions.md
- [project] No purple/violet colors in UI → project-conventions.md
## Feedback
- [feedback] User likes concise responses, no filler → feedback-history.md
- [feedback] User dislikes verbose explanations → feedback-history.md
- [feedback] User prefers tables over bullet lists → feedback-history.md
## Reference
- [reference] Squid proxy runs on port 3128 → infrastructure-notes.md
- [reference] Git workflow: feature branches → main → project-conventions.md
主题文件格式
每个主题文件都有前置元数据和结构化内容:
---
type: user | feedback | project | reference
created: 2026-04-01
updated: 2026-04-01
---
# User Preferences
## Development Environment
- OS: Windows 11
- Shell: PowerShell
- Editor: Cursor / Windsurf
- Package Manager: bun (NOT npm)
## Communication Style
- Prefers concise responses
- Likes tables for comparisons
- Dislikes verbose explanations
记忆分类
| 类型 | 存储内容 | 示例 |
|---|---|---|
| user | 角色、偏好、工具、沟通风格 | “资深 DevOps,偏好深色模式” |
| feedback | 用户对 Agent 输出的喜好或不满 | “用户说‘太啰嗦’,更喜欢表格” |
| project | 编码规范、技术选型、惯例 | “使用 bun 而不是 npm,Tailwind v4” |
| reference | 非敏感的基础设施说明、公开 URL、配置 | “生产环境 API 主机名和端口” |
不要保存的内容
| 不要保存 | 原因 |
|---|---|
| 机密、凭据、令牌、密码、私钥或 API 密钥 | 记忆会持久保存,且可能在多个会话间共享 |
| 可从代码推导的信息 | 与其记住依赖项,不如读取 package.json |
| 临时调试上下文 | 会让记忆变得杂乱,之后也没有用 |
| 完整代码片段 | 代码会变化,记忆会过时 |
| 可能移动的文件路径 | 改用 glob 模式或描述 |
| 完整对话记录 | 记忆只用于提炼后的见解 |
操作
保存(触发条件:用户说“记住”“保存”“别忘了”)
- 确定信息类型(user/feedback/project/reference)
- 检查相关主题文件是否存在
- 如果存在 → 追加到现有主题文件
- 如果不存在 → 创建带前置元数据的新主题文件
- 在 MEMORY.md 索引中添加一行指针
- 向用户确认:“已保存到记忆:[摘要]”
回忆(触发条件:会话开始,或用户询问“你还记得关于 X 的什么内容”)
- 读取
.agents/memory/MEMORY.md索引 - 扫描与当前任务相关的条目
- 如果找到匹配项 → 读取引用的主题文件
- 静默应用回忆到的上下文(除非用户询问,否则不要复述记忆)
搜索(触发条件:用户询问“我有关于 X 的笔记吗”)
- 在
.agents/memory/*.md中 grep 搜索词 - 返回匹配条目及其文件引用
- 如果用户想了解详情,可提出读取完整主题文件
清理(触发条件:索引超过 200 行)
- 警告:“记忆索引正在变大(X 行)。建议进行检查。”
- 建议合并相关条目
- 建议将旧条目归档到
memory/archive/ - 切勿自动删除——务必先询问用户
会话开始流程
每次会话开始时:
1. Check: Does `.agents/memory/MEMORY.md` exist?
→ YES: Read index. Apply relevant context silently.
→ NO: Continue without memory. Create on first "remember" trigger.
2. Apply memory WITHOUT reciting it.
❌ WRONG: "I remember you prefer dark mode and use bun..."
✅ RIGHT: (silently apply preferences, use bun in commands)
3. Exception: If user asks "what do you remember?" → recite relevant memories.
记忆 vs. 计划 vs. 任务
| 产物 | 用途 | 生命周期 | 位置 |
|---|---|---|---|
| 记忆 | 跨会话知识 | 清理前永久保留 | .agents/memory/ |
| 计划 | 当前项目的任务拆解 | 直到项目完成 | 项目根目录 |
| 任务 | 当前会话的进度跟踪器 | 直到会话结束 | 产物目录 |
记忆 = 你知道什么。计划 = 你将要做什么。任务 = 你现在正在做什么。
评论
支持 Markdown