LangChain 发布 Managed Deep Agents 0.8,新增用户级记忆与 HTTP 通道
Managed Deep Agents delivers a better user experience for agents in production
LangChain 发布 Managed Deep Agents 0.8,新增用户自有凭证、用户级记忆、HTTP 通道、Slack 文件传输,以及由 Parallel 驱动的内置网页搜索工具。
官方说明新增用户级记忆、用户自有凭证、HTTP 通道与内置 Parallel 搜索,可据此判断生产级智能体基础设施的补齐方向。
今天我们推出 Managed Deep Agents 0.8,它新增了对用户自有凭证、用户级记忆、HTTP 通道、Slack 文件传输的支持,并添加了一个由 Parallel 提供支持的预构建网页搜索工具。
Managed Deep Agents(MDA)是在生产环境中构建、部署和运行关键任务智能体的最简单方式,让工程团队可以专注于智能体行为,而不必重复构建每个智能体都需要的相同基础设施。通过今天的发布,我们扩展了 Managed Deep Agents,以支持大多数团队在生产环境中运行智能体时面临的四大挑战:智能体记忆、身份验证、通道和工具管理。
Managed Deep Agents 将 Deep Agents 框架与在生产环境中运行智能体所需的所有基础设施结合在一起。Managed Deep Agent 是你代码仓库中的一个代码优先项目,让你可以轻松地将智能体的所有原语组织到一个简单的目录中:
my-agent/
agent.py | agent.ts | agent.tsx
pyproject.toml | package.json # project dependencies
instructions.md # prompt synced to Context Hub
identity.py | identity.ts # auth, thread scoping, memory scoping
memory.py | memory.ts # define your agent's memory
tools/ # custom tools
channels/ # entry points like Slack and GitHub
middleware/ # custom middleware
schedules/ # managed cron schedules
connectors/ # managed connectors
skills/ # skills synced to Context Hub
sandbox/ # sandbox configuration
evals/ # agent evals
实践中的 Managed Deep Agents
假设你正在构建一个内部智能体来支持你的销售团队(在本文中我们称这个智能体为 GTM Agent)。你希望你的智能体能够查找客户详情、研究客户、起草会议简报、跟进邮件等,并帮助你的团队与客户保持互动。为此,你的智能体需要记忆、工具访问、网页搜索、推理和规划能力。

像 Deep Agents 这样的智能体框架有助于构建这些智能体。它们提供了构建复杂智能体的原语,这些智能体可以承担长期运行的关键任务。借助 Deep Agents,启动并运行一个原型很直接,但要让智能体在生产环境中无缝运行,还需要更多工作。
这正是 Managed Deep Agents 的用武之地。它将你定制的 Deep Agents 框架与大规模运行此类智能体所需的管理基础设施打包在一起。这包括添加 Slack 等通道、身份与身份验证,以及管理工具的权限。构建这些基础设施通常需要耗费数个季度的路线图时间,并且需要持续维护。Managed Deep Agents 让工程师可以专注于构建智能体逻辑,并将样板代码交出去。
为你的智能体提供按用户划分的记忆
当智能体在生产环境中被多个用户使用时,强大、安全的记忆管理系统非常重要。Managed Deep Agents 已经支持持久化智能体记忆,让部署可以跨对话保留指令和偏好。设置记忆可以通过简单的声明文件完成:
# A memory declaration file enables durable agent and user-level memory.
my-agent/
agent.py
memory.py借助 Managed Deep Agents 0.8,我们新增了第二层用户级记忆,其范围限定为启动智能体运行的已认证用户。这为智能体提供了一个存储调用者特定上下文的地方,例如偏好、工作风格、重复性任务,或用户要求它记住的细节,而不会将这些上下文与共享的智能体级记忆混在一起。
from managed_deepagents import MemoryLayer, define_memory
memory = define_memory(
agent=MemoryLayer(),
user=MemoryLayer(),
)
在底层,持久化记忆由 LangSmith Context Hub 提供支持,使团队能够存储、版本化并协作处理 Skills 和 AGENTS.md 等智能体文件。智能体记忆挂载在 /memories/agent/,由使用该部署的所有人共享。用户记忆挂载在 /memories/user/ ,并以调用者的已认证身份为键。运行时从不会在这些层之间复制内容,因此团队可以默认将共享知识与个人上下文分开。这在现实世界的智能体用例中很有用,例如:
- 支持代理可能会使用代理记忆来存储团队范围的升级规则,并使用用户记忆来记住某个特定队友偏好简洁的 Slack 更新。
- 研究代理可能会将共享的研究流程保存在代理记忆中,同时将单个用户偏好的来源类型或格式约定存储在用户记忆中。
“使用 Managed Deep Agents 构建的体验非常顺畅。LangChain 团队与我们合作得很好,并帮助我们快速排查问题。我们的生产聊天应用作为 Managed Deep Agent 运行——借助 Context Hub 和用户级记忆,我们能够在维护客户机密的同时提供卓越的体验。”— Zahid,CTO,
Kyth.ai
记忆易于配置,并且位于 Managed Deep Agents 项目中的单个文件内。你可以启用代理层、用户层,或两者都启用。你还可以为每一层定义访问策略,让团队控制记忆何时可用以及适用于什么范围。除非另有指定,Managed Deep Agents 使用以下默认值:
| 运行来源 | 代理记忆 | 用户记忆 |
|---|---|---|
| Slack 一对一私信 | 允许 | 允许 |
| Slack 频道或群组私信 | 允许 | 拒绝 |
| HTTP | 允许 | 拒绝 |
这种分层方法确保用户级信息不会“泄露”到与多个用户的对话中。考虑前面提到的 GTM 代理。用户可以在与代理的直接私信中发起请求,也可以在 Slack 群组中发起请求。定义的访问策略和默认值确保:
- 直接私信中,代理按照用户偏好行事。
- 在包含多个用户的线程或 Slack 群组中的请求,代理默认采用工作区/团队偏好。
- 两种场景之间不会泄露偏好和存储的记忆。
在此处了解有关设置代理级和用户级记忆的更多信息。
通过连接安全地提供用户和代理身份
连接将 Managed Deep Agent 链接到外部服务,例如 GitHub、Notion 或 Tavily。连接是 LangSmith 工作区中命名的凭据,你的工具仅在运行时读取它们。
与记忆一样,根据代理的用途以及用户与其交互的方式来限定凭据范围非常重要。使用 Managed Deep Agents,你可以在用户级或代理级限定凭据范围。
代理拥有的凭据在所有用户之间共享,这对于不因个人而异的代理能力(例如网络搜索)很有用。相比之下,当用户将在工具中拥有独特权限时,用户拥有的凭据就很重要。这对于 GitHub、Linear 和 Notion 等工具通常是必要的。

例如,我们的 GTM 代理应该能够在用户在私信中请求时传递用户凭据并使用 Salesforce 数据。代理还应该能够使用代理凭据搜索网络并查找有关客户的信息。
Managed Deep Agents 开箱即支持 23 项服务,包括 Linear、GitHub 和 Google Workspace 工具,其中 LangSmith 管理授权、令牌和方法,因此开发者只需设置用户 ID 和密钥。
在此处了解如何设置和使用连接中的凭据。
通过用户偏好的渠道访问代理
内部 agent 通常通过 Slack 等现有沟通渠道访问。Managed Deep Agents 提供预构建的 Slack 支持,让你能轻松地在团队已经工作的地方暴露 agent。
在今天的发布中,Managed Deep Agents 现在支持更丰富的 Slack 工作流与文件传输,并新增了 HTTP 渠道,用于将 agent 连接到任何能发送 JSON webhook 的服务。
# channels/orders.py
from managed_deepagents import channels
from lib.orders import parse, verify, messaging
channel = channels.http(
provider="orders",
verify=verify,
parse=parse,
messaging=messaging,
)对于基于 Slack 的工作流,用户可以从私信、应用提及或线程回复中调用 agent。借助文件传输支持,他们还可以直接在对话中发送 agent 所需的材料,例如日志、电子表格、合同、截图或客户文档。例如,使用我们的 GTM agent,用户现在可以在 Slack 中直接添加之前通话的笔记或客户分享的文档,同时向 agent 发出请求。agent 随后会读取该文件,将其加入上下文,并基于此作出回应。
HTTP 渠道让团队可以将 agent 引入内部工具、客户门户、支持系统、订单系统或任何能发送 webhook 的产品界面。这对于存在于多个渠道、面向客户的 agent 非常有用。例如,一个负责接收和分诊的客户支持 agent 可以存在于你的产品中,而一个负责安排演示和会议的 agent 可以存在于你的网页上。
对于 Slack 和 HTTP 两种方式,团队都能掌控认证、身份和记忆,同时让用户在他们已经偏好的渠道中访问 agent。
“[Managed Deep Agents 是] 迄今为止端到端最完整的 agent 平台。Slack 集成运行完美,让生活更轻松,因为我们通过 Slack 访问所有 agent。我们能够使用 CLI 和 GitHub actions,将多个带有自定义 MCP 服务器的 agent 部署到生产环境。现在我们拥有了始终在线的分诊能力,可以访问正确的监控,并能够打开 PR 和提醒团队。”—— Derek Gilbert,Consensus 工程团队
由 Parallel 提供支持的内置网页搜索
网页搜索是最常见的 agent 工具之一,因此我们决定将其直接构建到 Managed Deep Agents 中。现在,你可以使用由 Parallel 提供支持的网页搜索,而无需创建单独的供应商账户、管理另一个 API 密钥,并自行将搜索工具接入 agent。
只需在 tools 文件夹中指定 MCP 服务器,LangSmith 就会管理 Parallel 凭据并执行该工具。agent 会收到可引用的相关摘录和来源 URL,而调用、延迟和错误都会显示在 LangSmith 追踪中。
将 Parallel 添加到 tools/mcp.py / tools/mcp.ts 中的 servers 映射。只需定义一次 mcp
from managed_deepagents import define_mcp
mcp = define_mcp(
servers={
"Parallel": {
"transport": "http",
"url": "https://api.smith.langchain.com/v1/managed-tools/servers/parallel/mcp",
},
},
)开始使用
Managed Deep Agents 0.8 简化了 agent 认证、记忆和渠道,并引入了网页搜索作为预构建工具。
我们很期待看到团队如何使用这些新能力,因此在 MDA 处于 beta 期间,我们通过 Managed Deep Agents 免费提供 Parallel 网页搜索。
在 Managed Deep Agents 文档中了解更多,或从以下内容开始:
uvx --from managed-deepagents mda init my-agent
cd my-agent
uv run mda deploy我们正在持续改进 Managed Deep Agents,也很想听听你在构建什么。加入我们的 Slack 社区,分享你正在构建的内容,并向我们提供任何反馈。
来源:LangChain Blog · langchain.com