智能体记忆系统
GeniSpace 智能体采用先进的双层记忆架构,能够智能地管理和检索历史交互信息,为用户提供更连贯、个性化的对话体验。本指南将详细介绍记忆系统的架构、配置方法和最佳实践。
双层记忆架构
GeniSpace 采用优化的双层记忆架构,消除了传统三层架构中的内容重叠问题:
1. 近期对话记忆 (Recent Conversation)
- 功能:保存当前会话和最近的对话历史
- 获取方式:通过API一次性获取所有近期消息
- 智能处理:自动格式化为连贯的对话上下文
- 容量配置:10-200条消息(默认50条)
2. 历史记忆 (Historical Memory)
- 功能:基于向量相似度检索相关历史记忆
- 存储方式:使用向量数据库(Milvus)进行语义检索
- 智能匹配:基于语义相似度找到最相关的历史交互
- 检索数量:1-20条结果(默认5条)
双层架构优势
相比传统三层架构:
- 避免重叠:消除短期和中期记忆的内容重复
- 性能优化:减少API调用次数,提高响应速度
- 简化逻辑:双层结构更清晰易懂,便于维护
- 智能整合:自动合并双层记忆形成完整上下文
多级记忆隔离
智能体记忆系统支持三种隔离级别,适应不同的使用场景和隐私要求:
会话隔离 (Session Isolation)
- 范围:每个对话会话都有独立的记忆
- 适用场景:
- 需要严格隐私保护的对话
- 不同主题的独立讨论
- 临时性任务和咨询
- 特点:
- 会话间信息完全隔离
- 结束会话后记忆可选择性清除
- 最高级别的隐私保护
用户隔离 (User Isolation)
- 范围:记忆在同一用户的所有会话间共享
- 适用场景:
- 个人助手和学习伙伴
- 需要记住用户偏好的应用
- 长期项目跟踪
- 特点:
- 跨会话记住用户习惯和偏好
- 提供个性化的连续体验
- 支持长期关系建立
团队隔离 (Team Isolation)
- 范围:记忆在所有团队成员间共享
- 适用场景:
- 团队协作项目
- 知识共享和传承
- 集体决策支持
- 特点:
- 团队知识积累和共享
- 协作记忆和经验传承
- 提高团队整体效率
配置记忆系统
基础配置
在智能体配置页面的"记忆配置"部分,您可以进行以下设置:
1. 启用记忆功能
☑️ 启用记忆
- 对话型智能体:启用对话记忆以在会话间维持上下文
- 任务型智能体:启用任务记忆以记住之前的任务执行
2. 记忆隔离级别选择
○ 会话隔离 - 每个对话会话都有独立的记忆
○ 用户隔离 - 记忆在同一用户的所有会话间共享
○ 团队隔离 - 记忆在所有团队成员间共享
3. 记忆召回参数精细调控
历史记忆检索数量
- 范围:1-20条
- 默认:5条
- 说明:从向量数据库检索的历史记忆最大数量
近期对话最大消息数
- 范围:10-200条
- 默认:50条
- 说明:近期对话记忆包含的最大消息数量(包含当前会话和历史)
重要轮次数量
- 范围:3-50轮
- 默认:10轮
- 说明:用于智能摘要的重要对话轮次数量
配置说明
配置完成后,系统会按照以下方式工作:
记忆工作流程
- 近期对话:从数据库获取的最新会话消息
- 历史记忆:通过向量搜索找到的相关历史内容
- 重要轮次:用于生成对话摘要的关键交互次数
智能摘要机制
当消息数量超过重要轮次数量时,系统会:
- 保留最近的重要对话轮次(完整内容)
- 对较早的历史消息进行智能摘要
- 自动提取关键信息点和决策
- 节省上下文空间,提高处理效率
向量检索原理
历史记忆使用先进的向量数据库技术:
- 将用户输入转换为向量表示
- 在历史交互中进行语义相似度搜索
- 返回最相关的历史记忆片段
- 支持跨语言和多模态内容检索
最佳实践
根据隔离级别选择记忆策略
会话隔离适用场景
推荐配置:
- 历史记忆检索:3-5条
- 近期对话消息:20-50条
- 重要轮次:5-8轮
适用于:
- 客户咨询服务(隐私要求高)
- 临时任务处理
- 敏感信息讨论
用户隔离适用场景
推荐配置:
- 历史记忆检索:5-10条
- 近期对话消息:50-100条
- 重要轮次:8-15轮
适用于:
- 个人助手和学习伙伴
- 长期项目跟踪
- 个性化服务
团队隔离适用场景
推荐配置:
- 历史记忆检索:8-15条
- 近期对话消息:100-200条
- 重要轮次:15-30轮
适用于:
- 团队协作项目
- 知识管理系统
- 集体决策支持
性能优化建议
提高记忆检索效率
- 合理设置检索数量:避免检索过多历史记忆影响响应速度
- 优化查询质量:使用具体、明确的关键词提高检索准确性
- 定期清理无效记忆:删除过时或错误的历史记忆
内存使用优化
- 控制近期对话数量:根据实际需求调整消息数量上限
- 启用智能摘要:让系统自动压缩冗长的历史对话
- 平衡性能与记忆深度:在响应速度和记忆全面性间找到平衡
记忆管理API
开发者可以通过API管理智能体的记忆系统:
获取记忆统计信息
const response = await fetch(`/api/agents/${agentId}/memory/stats?${queryParams}`, {
headers: {
"Authorization": "Bearer YOUR_API_KEY"
}
});
const stats = await response.json();
// 返回:{ total_memories: 150, agent_id: "agt_123", isolation_level: "session" }
清除会话记忆
// 清除特定会话的记忆
await fetch(`/api/agents/${agentId}/memory/session/${sessionId}`, {
method: "DELETE",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
agentId: agentId,
isolation_level: "session" // session, user, team
})
});
清除智能体记忆
// 清除智能体的所有记忆
await fetch(`/api/agents/${agentId}/memory`, {
method: "DELETE",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
isolation_level: "user" // 根据需要设置隔离级别
})
});
配置记忆参数
智能体的记忆配置通过智能体配置API进行管理:
const memoryConfig = {
enabled: true,
isolation: "user", // session, user, team
recent_conversation_max_messages: 50,
recent_important_turns: 10,
historical_max_results: 5
};
await fetch(`/api/agents/${agentId}`, {
method: "PATCH",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
memoryConfig: memoryConfig
})
});
常见问题
Details
双层记忆架构相比传统架构有什么优势?
双层架构消除了短期和中期记忆的内容重叠,减少了API调用次数,提高了响应速度。同时架构更简洁,便于理解和维护,智能整合双层记忆形成完整上下文。如何选择合适的记忆隔离级别?
- 会话隔离:适用于需要严格隐私保护的场景,如客户咨询
- 用户隔离:适用于个人助手,需要记住用户偏好和习惯
- 团队隔离:适用于团队协作,共享知识和经验积累
Details
记忆系统如何处理多模态内容?
系统支持文本、图片等多模态内容的记忆存储和检索。使用向量数据库进行语义相似度搜索,能够跨语言和多模态内容进行智能匹配。Details
记忆检索的准确性如何保证?
系统使用先进的向量嵌入技术将内容转换为语义向量,通过语义相似度而非关键词匹配进行检索,确保能找到最相关的历史记忆,即使表达方式不同。如何优化记忆系统的性能?
- 合理设置检索数量,避免检索过多影响速度
- 根据使用场景调整近期对话消息数量
- 启用智能摘要压缩冗长对话
- 定期清理无效或过时的记忆
Details
记忆数据的安全性如何保障?
记忆数据采用多级隔离机制,支持端到端加密存储。根据配置的隔离级别,严格控制数据访问权限,确保用户和团队数据的隐私安全。下一步
探索更多智能体功能:
相关指南: