Why do I need LangGraph Platform for agent deployment?

为什么我需要 LangGraph Platform 来部署代理?

这篇博文将深入探讨代理部署为何困难的技术细节,以及我们如何构建一个平台来解决这些挑战(LangGraph Platform)。

阅读 4 分钟

注意:截至 2025 年 10 月,LangGraph Platform 已更名为“LangSmith Deployment”。

上周,我们宣布了 LangGraph Platform 的 GA(通用可用性),这是我们为长期运行、有状态或突发性代理构建的部署平台。这篇博文将从技术上解释 **为什么** 需要代理部署平台以及 **如何** 构建它。

简介

在过去的一年里,我们看到 LinkedIn、Uber、Klarna 和 Elastic 等公司 使用 LangGraph 成功构建了代理。我们越来越有信心 LangGraph 高度可控的特性、内置的持久化层和人工干预(human-in-the-loop)功能是构建可靠代理的正确抽象。

在代理构建完成后,就该部署了。

对于某些代理来说,部署很简单。特别是,如果你的代理是无状态的,运行速度快且流量低,那么部署并不难!你可以将其作为 lambda 函数运行,一切都会很好。

然而,对于其他类型的代理,部署变得更加棘手。特别是,**代理运行时间越长、状态越多或突发性越强**,部署就会越复杂。

长期运行的代理

问题

对于处理时间较长的代理(例如,数小时),保持连接处于打开状态可能不切实际。

我们如何解决:

LangGraph Server 支持在后台启动代理运行,并提供轮询端点、流式传输端点和 Webhook,以有效监控运行状态。

问题

常规服务器设置在处理耗时长的请求时,经常会遇到超时或中断。

我们如何解决

LangGraph Server 的 API 通过发送规律的心跳信号,为这些任务提供强大的支持,防止在长时间处理过程中发生意外的连接关闭。此外,如果连接断开,流式传输端点可以重新连接,并且很快就能缓冲你在断开连接期间发出的事件。

问题

代理运行时间越长,在运行过程中遇到异常的可能性就越大。

我们如何解决

LangGraph Server 实施了策略,既能最大程度地减少代理遇到的异常数量(例如,通过在可以使用隔离事件循环和后台线程的 worker 中运行它们),又能缩短从异常中恢复所需的时间(例如,当代理失败时,它会被配置的次数重试,每次重试都从最近一次成功的检查点开始)。

问题

代理运行时间越长,就越需要在代理运行时发出中间输出,以告知最终用户有事情在发生。

我们如何解决

LangGraph Server 实现了多种流式传输模式,包括中间结果、逐 token 的 LLM 消息,以及由你的节点发出的自定义载荷的流式传输。流式传输事件从运行代理的后台 worker 实时发出,延迟极低,为你提供了持久化执行与实时输出的独特组合。多个消费者可以连接到同一个代理的输出流,并且在客户端或中间网络层断开连接时,这些连接可以重新建立。

突发性代理

问题

某些应用程序,特别是那些具有实时用户交互的应用程序,可能会遇到“突发性”请求负载,即大量请求同时击中服务器。

我们如何解决

LangGraph Server 包含一个任务队列,可确保请求即使在高负载下也能得到一致处理,不会丢失。LangGraph Server 被设计为在服务器和队列组件上进行水平扩展。这种扩展对你是透明的,不需要复杂的负载均衡,因为所有服务器实例都是无状态的,并且所有服务器实例都可以与所有 worker 实例通信,以支持实时流式传输和取消。你可以根据需要添加任意数量的队列实例来处理所需的吞吐量,它们将公平地共享排队的运行,而不会执行同一运行两次。

问题

一些突发性应用程序(也具有状态性,见下文)可能会让用户快速发送多条消息,而代理尚未完成对第一条消息的响应。如果不妥善处理,这种“双重发送”可能会扰乱代理流程。

我们如何解决

LangGraph Server 提供了四种内置策略来解决和管理此类交互。

有状态代理

问题

有状态性有几个层次。有短期记忆和长期记忆。然后是人工干预(在图的任意点暂停,直到收到人工输入)。在此基础上,还有人工监督(时间旅行)——允许用户回溯到图的先前状态,修改它,然后从那里恢复。

状态也有不同的形状。最简单的一种只是消息列表。然而,大多数代理的状态比这更复杂。

你想要支持的状态化操作越多,状态就越复杂,那么正确设置基础设施来启用这些操作就会越复杂。

我们如何解决

LangGraph Platform 包含优化的 检查点记忆存储,可以在会话之间管理状态,而无需自定义解决方案。

LangGraph Server 为人工干预场景提供了专门的端点,简化了将人工监督集成到代理工作流中的过程。

问题

代理使用得越多,用于存储可能不再相关的对话和记忆的内存就越多。

我们如何解决

LangGraph Server 支持为对话线程和长期记忆条目附加 TTL(生存时间),当它们过期时,平台将从内存中清除它们。

结论

通过使用 LangGraph Platform,你可以获得一个健壮、可扩展的部署解决方案,可以缓解这些挑战,让你无需手动实现和维护它们。这使你能够更多地专注于构建有效的代理行为,而减少在解决部署基础设施问题上的精力。

要开始使用,请在此处 阅读 我们的部署选项。你也可以查看 我们关于 LangGraph Platform 通用可用性的公告 以了解更多信息。

© . This site is unofficial and not affiliated with LangChain, Inc.