SuperAPI AI 工具集

forget

智能体与模型

查看项目

更新于 10-16 10:10

技能介绍

用途

forget 用于从 agentmemory 中删除用户选定的持久记忆。当用户表达“忘掉这个”“删除记忆”等意图时使用。

该操作是破坏性的且不可逆,因此必须先展示将要删除的内容并获得用户明确确认,才能执行删除。

主要能力

  • 通过 memory_smart_search 按用户文本搜索记忆,targetLayer 设为 memory,limit 为 20,可指定项目/智能体范围。
  • 展示匹配到的 memory id、标题和范围,对敏感值进行脱敏。
  • 在获得明确同意后,通过 memory_governance_delete 按逗号分隔的 memoryIds 删除,并可附带 reason(默认为插件技能请求)。
  • 检查响应中的 deleted、notFound 和 failed 字段,分别报告实际删除和未解决的 id。

使用方式

快速开始示例:

搜索:

memory_smart_search { "query": "old api key in config", "targetLayer": "memory", "limit": 20 }

展示匹配项,获得“是”后删除:

memory_governance_delete { "memoryIds": "abc12345,def67890", "reason": "user privacy request" }

预期输出:

Found 2 matching memories. Confirmed. Deleted 2 memories.

工作流程:

  1. 使用 memory_smart_search,以用户文本作为 query,targetLayer 为 "memory",limit 为 20,并带上请求的项目/智能体范围。这些是选定的相关性匹配,并非完整清单。
  2. 展示匹配结果:memory id、标题和范围。对秘密值进行脱敏。请求明确确认。不要在沉默或含糊的“随便”下继续。
  3. 确认后,调用 memory_governance_delete,memoryIds 为逗号分隔字符串,reason 可选(默认为插件技能请求)。
  4. 检查响应中的 deleted、notFound 和 failed。分别报告实际删除和未解决的 id。重试失败请求前先重新检查所选 id;中断的响应可能隐藏已完成的写入。

适用场景

  • 用户主动要求删除某些持久记忆。
  • 涉及用户隐私请求的记忆清理。

限制

  • 此操作不支持删除观察记录或整个会话。在继续前需说明这一限制;绝不能将选定记忆的删除标注为完整会话清除。不要传入 observation ID 或 sessionId。
  • 课程(lessons)是分开的:使用 memory_lesson_delete 及其 lessonId 删除;memory_governance_delete 不会触碰课程。
  • 必须按 memory id 删除,绝不能使用裸 session。

反模式

错误:搜索返回匹配后,立即调用 memory_governance_delete,而不展示匹配或等待确认。

正确:列出匹配项,询问“删除这 2 条吗?(是/否)”,仅在明确回答“是”后删除。

检查清单

  • 在任何删除前已向用户展示匹配项。
  • 已收到明确的“是”,而非假设。
  • memoryIds 使用搜索得到的真实 id,而非裸 sessionId。
  • 最终消息说明实际删除的数量。

另见

  • remember:写入侧;forget 是其撤销操作。
  • recall:在删除前查找确切的 memory id。

故障排查

如果 memory_smart_search 或 memory_governance_delete 不可用,请参阅 TROUBLESHOOTING.md。