记忆技能 (Memory Skill)
让 AI Agent 拥有长期记忆能力的技能系统,参考 OpenViking 的文件系统范式设计。
核心原则
- 记忆必须存放在工作区域 - 所有记忆文件必须在当前 workspace 的
.workbuddy/memory/目录下 - 调用脚本必须传递路径 - 所有脚本调用必须通过
--path参数指定记忆目录的绝对路径 - 配置缺失需询问用户 - 如果
.env中DEFAULT_MEMORY_PATH或RERANK_MODEL为空,必须询问用户
viking:// 目录结构
memory/
├── resources/ # AI 搜索调研产生的外部参考
│ └── {topic}_research.md # 调研结果
├── user/ # 用户信息
│ └── preferences.md # 用户偏好
├── Memory/ # 主题记忆
│ └── {topic}.md # 主题记忆文件
├── Daily/ # 每日记录
│ └── {YYYY-MM-DD}.md # 每日会话摘要
└── Feedback/ # 用户反馈与纠正
└── {tool-name|topic|correction-id}.md # 一事一档
YAML 头部格式
每个记忆文件必须包含 YAML 头部:
---
name: "标题"
description: "一句话描述"
tags: ["标签1", "标签2"]
importance: 3
created: "2026-04-14"
updated: "2026-04-14"
source: "auto|daily|search|feedback"
---
字段说明
| 字段 | 必须 | 说明 | |------|------|------| | name | 是 | 文件标题 | | description | 是 | 一句话描述 | | tags | 是 | 标签数组 | | importance | 是 | 重要程度 1-5 | | created | 是 | 创建时间 YYYY-MM-DD | | updated | 是 | 更新时间 YYYY-MM-DD | | source | 是 | 来源 |
预定义 Tags
来源标签:
auto- 自动生成daily- 每日摘要search- 搜索调研feedback- 用户反馈
类型标签:
preference- 用户偏好decision- 决策记录error- 错误教训best-practice- 最佳实践project- 项目相关
写入规则
何时写入记忆
- 对话结束时 → 写入
Daily/{日期}.md - 发现用户偏好 → 写入
user/preferences.md - 完成重要任务/决策 → 写入
Memory/{topic}.md - AI 搜索调研后 → 写入
resources/{topic}_research.md - 用户纠正错误 → 写入
Feedback/{correction-id}.md
写入前必须询问
重要:写入记忆前必须先询问用户意见,获得确认后再写入。
询问模板:
是否需要将以下内容添加到记忆?
- 文件位置:xxx
- 内容摘要:xxx
[确认/取消]
写入格式
---
name: "标题"
description: "一句话描述"
tags: ["标签"]
importance: 3
created: "2026-04-14"
updated: "2026-04-14"
source: "auto"
---
## 关键内容
- 要点1
- 要点2
工具操作
所有记忆操作直接使用文件工具,无需额外脚本:
| 操作 | 工具 | 说明 |
|------|------|------|
| 搜索 | search.py | 关键词检索 |
| 读取 | read.py | 查看完整内容 |
| 写入 | write_to_file | 新建记忆文件 |
| 更新 | replace_in_file | 修改已有记忆 |
| 删除 | delete_file | 删除不需要的记忆 |
重要:所有脚本调用必须传递 --path 参数指定记忆目录的绝对路径
检索规则
调用流程
重要:所有脚本调用必须传递 --path 参数指定记忆目录的绝对路径
1. 使用 search.py 搜索相关记忆
python search.py "关键词" --path "{workspace}/.workbuddy/memory"
2. 查看返回的列表和预览
3. 使用 read.py 读取完整内容
python read.py "{full_path}"
检索优先级
user/preferences.md- 用户偏好,始终优先Feedback/- 避免重复犯错Memory/- 主题记忆Daily/- 近期记录resources/- 外部参考
注意事项
- 按需加载,不要一次性加载所有记忆
- 优先读取高重要性的记忆
- Feedback 目录的文件权重更高(避免重复犯错)
目录用途详解
resources/ - 外部参考
AI 搜索调研产生的信息:
- 搜索结果整理
- 行业知识总结
- 技术调研报告
user/ - 用户信息
用户偏好和基本信息:
- 沟通风格
- 工作习惯
- 项目偏好
Memory/ - 主题记忆
按主题组织的长期记忆:
- 项目进展
- 技术方案
- 经验总结
Daily/ - 每日记录
每日会话摘要:
- 当天关键决策
- 待办事项
- 重要发现
Feedback/ - 用户反馈
用户纠正和错误教训:
- 工具使用纠正
- 错误做法记录
- 最佳实践确认
注意事项
- 一事一档 - 每个文件聚焦一个主题
- YAML 头部必须完整 - 方便 AI 解析和检索
- 按需加载 - 只读取相关的记忆文件
- 保持简洁 - 避免冗长,突出关键信息
- 必须传递路径 - 调用脚本时必须通过
--path指定记忆目录,不使用默认路径
Scan to join WeChat group