| name | search-similar-cases |
| description | 搜索相似历史学习案例(长期记忆)。使用场景:需要参考过往学习经验,或学生遇到类似问题时回顾上次如何解决的。 |
search-similar-cases
从 Mem0 长期记忆向量数据库检索与当前问题相似的历史学习案例,返回相似案例、相似原因和上次解决方式。
输入参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|
| query | string | 是 | — | 查询文本,如 "学生不理解正弦定理的应用" |
| limit | integer | 否 | 3 | 返回结果数量 |
| student_id | string | 否 | "" | 学生 ID,可选,用于过滤该学生的历史 |
返回字段
| 字段 | 类型 | 说明 |
|---|
| success | bool | 是否执行成功 |
| similar_cases | array | 相似案例列表,按相似度降序 |
| similar_cases[].case_id | string | 案例 ID(memory_id) |
| similar_cases[].content | string | 历史案例内容(最多 400 字) |
| similar_cases[].similarity_score | float | 向量相似度(0~1) |
| similar_cases[].timestamp | string | 案例记录时间 |
| similar_cases[].why_similar | string | 推断的相似原因(关键词重叠或语义相似) |
| similar_cases[].resolution_hint | string | 上次解决方式摘要(从案例内容提取) |
| count | integer | 返回案例数 |
| top_match_score | float | 最佳匹配相似度 |
| hint | string | 人类可读摘要 |
内部逻辑
- 调用
LongTermMemory.search_similar_sessions(query, limit) 做 Mem0 向量检索
- 对每条结果:关键词重叠推断相似原因,从内容后半段提取解决方式
- 按 similarity_score 降序排列
使用方
- TutorAgent:参考历史成功教学案例
- AssessAgent:复习时参考之前类似的诊断结果
与 search-history 的区别
| search-history | search-similar-cases |
|---|
| 存储 | 短期记忆(内存/Redis,60min TTL) | 长期记忆(Mem0,永久) |
| 范围 | 当前会话 | 所有历史会话 |
| 检索方式 | 关键词过滤 | 向量相似度 |
| 使用场景 | 回顾本次对话 | 参考历史类似案例 |