服务器基础设施
除了 Agent Server 本身之外,以下每个服务器的基础设施组件也属于“数据平面”的广义定义:- PostgreSQL:用于持久化用户、运行和记忆数据。
- Redis:用于工作器之间的通信以及存储临时元数据。
- 密钥存储:用于安全管理环境密钥。
- 自动扩缩容器:根据负载扩缩服务器容器。
“监听器”应用
数据平面的“监听器”应用会定期调用控制平面 API,以:- 确定是否应创建新的部署。
- 确定是否应更新现有部署(即创建新版本)。
- 确定是否应删除现有部署。
PostgreSQL
PostgreSQL 用于存储服务器资源(线程、运行、助手和定时任务),以及保存在长期记忆存储中的项目。它也是检查点(图执行状态)的默认后端。你也可以选择将检查点存储在 MongoDB 中,详见配置检查点后端。无论使用哪种检查点后端,都始终需要 PostgreSQL。Redis
每个 Agent Server 都使用 Redis 作为服务器与队列工作器之间的通信方式,并用于存储临时元数据。Redis 中不会存储任何用户数据或运行数据。通信
Agent Server 中的所有运行都由属于各个部署的后台工作器池执行。为了支持这些运行的某些功能(例如取消运行和流式传输输出),我们需要一个用于服务器与处理特定运行的工作器之间双向通信的通道。我们使用 Redis 来组织这种通信。- Redis 列表用于在创建新运行后立即唤醒工作器。此列表中只存储一个哨兵值,不存储实际的运行信息。工作器随后会从 PostgreSQL 中获取运行信息。
- Redis 字符串与 Redis PubSub 通道结合使用,使服务器能够向相应的工作器发送运行取消请求。
- 工作器使用 Redis PubSub 通道广播代理在处理运行期间产生的流式输出。服务器中任何打开的
/stream请求都会订阅该通道,并在事件到达时将其转发到响应中。Redis 中不会在任何时候存储事件。
临时元数据
Agent Server 中的运行可能会因特定故障而重试(目前仅针对运行期间遇到的临时 PostgreSQL 错误)。为了限制重试次数(目前每次运行最多重试 3 次),我们会在运行被取出处理时,将尝试次数记录在 Redis 字符串中。该字符串除运行 ID 外不包含任何运行特定信息,并会在短暂延迟后过期。数据平面功能
本节介绍数据平面的各种功能。有关特定平台的行为,请参阅云平台功能或部署到自托管环境。自动扩缩容
专用类型的部署会自动在多个容器之间进行扩缩容。扩缩容基于 3 项指标:- CPU 利用率
- 内存利用率
- 待处理(进行中)运行的数量
MongoDB 检查点
适用于 Cloud(使用外部管理的 MongoDB 实例)和 Standalone 部署。
LangSmith 跟踪
Agent Server 已自动配置为向 LangSmith 发送跟踪信息。有关各部署选项的详细信息,请参阅下表。遥测
Agent Server 已自动配置为报告用于计费的遥测元数据。有关各部署选项的详细信息,请参阅下表。许可
Agent Server 已自动配置为执行许可证密钥验证。有关各部署选项的详细信息,请参阅下表。Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

