save_memory - 保存长期记忆
概述
save_memory 工具用于保存特定的信息或事实到长期记忆中。这个工具帮助 AI 助手记住用户的偏好、习惯和重要信息,以便在未来的交互中提供更个性化和有效的帮助。
工具名称
- 内部名称:
save_memory - 显示名称: Save Memory
- 图标: 大脑 (Brain)
参数
必需参数
| 参数名 | 类型 | 说明 |
|---|---|---|
fact | string | 要记住的具体事实或信息。应该是一个清晰、独立的陈述。例如,如果用户说"我最喜欢的颜色是蓝色",事实就是"我最喜欢的颜色是蓝色"。 |
功能说明
长期记忆存储:
- 保存用户相关的事实和偏好
- 跨会话持久化
- 可在未来交互中检索
个性化支持:
- 记住用户偏好
- 记住常用配置
- 记住工作习惯
智能记忆:
- 自动识别重要信息
- 避免重复记忆
- 保持记忆的相关性
使用场景
应该使用此工具的情况
用户明确要求记住某事:
- "记住我喜欢在披萨上放菠萝"
- "请保存这个:我的猫叫 Whiskers"
用户陈述清晰、简洁的个人事实:
- 关于自己的信息
- 偏好设置
- 环境配置
- 对未来交互有帮助的信息
不应该使用此工具的情况
- 仅与当前会话相关的上下文
- 冗长、复杂或漫无边际的文本
- 不确定是否值得长期记住的信息
使用示例
记住用户偏好
json
{
"fact": "用户喜欢使用 TypeScript 而不是 JavaScript"
}记住个人信息
json
{
"fact": "用户的名字是张三,今年 25 岁"
}记住工作习惯
json
{
"fact": "用户习惯使用 Vim 编辑器,偏好使用快捷键"
}记住项目配置
json
{
"fact": "用户的主项目路径是 /home/user/projects/main-app"
}记住代码风格偏好
json
{
"fact": "用户偏好使用单引号而不是双引号,缩进使用 2 个空格"
}记住工具别名
json
{
"fact": "用户使用 'gco' 作为 'git checkout' 的别名"
}返回结果
工具返回一个包含以下字段的对象:
llmContent: 确认信息returnDisplay: 用户友好的显示信息summary: 操作摘要
示例输出
✓ 已保存到长期记忆:用户喜欢使用 TypeScript 而不是 JavaScript最佳实践
保持事实简洁明了:
- ✅ "用户偏好使用 React 框架"
- ❌ "用户说他们在过去的几年里一直在使用各种前端框架,但最近发现 React 特别好用..."
使用完整的陈述:
- ✅ "用户的主要编程语言是 Python"
- ❌ "Python"
包含上下文:
- ✅ "用户在项目 X 中使用 PostgreSQL 数据库"
- ❌ "PostgreSQL"
避免临时信息:
- ✅ "用户偏好的代码审查工具是 GitHub"
- ❌ "用户正在审查 PR #123"
确认不确定的情况:
- 如果不确定是否应该记住,可以询问用户:"我应该记住这个吗?"
记忆类型示例
个人信息
- 姓名、年龄、职业
- 所在地、时区
- 联系方式偏好
技术偏好
- 编程语言偏好
- 框架和库选择
- 工具和编辑器
- 代码风格
工作习惯
- 工作时间
- 项目组织方式
- 文档习惯
- 测试偏好
项目信息
- 常用项目路径
- 项目结构偏好
- 部署流程
- 团队约定
学习偏好
- 学习风格
- 文档偏好
- 示例类型偏好
隐私和安全
敏感信息:
- 不要保存密码、API 密钥等敏感信息
- 不要保存个人身份信息(除非用户明确要求)
数据存储:
- 记忆存储在本地
- 遵守用户隐私设置
- 可以随时删除
数据使用:
- 仅用于改善用户体验
- 不会与第三方共享
- 仅在相关上下文中使用
记忆管理
查看记忆
用户可以查看已保存的记忆(具体命令取决于实现)。
更新记忆
保存新的事实会更新或补充现有记忆。
删除记忆
用户可以要求删除特定记忆或清除所有记忆。
与项目特定信息的区别
- save_memory: 用于用户相关的个人信息和偏好
- SII.md 文件: 用于项目特定的上下文和配置
使用 save_memory
用户偏好使用 Vim 编辑器
用户的名字是张三
用户习惯使用 TDD 开发方式使用 SII.md
项目使用 React + TypeScript
API 端点:https://api.example.com
测试命令:npm test注意事项
- 选择性记忆:不是所有信息都需要记住
- 清晰表述:确保事实表述清晰、完整
- 相关性:只记住对未来交互有帮助的信息
- 隐私意识:避免记住过于敏感的信息
- 用户控制:尊重用户对记忆的管理需求
错误处理
可能的错误情况:
参数错误:
- fact 参数为空
- fact 参数过长
- fact 参数格式不正确
存储错误:
- 存储空间不足
- 权限问题
- 文件系统错误
相关功能
- 项目上下文: 使用 SII.md 文件存储项目特定信息
- 会话上下文: 当前对话中的临时信息
- 配置文件: 工具和系统配置
示例对话
场景 1:用户明确要求
用户: "记住我喜欢使用 Tailwind CSS"
助手: 使用 save_memory 工具
json
{
"fact": "用户喜欢使用 Tailwind CSS"
}输出: "✓ 已记住:用户喜欢使用 Tailwind CSS"
场景 2:识别重要偏好
用户: "我总是使用 pnpm 而不是 npm"
助手: 使用 save_memory 工具
json
{
"fact": "用户偏好使用 pnpm 包管理器而不是 npm"
}场景 3:不确定时询问
用户: "我今天在处理登录功能"
助手: "这是当前任务的信息。您希望我记住您通常负责登录功能的开发吗?"
总结
save_memory 工具是实现个性化 AI 助手体验的关键功能。通过明智地使用这个工具,可以让 AI 助手更好地理解用户的偏好和习惯,从而提供更贴心、更高效的帮助。
记住:只保存真正重要且对未来交互有帮助的信息,并始终尊重用户的隐私和控制权。
