Summary
存算分离架构是一种将数据存储与计算资源解耦的系统设计模式,应用于云端AI Agent(智能体)时,通过分层存储(热状态、对话记录、长期记忆、工作产物)与弹性计算层(基于k8s + sandbox)的组合,实现多租户、高并发、可水平扩展的Agent运行环境。该架构解决了传统单体Agent在资源隔离、安全性和规模化方面的瓶颈,是Manus、Claude Managed Agents等典型云端Agent服务的基础设计。
Key Points
- 存算分离的核心是将Agent运行的生命周期中产生的不同数据按访问频率和用途分别存储(KV、关系数据库、向量数据库、对象存储),计算层则通过Pod + Sandbox弹性伸缩。
- 相比本地裸机运行(存算一体)和本地沙盒运行(仅在工具调用环节分离),云端多副本的存算分离实现了真正的存储与计算资源独立扩展。
- 瓶颈在于IO延迟和分布式数据一致性,需配合锁机制和负载均衡策略。
- 推荐使用e2b等秒级启动的Sandbox构建缓冲池以提高并发容错。
Concepts
- Agent运行生命周期:包括用户输入、读取提示词/工具/记忆、构建上下文、循环推理(LLM调用 → 工具调用 → 观测 → 再推理)、交付产物。
- 热状态:Agent Loop中的临时状态(step、plan、游标),使用KV存储(如Redis)实现高性能、低延迟,用于异常重启后的断点恢复。
- 对话和任务记录:任务完成后写入关系型数据库(如Postgres)。
- 长期记忆:基于对话/任务记录提取摘要,存入向量数据库(pgvector、Milvus)。
- 工作产物:用户上传文件、Agent输出文件、工具/技能文件,存入对象存储(S3、OSS)。
- Sandbox:计算层中的隔离环境,用于执行工具调用,保护宿主机安全并解决依赖缺失问题。
Details
三种Agent运行模式对比
| 模式 | 典型代表 | 存储与计算关系 | 优点 | 缺点 |
|---|---|---|---|---|
| 本地裸机运行 | OpenClaw | 存算一体,本地磁盘 | 简单,无挂载开销 | 安全性差,易被破坏性工具调用影响 |
| 本地带沙盒运行 | Codex | 仅在工具调用环节分离(sandbox内计算) | 提高安全性,解决依赖缺失 | 仍为单机部署,无法规模化 |
| 云端多副本运行 | Manus, 托管Claw | 存算分离:存储层(KV+DB+向量库+对象存储),计算层(k8s Pod + Sandbox) | 多租户、高并发、弹性伸缩 | 架构复杂,有IO和一致性挑战 |