middleware 配置接口。你可以将 LangChain 中间件添加到 define_deep_agent 或 defineDeepAgent 中,以监控工具调用、添加防护栏、编辑数据、重试瞬时故障或自定义模型调用。
托管深度代理目前处于私有测试阶段,仅在LangSmith Cloud的美国区域提供。加入等待列表以申请访问权限。
backend、store、checkpointer、memory、skills 和系统提示。中间件应专注于代理在模型调用、工具调用和生命周期钩子附近的行为。
关于更深入的钩子、状态和上下文详情,请参阅自定义中间件。
添加一个中间件模块
将中间件代码放在项目中的middleware/ 目录下,并从代理入口文件导入它。有关完整的项目布局,请参阅 CLI 项目文件参考。
将中间件附加到代理
将中间件导入项目根目录的代理入口文件,并将其添加到middleware 列表中。
mda dev 和 mda deploy 命令会将项目文件复制到编译后的构建中。你的中间件导入方式应与在普通本地 Python 或 TypeScript 项目中的工作方式相同。
使用预构建的中间件
你也可以在代理定义中直接传递 LangChain 预构建的中间件。人类介入
在敏感工具调用前暂停代理,以便人工进行批准、编辑或拒绝操作。在代理定义中设置interrupt_on(Python)或 interruptOn(TypeScript),并可选择设置 permissions 来限制工具和文件系统访问。
interrupt_on 字段应用了与 LangChain 的人类介入中间件相同的中断行为。有关决策类型(批准、编辑、拒绝)、条件中断和权限规则,请参阅 Deep Agents 的人类介入和权限指南。
响应中断
当运行过程遇到中断时,它会暂停并等待人工响应后才能继续。- 在本地开发期间,
mda dev会在 LangSmith Studio 中运行代理,它会显示中断信息,以便你检查待处理的工具调用并恢复运行。 - 在已部署的代理上,通过 LangGraph 服务器 API 并携带
Command(resume=...)负载来恢复暂停的运行。请参阅使用服务器 API 实现人类介入。
在内测期间,Managed Deep Agents 以 CLI 为主,程序化调用尚未文档化。要从你自己的应用程序中以编程方式恢复运行,请联系你的 LangChain 团队。
使用运行时上下文
中间件可以通过标准的 LangChain 运行时 API 读取每次运行的上下文。可以使用上下文来处理用户 ID、租户 ID、功能标志、请求元数据或那些默认不应成为模型提示的一部分的凭据。 有关示例,请参阅自定义中间件。测试与部署
使用mda dev 在本地测试项目,然后使用 mda deploy 进行部署。在 LangSmith 中打开部署追踪,以检查模型调用、工具调用、错误和延迟情况。
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

