Skip to content

部署与生产化检查

部署 Deep Agents 不是把本地脚本包成 HTTP 接口。生产环境必须把 thread 状态、长期记忆、artifact、 身份、sandbox、后台任务和观测系统分别建模,并为每个跨租户边界建立服务端强制策略。

生产架构

前端类比

它类似把离线优先 Web 应用部署为多租户服务:component state、IndexedDB、对象存储、Web Worker 和后端任务队列有不同生命周期,不能都塞进一个全局 store。

Deep Agents 原生语义:Agent 是运行在 LangGraph 上的编译图。checkpointer 保存 thread 内图状态, StoreBackend 提供跨 thread memory,backend 管理虚拟文件,sandbox 隔离任意代码执行;它们共享 Agent 调用链,但不是同一种持久化。

先决定数据生命周期

数据推荐范围生产要求
Messages、todos、短期 scratchthread持久 checkpointer、TTL、恢复测试
用户偏好和长期 memoryuser + assistant namespaceStoreBackend、服务端派生 namespace、写权限
组织政策organization、通常只读应用维护、Agent 禁止写入
大文件和报告artifact/object storage引用或签名 URL,不塞进 checkpoint
Sandbox 工作区thread 或 assistantremote sandbox、TTL、配额、清理策略
审计与 tracerun/thread + tenant脱敏、保留期、访问控制

thread_idassistant_iduser_idorg_id 必须来自认证后的 server context。模型输入只能表达 业务意图,不能决定自己属于哪个 namespace。

Agent Server 与部署方式

LangSmith Deployment 的 Agent Server 提供 assistants、threads、runs、Store、持久化和任务队列。 使用 deepagents deploy 可以打包配置并创建 LangSmith Deployment;也可以直接维护 langgraph.json 和部署流水线。自托管时,需要自行管理 Agent Server 及其 PostgreSQL、Redis、worker 和扩缩容。

这与 deepagents SDK 本身是两个层级:SDK 构建图,Deployment 托管图。直接在自己的 API 服务中 调用图也可行,但 checkpointer、Store、队列、重连、迁移和多租户授权都由应用团队负责。

通用 Deployment 与 Managed Deep Agents

选项定位当前约束
LangSmith Deployment托管或自托管 Agent Server/graph可用于通用 LangGraph 与 Deep Agents;按所选 hosting model 配置
Standalone Agent Server自管较轻的数据面自行管理容器、数据库、Redis、扩缩容与升级
Managed Deep Agents面向 Deep Agents 的托管产品Private Beta;当前仅 LangSmith Cloud US,不支持 self-hosted 或 hybrid

不要把“Deep Agents 可部署到 LangSmith Deployment”写成“所有用户都已获得 Managed Deep Agents”。 后者的资格、区域和功能可能变化,采购或架构决策前要重新核对官方页面。

多租户身份与凭据

  • Gateway 验证 end-user;authorization handler 再限制 thread、assistant 和 Store 资源。
  • 团队 RBAC 与终端用户资源授权是两套边界,不要混用。
  • 业务工具从可信 runtime context 读取身份,并在数据层校验 owner/tenant。
  • 用户 OAuth token 只在需要的工具调用中短暂可用;平台级密钥放 secret manager。
  • Sandbox 优先使用 auth proxy 注入出站凭据,不把原始 secret 写进文件、prompt 或环境快照。
  • 共享 memory 是 prompt-injection 通道;组织级路径通常应由应用写、Agent 只读。

工具、Sandbox 与成本护栏

生产部署至少配置:

  1. 业务 tools/MCP 的 allowlist、schema、timeout、重试边界、速率限制和审计。
  2. Remote sandbox 的镜像、网络 egress、CPU/内存/磁盘/进程限制、TTL 和清理。
  3. 每个 run/thread 的模型调用、工具调用、递归、token、墙钟时间和费用上限。
  4. 不可逆动作的应用级授权与 HITL;checkpoint 只能恢复状态,不能撤销已经发生的副作用。
  5. 写操作的幂等键和 outbox/transaction 设计,避免重试导致重复发送或扣款。

部署环境不要使用 FilesystemBackendLocalShellBackend 直接访问宿主。

长任务、Streaming 与 Webhook

长任务应由队列 worker 执行,前端通过 run/thread id 重连 stream。Async subagents 还要求可访问的 Agent Protocol server;创建、查询、更新、取消都要经过租户授权。

Webhook 是完成通知,不是可信内部调用。只允许 HTTPS 和批准域名,验证签名或共享 token,限制重放, 让 handler 幂等,并假设重复或延迟送达。不要把凭据直接放在 webhook URL 或提交到 langgraph.json

发布检查清单

  • [ ] staging 使用与生产等价的 checkpointer、Store namespace 和 sandbox 策略。
  • [ ] 进程重启、worker 失败、HITL 跨日恢复和断线重连均已演练。
  • [ ] 新旧 graph/schema 的 checkpoint 与 memory 迁移有回滚方案。
  • [ ] 所有 tools、MCP、backend 和 webhook 都有独立认证、授权与审计。
  • [ ] PII、prompt、tool result、artifact 和 trace 的数据分类与保留期已确认。
  • [ ] 循环、调用、并发、费用、sandbox 配额和告警阈值已配置。
  • [ ] 依赖、镜像和 sandbox 基础镜像被锁定并经过漏洞扫描。
  • [ ] 离线 evaluation、安全对抗样本、冒烟和回滚测试通过。

先修

下一步

官方参考

学习文档整合站点