在过去一年里,我们见证了代理式应用程序的兴起,从工作流助手到代码生成助手再到深度研究员。这些代理式应用程序通常结合使用工具、记忆和推理来完成复杂的多步任务——超越检索和聊天,实现行动。
代理正在改变我们对应用程序的看法。应用程序不再仅仅是一系列请求和响应——简化为输入表单、按钮、视觉效果或聊天界面。相反,代理会记住、推理和采取行动。它们在后台根据事件和信息工作。它们不仅采取行动,还会寻求帮助、展示工作、推理问题并进行团队协作。虽然无状态的无服务器计算仍然是分布式系统的北极星,但对于基于代理的应用程序来说,它还不够。这种新型应用程序需要新的基础设施。
代理通常是
- 长期运行——推理和执行任务需要几分钟,而不是几毫秒。
- 有状态——在步骤之间或过去的交互中携带记忆和持久化上下文
- 突发性——尤其是在计划或用户触发的场景中。
试图将具有这些特征的代理硬塞进现有的无服务器或微服务架构通常会导致脆弱、易出错的系统。
为什么需要代理基础设施
代理工作负载需要新的原语——这是 Web 后端和传统分布式系统都无法提供的。代理堆栈正在出现一个新的层:代理基础设施。它位于您的代理逻辑和原始计算之间,提供结构、控制和可靠性。
代理基础设施是专门为支持持久执行、复杂状态管理、人工干预协调、流式传输等而构建的基础设施——无需您自己将所有内容缝合在一起。这就是为什么我们构建了 LangGraph 平台,它是部署和运行您的 LangGraph 应用程序的最佳场所,提供可扩展、可靠的代理基础设施。
持久执行:代理运行需要时间
大多数无服务器环境都针对短暂任务进行了优化。但是代理——从研究助手到工作流助手——可以运行至少几秒钟,通常是几分钟,极端情况下甚至几个小时。它们可能会暂停以调用工具、等待 API 或接收人工干预反馈。
在 LangGraph 中,这些代理会被暂停并在以后安全地恢复,但许多系统无法处理这些长期或不可预测的暂停。如果没有正确运行时,长期运行的代理有超时、崩溃或丢失进度的风险。
代理基础设施提供
- 后台执行,使代理可以独立于初始请求运行
- 心跳信号,通过指示正在进行的进度来防止超时
- 可恢复运行,以便在崩溃或暂停后从检查点恢复
这种持久性对于构建可靠的、生产级别的代理至关重要,这些代理无论需要多长时间才能成功完成任务。
状态管理:代理需要的不仅仅是消息缓冲区
代理的“状态”可以包括中间结果、工具输出、嵌入文档或多轮上下文。传统的基础设施不提供结构化的方法来在运行时存储、恢复或编辑此状态。代理基础设施可以提供 OOTB(开箱即用)所需的存储和检查点,以跨步骤、故障或用户干预来持久化状态。
人工干预:代理需要等待、暂停和恢复
代理在继续之前经常依赖人类反馈进行批准或澄清。这意味着您不能仅仅发送一个请求然后就置之不理。您需要可恢复的状态以及对步骤之间任意长时间延迟的支持。
代理基础设施允许您使用 API 来暂停或恢复,而无需手动连接队列、缓存和轮询端点。
突发并发:代理必须吸收流量高峰
真实的代理式应用程序可能会面临不可预测的流量激增——无论是数百万用户同时查询 AI 搜索应用程序,还是计划中的深度研究助手运行其整个团队的每日工作。这些高峰可能导致请求拥堵、请求丢失或性能下降。
像 LangGraph 平台这样的代理基础设施旨在通过以下方式吸收这些突发流量:
- 任务队列,有效缓冲和调度传入的运行(即使在高负载下)
- 水平自动伸缩,可以动态添加新的工作节点和队列实例,以确保每个运行都只被处理一次
这因此消除了对自定义负载平衡逻辑的需求,并帮助您的代理在面临高吞吐量或不可预测的工作负载时保持稳定。
流式传输:了解您的代理在想什么
代理不仅仅返回最终结果——它们会随着时间推移思考、行动和完善其响应。
良好的代理基础设施使其中间输出(例如,想法、工具调用、部分完成)可见,以增强用户体验和开发人员可见性。例如,LangGraph 平台支持
- 令牌级流式传输,允许您从 LangGraph 中的任何节点、子图、工具或任务流式传输 LLM 输出(一次一个令牌)。
- 自定义数据流式传输,使用自定义流模式在图的任何点发出结构化的、用户定义的数据,从而实现超越标准文本响应的灵活通信
- 流式生成式 UI,用于渲染丰富的用户界面的动态组件。
由于所有流式传输模式都包含元数据上下文,因此您可以将每个输出追溯到其源头——从而更容易调试和监控您的代理行为。
LangGraph 平台如何提供帮助
LangGraph 平台为您提供了在生产环境中运行代理工作负载所需的基础设施,而无需自己构建。您可以从 GitHub 一键部署代理,运行时会自动处理长期执行、检查点、重试、内存、流式传输和流量高峰。
如果您正在构建有状态、能够采取行动或需要暂停和恢复的代理——LangGraph 平台将处理困难的部分,让您可以专注于代理逻辑和行为,而不是基础设施。 查看文档了解更多信息。
未来是代理的——所以要在坚实的基础上构建
代理式应用程序将持续存在。但就像软件中的每一次转变一样——无论是从单体到微服务,还是从本地部署到云——这种转变都需要新的工具。
代理基础设施是缺失的一层。如果您正在构建除无状态提示之外的任何东西,那么是时候认真考虑什么在后台支持您的代理了。
开始使用 LangGraph 平台了解更多信息。