# 语义记忆策略
#### 原理
从会话中识别并提取具有明确含义、可独立理解和后续复用价值的事实性信息，包括事实、概念、实体属性、实体关系及其他相对稳定的知识。
#### 适用场景
- 知识密集型对话：需要从对话中持续积累事实知识，构建知识图谱式的长期记忆。
- 技术咨询：记住用户提到的技术栈、架构决策、约束条件等具体事实。
- 个人信息管理：记住用户的个人信息、专业背景、教育经历等。
- 需要记住对话中出现的具体事实：避免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 学到了什么              |
| 时效性 | 相对稳定         | 随经历积累                  |
   
