Agent / 工程
LangChain Managed Deep Agents 推出 Connections:统一凭证管理与按调用者身份鉴权
LangChain 在 Managed Deep Agents v0.7.0 中正式推出 Connections 功能,从根本上改变了 AI 智能体管理外部服务凭证的方式。过去,开发者通常将 API Key 硬编码在环境变量或构建产物中,所有操作均以服务账号身份执行,无法区分是哪位用户发起的请求。Connections 将凭证统一存储在 LangSmith 工作区,工具在运行时通过 slug 名称动态读取,无需重新部署即可轮换或吊销密钥。该功能支持两种所有权模式:智能体所有(所有调用者共享同一凭证)和用户所有(每次调用解析为发起请求的真实用户身份)。凭证类型同样分为静态密钥和 OAuth 授权两种,两个维度可自由组合。对于 GitHub 等已收录在目录中的 23 个服务,开发者只需提供 Client ID 和 Client Secret,无需手动配置授权端点;对于支持标准 OAuth 元数据的 MCP 服务器,甚至只需一个 URL 即可完成接入。
在传统的智能体开发模式下,API Key 往往以环境变量或构建配置的形式存在于项目中,每次密钥轮换都意味着修改代码并重新部署。更关键的问题在于,所有操作都以同一个服务账号身份执行,系统无法判断某次操作究竟是哪位用户触发的。Connections 的核心设计目标正是解决这两个痛点:将凭证从代码中彻底剥离,并为每次调用赋予真实的用户身份。
Connections 的设计围绕两个独立维度展开:所有权与凭证类型。所有权分为智能体所有和用户所有,前者在部署层面固定,所有调用者共享同一凭证,适合 Web 搜索、地理编码、定价数据等与用户无关的通用能力;后者则在运行时动态解析,每次调用都对应发起请求的具体用户。凭证类型分为静态密钥和 OAuth 授权,两个维度可以自由组合,覆盖从简单 API 集成到复杂用户授权的各类场景。
以智能体所有的静态密钥为例,开发者通过 mda connections create 命令将 Tavily API Key 存入 LangSmith 工作区,工具代码中只需一行 connections.get 调用即可在运行时获取密钥。密钥不会进入构建产物,mda deploy 也不会像处理 .env 文件那样将其打包进部署包。未来需要轮换密钥时,只需更新工作区中存储的值,所有后续请求自动使用新密钥,无需触碰任何代码。
用户所有的 OAuth 模式则更进一步。以 GitHub 为例,开发者提供 Client ID 和 Client Secret 后,Connections 自动填充授权端点、令牌端点等 OAuth 元数据,无需手动查阅文档。工具代码将所有权类型设置为 user,connections.get 会在运行时自动判断:若该用户已完成授权则直接返回缓存令牌,若未授权或令牌过期则暂停运行并发起授权流程,而非直接报错。整个 OAuth 回调、令牌存储和刷新逻辑均由平台托管,开发者项目中无需实现任何相关代码。
用户身份的价值在实际场景中体现得尤为明显。当 search_issues 工具以用户身份查询 GitHub 时,私有仓库的可见性因人而异,同一查询在不同用户下会返回不同结果。当 create_issue 工具创建 Issue 时,GitHub 响应中的 user.login 字段显示的是真实用户的账号,而非机器人账号。多个 GitHub 工具可以共享同一个身份解析辅助函数,新增工具无需编写任何额外的鉴权代码。
对于已实现标准 OAuth 元数据自注册的 MCP 服务器,接入成本进一步降低。以 Linear 为例,整个配置只需一条命令加一个 URL,无需 Client ID、Client Secret 或 scope 配置,服务器会自动完成 OAuth 客户端注册。Connections 目前已在 Managed Deep Agents v0.7.0 及以上版本中正式可用,目录中已收录包括 GitHub 在内的 23 个常用服务,同时支持接入任何提供标准 OAuth 元数据的自定义服务。
要点
- 凭证与代码彻底解耦:Connections 将密钥存储在 LangSmith 工作区,轮换或吊销无需修改代码或重新部署
- 按调用者解析身份:用户所有模式下,每次工具调用都携带发起请求的真实用户身份,操作记录不再归属于服务账号
- OAuth 流程完全托管:平台负责授权回调、令牌存储和刷新逻辑,开发者项目中无需实现任何 OAuth 相关代码
- 目录服务开箱即用:GitHub 等 23 个常用服务已预置 OAuth 元数据,只需提供 Client ID 和 Client Secret 即可完成接入
- MCP 服务器零配置接入:支持 OAuth 元数据自注册的 MCP 服务器只需一个 URL,无需任何额外配置
原始标题:Connections: managed credentials and per-caller identity for Managed Deep Agents
本文由 DataHub 基于公开来源整理,用于信息发现与摘要阅读;具体事实、数据和后续更新以原始来源为准。