Shannon内存系统架构:打造上下文感知的智能体协作环境

Shannon内存系统架构:打造上下文感知的智能体协作环境

【免费下载链接】Shannon A production-oriented multi-agent orchestration framework. 【免费下载链接】Shannon 项目地址: https://gitcode.com/gh_mirrors/shann/Shannon

Shannon作为面向生产环境的多智能体编排框架,其内存系统是实现智能体协作与上下文感知的核心组件。本文将深入解析Shannon内存系统的架构设计、核心功能与实现原理,帮助开发者理解如何构建高效、智能的多智能体协作环境。

内存系统架构概览

Shannon内存系统采用分层设计,结合关系型数据库、缓存和向量存储技术,构建了一个全面的上下文管理解决方案。系统不仅能保存会话历史,还能通过语义理解实现智能检索,为多智能体协作提供持续的上下文支持。

Shannon开源平台架构图

图:Shannon开源平台架构图,展示了内存系统在整体架构中的位置与交互关系

核心存储层设计

Shannon内存系统采用三层存储架构,各司其职又相互协作:

PostgreSQL:持久化关系型存储
  • 会话上下文:存储会话级状态和元数据
  • 执行记录:智能体和工具的执行历史
  • 任务跟踪:高级任务和工作流元数据
  • 用户管理:认证和授权信息

相关数据表定义可参考数据库迁移脚本,其中task_executions表(88+行数据)是当前主要的任务跟踪数据源,替代了旧的tasks表。

Redis:高性能缓存层
  • 会话缓存:快速访问活跃会话数据
  • 令牌预算:实时令牌使用跟踪
  • 压缩状态:记录上下文压缩状态
Qdrant:向量语义存储
  • 语义记忆:高性能向量相似度搜索
  • 集合组织:包括task_embeddings、summaries、tool_results等多个集合
  • 混合搜索:结合时效性和语义相关性
  • 分块存储:高效处理长问答对

向量存储的初始化可通过初始化脚本完成,支持创建多种向量集合。

内存类型与功能特性

Shannon内存系统提供多种内存类型,满足不同场景下的上下文需求:

分层内存架构

层级化内存

结合多种检索策略:

  • 近期内存:当前会话的最近N次交互
  • 语义内存:基于查询相似度的上下文相关内容
  • 压缩摘要:旧对话的浓缩表示
会话内存

按时间顺序检索会话中的近期交互,确保对话的连续性。

智能体内存

记录单个智能体的执行历史,包括:

  • 输入查询和生成的响应
  • 令牌使用和模型信息
  • 工具执行和结果
  • 性能指标用于策略选择

相关实现可参考智能体内存管理代码

增强型监督内存

用于智能任务分解的策略性内存:

  • 分解模式:可重用的成功任务分解案例
  • 策略性能:每种策略类型的聚合指标
  • 团队组成:成功的智能体团队配置
  • 失败模式:已知失败及缓解策略
  • 用户偏好:推断的专业知识和交互风格

关键技术特性

高级分块系统

Shannon实现了智能文本分块机制,解决长文本处理难题:

  • 智能文本分块:自动拆分长答案(>2000 tokens)
  • 幂等存储:通过qa_id和chunk_index实现去重
  • 批量嵌入:单次API调用处理所有分块
  • 智能重构:从分块重新组装完整答案
  • 重叠策略:200-token重叠保留上下文

分块参数可通过配置调整,默认MaxTokens=2000,OverlapTokens=200。

上下文压缩

系统会根据消息数量和令牌估计自动触发上下文压缩:

  • 自动触发:基于消息计数和令牌估计
  • 速率限制:防止过度压缩操作
  • 模型感知阈值:不同模型层级有不同限制
  • 异步存储:非阻塞式持久化

压缩实现代码可参考上下文压缩模块

内存检索策略

层级检索(默认)
  1. 从会话中获取最近消息
  2. 执行语义搜索查找相关历史
  3. 合并并去重结果
  4. 作为agent_memory注入智能体上下文
回退链
  1. 主要:层级内存
  2. 次要:简单会话内存
  3. 第三:无内存注入(新会话)

性能优化措施

Shannon内存系统采用多种优化策略确保高效运行:

智能分块优化

  • 基于字符的令牌化:使用4字符≈1令牌的近似值进行一致分块
  • 50%存储减少:仅存储分块文本,不存储完整嵌入
  • 去重:通过qa_id和chunk_index实现幂等性
  • 高效重构:有序分块聚合

MMR(最大边际相关性)多样性

  • 多样性感知重排序:平衡相关性和信息多样性
  • Lambda参数:可配置相关性(λ→1)和多样性(λ→0)的权衡
  • 默认λ=0.7:优化相关且多样化的上下文选择
  • 池乘数:获取3倍请求项目,然后重排序以提高多样性

批处理优化

  • 5倍速度提升:单次API调用处理多个分块
  • 智能缓存:LRU(2048条目)+Redis
  • 降低成本:N个分块→1次API调用

索引策略

  • 50-90%过滤加速:过滤字段上的负载索引
  • 优化的HNSW:m=16,ef_construct=100
  • 全面索引:session_id、tenant_id、user_id、agent_id

隐私与数据治理

Shannon内存系统重视数据安全与隐私保护:

PII保护

  • 数据最小化:仅存储必要字段
  • 匿名化:使用UUID而非真实身份
  • 脱敏:自动PII检测和移除
  • 访问控制:基于角色的权限

数据保留

  • 对话历史:默认30天保留期
  • 分解模式:90天保留期
  • 用户偏好:基于会话,24小时过期
  • 删除权:支持用户删除API

相关数据治理配置可参考配置文件中的隐私设置部分。

内存系统工作流程

Shannon内存系统的完整生命周期包括:

  1. 创建:智能体响应与嵌入一起存储
  2. 检索:基于查询的混合搜索选择
  3. 压缩:旧对话的定期总结
  4. 过期:可选的基于TTL的清理

内存系统在多个工作流中集成:

  • SimpleTaskWorkflow:智能体执行前
  • 策略工作流:研究、React、科学、探索性
  • SequentialExecution:每个智能体步骤前
  • ParallelExecution:所有智能体的共享上下文
  • SupervisorWorkflow:具有战略洞察的增强内存

总结与展望

Shannon内存系统为上下文感知的AI交互提供了坚实基础。核心基础设施已投入运行,task_executions作为主要数据存储,监督内存检索功能正常,P2P智能体协调已激活。虽然分解模式持久化和策略聚合等高级功能仍在等待实现,但系统已成功维持会话连续性,并从任务执行中学习以提高未来性能。

随着项目的发展,未来Shannon内存系统将实现跨会话内存检索、基于内容的哈希去重、基于性能的智能体选择等高级特性,进一步提升多智能体协作的效率和智能水平。

要开始使用Shannon,可通过以下命令克隆仓库:

git clone https://gitcode.com/gh_mirrors/shann/Shannon

更多内存系统细节可参考官方文档

【免费下载链接】Shannon A production-oriented multi-agent orchestration framework. 【免费下载链接】Shannon 项目地址: https://gitcode.com/gh_mirrors/shann/Shannon

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值