@LangChain: We simplified agent authentication, memory, and channels, and brought in web search as a pre-built tool for Managed Dee…

X AI KOLs Timeline 产品

摘要

LangChain 在 Interrupt NYC 大会上介绍了 Managed Deep Agents,将 agent harness 与基础设施打包,简化了认证、记忆、渠道接入,并新增 web search 预置工具、Harbor 评估集成与 Parallel 工具集成,让团队专注于业务逻辑。

We simplified agent authentication, memory, and channels, and brought in web search as a pre-built tool for Managed Deep Agents. Watch @VictorMoreira16’s full Interrupt NYC session for an inside look: https://t.co/W2CQTpwhdv https://t.co/fn4D8JzH6A
查看原文
查看缓存全文

缓存时间: 2026/10/10 02:39

We simplified agent authentication, memory, and channels, and brought in web search as a pre-built tool for Managed Deep Agents.

Watch @VictorMoreira16’s full Interrupt NYC session for an inside look: https://t.co/W2CQTpwhdv https://t.co/fn4D8JzH6A


将关键任务 Agent 部署到生产环境

TL;DR:LangChain 产品经理 Victor 介绍 Deep Agents 的架构(文件系统抽象、委派、人在回路),并重点讲解 Managed Deep Agents 如何把 harness 与基础设施打包,让团队只需专注业务逻辑——同时简化了认证、记忆、渠道接入,并带来 Harbor 评估集成与 Parallel 工具集成。

什么是 Agent?

Agent 的核心概念是:模型通过使用工具来完成任务。这基于大约一年前流行起来的 ReAct 风格 Agent,即推理(Reason)和行动(Action)。Agent 会使用工具,并对其进行推理,从而为你完成任务。

什么是 Harness?

Harness 基本上是为了让 Agent 完成任务而嵌入其中的所有其他东西,包括技能(Skills)、工具(Tools)、上下文(Context)、子 Agent(Sub Agents)等等。

为什么要构建 Harness?

答案是为了在正确的时间给模型正确的上下文。很多时候,我们构建 Agent 时知道模型的强大程度取决于我们给它的上下文。我们需要始终能够在正确的时间为模型提供正确的上下文。

Deep Agents 是什么?

Deep Agents 是一个可定制的 harness,可以为任何领域特定任务构建。我们从编码 Agent 和现有的各种 harness 中汲取了大量经验,并将其整合到这个高度可定制的基础 harness 中,几乎适用于任何用例。

Deep Agent 的解剖结构

Deep Agent 的核心由四个部分组成。

1. 执行环境

这是 Deep Agents 哲学的核心。我们为 Agent 抽象出了文件系统:作为开发者,可以在模型和它交互的文件之间通过虚拟文件系统建立一层抽象。这个文件系统可以位于任何地方——可以是 S3 文件,甚至可以是一个让 Agent 写入和执行代码的沙箱,或者更轻量级的代码解释器 / REPL。

这在上下文管理方面也非常强大:

  • 技能的渐进式披露(Progressive Disclosure)
  • 跨线程记忆(Cross-thread Memory)——记住跨对话的 Agent 或用户信息
  • 摘要——随着上下文不断增长,可以将之前的对话总结、压缩并存储到文件系统中
  • 上下文卸载——如果获取到非常大的工具响应,可以将其卸载到文件系统中,而不是直接加载到模型的上下文窗口

2. 委派(Delegation)

委派是指模型能够进行规划、对计划进行推理,然后启动子 Agent 来执行具体任务的能力。

3. 人在回路(Human in the Loop)

人在回路是 LangChain 所做一切的核心。这个大会的名称实际上就来自 interrupt 函数,它是 LangGraph 的一个功能。Deep Agents 构建在 LangGraph 运行时之上,因此你拥有中断和暂停执行的能力。

实际案例:Madrigal

将 Deep Agent 投入生产的一个好例子是我们的客户 Madrigal。Madrigal 有许多不同的用例,但主要专注于药物研究 Agent。他们的药物研究人员可以加载一个领域特定的 harness,对特定研究者领域的知识库进行推理,综合所有结果,并返回一份带有引用来源的完整报告。

他们使用 Deep Agents 构建了这一切。以前为研究人员启动一个新 Agent 需要数周时间,现在通过将所有内容放入 Deep Agents harness 并部署到 LangSmith 上,只需几个小时就能完成。

从本地到生产

构建 Agent 有三个核心领域:

  1. 业务逻辑——这是开发者和团队带来的最重要的东西,即你的专业知识和 Agent 可能使用的各种指令和技能
  2. Harness——Deep Agents 赋予 Agent 使用文件、进行上下文管理等能力
  3. 基础设施——虽然可能是最无聊的领域,但当你真正要把 Agent 投入生产让其他人使用时,这是最重要的领域

原型阶段

我们首先会在本地进行原型开发。在本地机器上运行,效果很好,大家都很兴奋,然后想与其他人分享。这是一个非常有价值的阶段,可以验证 Agent 的“魔力“——证明 Agent 确实能完成我们设计它要做的事情。

投入生产的挑战

然后我们尝试进入生产环境,现在需要考虑很多事情:

  • 人们会在哪里使用这个 Agent?
  • 你希望从哪些不同的界面(Surfaces)使用 Agent?
  • 如何处理不同界面对运行时的接入?
  • 需要能够排队运行,让 Agent 能够合理地提供服务
  • 需要建立流式传输(Streaming)
  • 需要让 Agent 在生产环境中可靠运行
  • 从基础设施角度来看,团队需要考虑不同的事情

Managed Deep Agents

使用 Managed Deep Agents,我们希望让这个过程变得非常简单。我们将 harness 和基础设施打包在一起,让团队可以专注于业务逻辑,通过评估(Evals)、追踪(Traces)、Engine 来改进 Agent,迭代实际的 Agent 逻辑,而不是把精力集中在基础设施和 harness 层面的事情上。

之前需要自己管理的所有方框,现在通过 Managed Deep Agents 变得非常简单:

  • 运行在久经考验的 LangSmith Deployment 上,处理流式传输、检查点(Checkpointing)、认证处理(Auth Handlers)等
  • 直接集成 LangSmith Sandboxes,当需要 Agent 运行和执行代码时进行沙箱控制
  • 使用 Context Hub,允许与业务用户协调指令和技能并进行迭代
  • 接入 LLM Gateway 和追踪(Traces)
  • 提供 Agent 接口,能够让你从不同的界面使用 Agent 并统一处理

目录结构

既然我们处理了所有基础设施,你作为开发者只需定义 Agent 本身。我们提供一个文件夹结构来定义内容:

  • agent.ts 或 agent.py——Agent 定义(支持 Python 或 TypeScript)
  • 指令(Instructions)、技能(Skills)、工具(Tools)、**身份(Identity)**等不同的原语分别存放在目录中的不同文件夹或文件中

快速上手

上手非常简单:

mda init

为 Agent 命名,它会为你生成项目目录。

添加完所有逻辑后:

mda dev

这会启动一个本地 Agent Server——与驱动 LangSmith Deployment 的服务器相同。你可以在本地测试一切,确保按预期工作。

准备投入生产时,只需运行:

mda deploy

它会部署到 LangSmith 的托管基础设施上。这让你能够从想法到原型,再到本地运行,最终到生产环境,整个流程都非常顺畅。

实际案例:GTM Agent

这是 LangChain 内部大量使用的一个用例——我们的市场进入(Go-to-Market)Agent,组织中的任何人都可以与它交互来处理与 GTM 相关的任何事情。

例如,我们会让它为我准备一次会议并起草一封供我审阅的邮件,这些请求会被发送到这个 GTM Agent。设计这个 Agent 非常简单,一切都映射到不同的文件:

  • Agent 定义——放在开头
  • 指令和技能——存放我们处理不同事项的“操作手册“
  • 工具(Tools)——与 Salesforce、Gong 等各种业务系统的连接
  • 另外两个文件——定义用户认证方式以及我们如何记住用户信息

四个关键问题

当我们与客户讨论构建 Agent、将其投入生产时,会引发四个关键问题。

1. 如何识别调用者?

是谁在要求 Agent 做什么——准备邮件还是准备会议?Managed Deep Agents 在这方面做了很多设计,能够在不同界面之间统一调用者身份。我们对不同的渠道提供了一流的支持:

  • 你可以轻松创建一个 Slack 应用并使用这个 Agent
  • 也可以将 Agent 暴露在你的 Web UI、Web 应用或自己的平台上
  • 你不需要用户每次都重新认证和重新完成权限流程

我们构建了一个优秀的认证处理器,帮助你在不同界面之间统一用户身份,所有这些都轻松传递到 Managed Deep Agent 的运行时中。

2. 使用谁的账户?

作为开发者,我们可能想定义某些连接和工具,并以特定方式连接它们。例如,当 Agent 使用我们的 CRM 工具时,我们希望它始终使用用户的凭据,代表调用者操作。如果我在与 Agent 的私聊中说“帮我准备这次会议“,它就能使用我的 Salesforce 凭据去访问。

其他场景中,你可能希望 Agent 拥有自己的 Agent 范围的凭据或服务账户凭据。

在 Managed Deep Agents 中,我们通过 connections 原语让这变得非常简单。你只需定义连接并上传令牌。如果是基于用户的令牌,我们会为你处理。

具体处理方式是在任务执行中完成的。由于 Deep Agents 和 LangGraph 运行时内置了人在回路功能,当你发出请求而 Agent 缺少某个用户的特定令牌(且是代表用户操作的令牌)时,它能够轻松暂停并要求用户完成认证。用户点击链接后,一切继续正常进行。由于我们的中断(interrupts)有检查点保护,这个过程可以无限期地持续。

3. 使用什么记忆?

记忆有很多种方式,我们希望为此提供良好的默认设置:

  • Agent 级记忆(程序性记忆)——Managed Deep Agents 提供了一种很好的方式,让你的 Agent 记住关于用户的某些程序性信息
  • 用户级记忆——用户告诉 Agent 的个人偏好

Agent 能够处理这些不同类型的记忆非常重要,这里控制机制开始发挥作用。

在 Managed Deep Agents 中,我们可以根据调用来源的渠道定义访问控制:

  • 如果我在 Slack 私聊中,Agent 可以使用我的个人记忆、个人凭据,记录关于我的个人记忆——这完全没问题
  • 如果我在与其他同事的共享频道中,我可能不希望它揭露某些关于我的信息

作为开发者,如果需要的话,你可以定义这些原语。

4. 当运行发起时缺少访问权限怎么办?

这在上面的认证处理器部分已经涵盖了。

Context Hub:Agent 上下文的版本控制

Managed Deep Agents 的另一个亮点是通过 Context Hub 获得了 Agent 上下文的版本控制。我们可以将所有指令、技能和记忆存储在 Context Hub 仓库中,这让我们能够在 LangSmith 的界面中进行协作,非常适合迭代指令、对其进行版本控制、推送到生产环境等操作。

评估与部署:Harbor 集成

推送到生产环境可能会让人紧张。我们在 Managed Deep Agents 中投入了大量时间的一项功能是与 Harbor 评估框架的集成。我们今天已经讨论过 Harbor,我们认为它是运行评估的好方式,但从客户反馈来看,它可能有点难以入门。我们希望让 Managed Deep Agents 的使用变得非常简单。

如果你运行以下命令:

mda eval init

它会为你初始化一个 Harbor 环境,帮助你设置任务和检查项。所有这些都会追踪到 LangSmith 并出现在你的 LangSmith 实验(Experiments)标签页中,你可以随着时间推移不断改进 Agent。你可以重新运行相同的任务,实际上可以在你自己的机器上对 Agent 进行爬坡优化(Hill Climbing)。

Parallel 集成

我们今天要宣布的一项内容是与 Parallel 的集成。我们非常兴奋地宣布这个集成,在公开测试期间它将是免费的,欢迎大家使用。

它的使用方式非常简单:你只需将这个工具添加到你的 Managed Deep Agent 中,不需要添加任何 Parallel API 键,一切开箱即用。

客户合作

我们不仅在内部使用自己的 Agent 用例(比如 GTM Agent、Open SWE——一个软件工厂类型的 Agent)并在 Managed Deep Agents 上进行迭代,同时也与大量客户合作。

我们特别提到来自 Kyth 的 Zahid,他在帮助我们与无代码用户、业务用户进行协作的原语方面发挥了重要作用,同时也帮助我们设置了连接和记忆的工作方式。

Source: YouTube — @LangChain: 将关键任务 Agent 部署到生产环境

相似文章

@LangChain: 关于Managed Deep Agents您需要了解的一切:

X AI KOLs Timeline

LangChain 宣布 Managed Deep Agents 进入私有测试版,这是一个托管的 API 优先运行时,用于构建、运行和生产中操作深度代理,利用开源 Deep Agents 工具集,并与 LangSmith 集成,实现持久执行、流式处理和人机协作工作流。