| name | ie-retrieve-memory |
| description | 从用户的 WPS 笔记中检索历史知识和过去的想法。当用户提到"回忆过去的笔记"、"之前写过什么"、"历史想法"、"以前的笔记"、"查找旧笔记"等需要从笔记库中找回过往知识的场景时使用此技能。此技能属于灵感引擎(ie-)记忆层,专门处理笔记知识检索,不涉及通用文件搜索或代码查找。 |
记忆层:历史知识检索
本技能负责从用户的 WPS 笔记库中检索与当前上下文相关的历史知识。 这是灵感引擎(Inspiration Engine)三层架构中的最底层,为上层推理和洞见提供原始素材。
适用场景
当用户需要找回过去的笔记内容时使用,典型场景包括:
- 用户在写新笔记时想知道过去是否写过类似主题
- 用户想回顾某个项目或主题的历史记录
- 被 ie-engine 编排器调用,作为灵感生成流水线的第一步
- 用户明确要求"找找以前的笔记"或"回忆之前的想法"
不适用场景
以下场景不应使用此技能(避免误触发):
- 搜索代码文件或项目文件(使用文件搜索工具)
- 查找网页内容(使用浏览器工具)
- 创建或编辑笔记内容(使用 wpsnote 工具直接操作)
- 通用的知识问答(直接回答即可)
检索策略
根据用户提供的线索,选择合适的检索方式组合。检索的目标是"宁多勿少",因为后续推理层会负责筛选和聚类。
1. 关键词检索
当用户提供了明确的主题或关键词时优先使用。
步骤:
- 从用户的描述中提取核心关键词(2-5 个)
- 使用 wpsnote 的 search_notes 工具按关键词检索
- 对命中的笔记,使用 get_note_outline 获取结构概览
2. 标签检索
当用户提到的主题可能对应已有标签时使用。
步骤:
- 使用 find_tags 查找相关标签
- 使用 search_notes 按标签筛选笔记
- 多标签时取并集,扩大召回范围
3. 时间维度检索
当用户提到时间线索时使用,例如"去年写的""上个月的笔记"。
步骤:
- 根据用户描述推断时间范围
- 使用 list_notes 按时间排序和筛选
- 结合关键词进一步过滤
4. 笔记内容深入检索
当初步检索结果不够精确时,对候选笔记进行内容级搜索。
步骤:
- 对候选笔记使用 search_note_content 搜索具体内容
- 使用 read_blocks 读取匹配段落的上下文
- 必要时使用 read_section 读取完整章节
输出格式
检索完成后,按以下结构整理结果。这个格式设计为可以直接传递给推理层(ie-connect-dots)使用。
检索结果摘要
---
检索条件:[使用的关键词/标签/时间范围]
命中笔记数:[数量]
---
笔记 1
标题:[笔记标题]
笔记ID:[note_id]
创建时间:[时间]
标签:[标签列表]
核心内容摘要:[与检索主题相关的关键段落摘要,100-200字]
笔记 2
标题:[笔记标题]
...
---
检索置信度:高/中/低
补充说明:[如果检索范围可能不完整,说明原因和建议]
检索数量控制
- 默认返回最相关的 5-10 条笔记
- 如果用户明确要求"尽量多找",可以扩大到 20 条
- 如果是被 ie-engine 编排器调用,按编排器的指示控制数量
- 每条笔记的摘要控制在 200 字以内,避免信息过载
与其他灵感引擎技能的关系
本技能是灵感引擎的 记忆层,在三层架构中处于最底层:
ie-generate-insight(洞见层)<-- 消费推理结果
ie-connect-dots(推理层) <-- 消费检索结果
ie-retrieve-memory(记忆层)<-- 本技能,提供原始素材
- 上游:无(本技能是流水线起点)
- 下游:ie-connect-dots(推理层)接收本技能的检索结果
- 编排:ie-engine 负责串联调用
本技能可以独立使用(用户只想找回旧笔记),也可以作为灵感引擎流水线的一部分。