语义记忆策略
原理
从会话中识别并提取具有明确含义、可独立理解和后续复用价值的事实性信息,包括事实、概念、实体属性、实体关系及其他相对稳定的知识。
适用场景
- 知识密集型对话:需要从对话中持续积累事实知识,构建知识图谱式的长期记忆。
- 技术咨询:记住用户提到的技术栈、架构决策、约束条件等具体事实。
- 个人信息管理:记住用户的个人信息、专业背景、教育经历等。
- 需要记住对话中出现的具体事实:避免Agent重复询问已获取的信息,提升交互效率。
特点
- 提取的记忆是独立的事实片段,而非对话摘要,检索时可直接获取具体信息。
- 事实以与上下文无关的格式存储,便于跨会话检索和复用。
- 适合需要精确引用和查证的场景,信息损失较小。
- 需要注意事实的准确性和时效性,过时的事实可能导致Agent给出错误回答。
提取内容举例
举例一:项目信息
用户:“我们项目用的是Python 3.11 + FastAPI”
提取为事实:“用户的项目技术栈为Python 3.11 + FastAPI”
举例二:团队信息
用户:“我们团队有5个人”
提取为事实:“用户团队规模为5人”
举例三:个人背景
用户:“我之前在华为云做了三年后端开发”
提取为事实:“用户工作经历:华为云后端开发,3年”
举例四:业务约束
用户:“我们的系统要求响应时间不超过200ms”
提取为事实:“系统性能要求:响应时间≤200ms”
举例五:实体关系
用户:“张三是我们组的组长,李四是组员”
提取为事实:“张三担任组长,李四为组员,二者同组”
与总结策略的区别
| 对比项 | 语义记忆策略 | 总结策略 |
|---|---|---|
| 关注维度 | 具体事实和知识 | 整体对话的概括 |
| 记住的是 | “知道了什么” | “讨论了什么” |
| 提取粒度 | 微观事实 | 宏观摘要 |
| 举例 | “项目技术栈为 Python 3.11” | “讨论了项目进度” |
| 信息损失 | 较小(保留事实) | 较大(丢弃细节) |
与情景记忆策略的区别
| 对比项 | 语义记忆策略 | 情景记忆策略 |
|---|---|---|
| 记住的是 | 事实(What) | 经历(How & Why) |
| 提取内容 | 静态事实知识 | 带时空序列的完整事件 |
| 举例 | “Python 3.11” | “上次遇到 API 报错,先查日志再改参数解决” |
| 作用 | Agent 知道什么 | Agent 学到了什么 |
| 时效性 | 相对稳定 | 随经历积累 |