Managed Deep Agents (MDA)
将你的智能体构建为一个文件目录,由 LangSmith 负责运行底层框架与运行时。
Managed Deep Agents (MDA) 是构建和部署生产级智能体的最简便途径。你只需专注于智能体要做什么,MDA 负责运行它。无需自行维护服务器,也无需拼接基础设施。
你编写智能体的智慧部分:它的指令、可调用的工具、遵循的技能,并选择驱动它的模型。MDA 提供底层所需的一切:
- Deep Agents 运行框架:负责规划、调用工具、管理文件系统以及委派给子智能体的智能体循环。参见 Deep Agents。
- 托管运行时:每次部署均运行在 LangSmith Agent Server 之上。你无需自行运维服务器即可获得 Agent Server API、对话线程、运行记录、流式传输以及 MCP 端点。
%%{init: {"theme":"base","themeVariables":{"fontFamily":"Inter, system-ui, sans-serif","lineColor":"#40668D","primaryColor":"#E5F4FF","primaryTextColor":"#030710","primaryBorderColor":"#006DDD","clusterBkg":"transparent"}}}%%
flowchart LR
subgraph you["<b>开发者提供</b>"]
Logic("<div style='text-align:left;padding:2px 6px'><b>业务逻辑</b><br/> • 系统指令<br/> • 工具列表<br/> • 技能库<br/> • 基础模型</div>")
end
subgraph mda["<b>Managed Deep Agents</b>"]
direction TB
Harness("<div style='text-align:left;padding:2px 6px'><b>Deep Agents 框架</b><br/> • 智能体循环<br/> • 文件系统<br/> • 子智能体</div>")
Runtime("<div style='text-align:left;padding:2px 6px'><b>托管运行时</b><br/> • Agent Server<br/> • 隔离沙箱<br/> • 定时任务</div>")
Harness --> Runtime
end
Logic ==> mda
classDef neutral fill:#F2FAFF,stroke:#40668D,stroke-width:2px,color:#2F4B68,rx:10,ry:10
classDef process fill:#E5F4FF,stroke:#006DDD,stroke-width:2px,color:#030710,rx:10,ry:10
class Logic neutral
class Harness,Runtime process
style you fill:none,stroke:#40668D,stroke-width:1.5px,stroke-dasharray:5 4
style mda fill:none,stroke:#40668D,stroke-width:1.5px,stroke-dasharray:5 4智能体示例结构
一个 Managed Deep Agent 由一个包含其行为业务逻辑的项目文件夹组成:
当你使用 mda CLI 上传该文件夹时,它将自动运行在托管的 LangSmith 基础设施上。 你提供业务逻辑,Managed Deep Agents 提供智能体运行框架和生产基础设施。
要快速起步,请参阅 Managed Deep Agents 快速起步。
核心能力映射
智能体的每个组成部分都映射到一个文件或目录。根据智能体的需求添加对应的文件:
| 功能模块 | 文件路径 | 说明 |
|---|---|---|
| 模型与核心配置 | agent.ts | 模型选择与核心参数配置。必需项。 |
| 系统指令 | instructions.md | 定义智能体行为方式的系统提示词。 |
| 技能库 | skills/ | 任务专属指南,智能体在相关场景下动态按需加载。 |
| 工具体系 | tools/ | 智能体调用的函数,用于执行业务逻辑或访问外部服务。 |
| MCP 连接器 | tools/mcp.ts | 为智能体提供外部工具的远程 MCP 服务器。 |
| 中间件 | middleware/ | 围绕模型和工具调用执行的自定义拦截逻辑。 |
| 沙箱环境 | sandbox/ | 用于运行智能体编写的代码的隔离文件系统与 Shell。 |
| 长期记忆 | memory.ts | 跨对话线程持久保留的用户偏好与知识。 |
| 身份与鉴权 | identity.ts | 面向多用户部署的调用方私有线程、记忆与独立凭据。 |
| 通信渠道 | channels/ | 与 Slack 等即时通信服务的连接,用于发起运行并接收响应。 |
| 定时调度 | schedules/ | 周期性按计划触发智能体运行的托管 Cron 调度器。 |
| 评测测试 | evals/ | 用于测试与验证智能体表现的评测任务。 |
完整目录布局请参阅项目结构。指令、技能和可选的持久记忆均存储在 Context Hub 中。
与开源 Deep Agents 的关系
Managed Deep Agents 运行的是开源的 Deep Agents 框架,而非另一套截然不同的体系。智能体循环、文件系统工具、子智能体和技能完全通用,无需学习第二套 API,已构建好的智能体可继续平滑运行。
Managed Deep Agents 增添的是围绕智能体的外围托管层。沙箱、持久记忆、渠道和定时调度在 MDA 中是项目文件里的声明,而非需要你自行搭建和运维的服务。连接服务支持 OAuth,最终用户可以自行授权个人账号,省去开发者为每人预配凭据的繁琐工作。LangSmith 在 Agent Server 上托管最终产物。在代码层面,区别仅在于由谁来编译智能体:
- createDeepAgent 返回已编译好的智能体实例。由你负责运行它,并且你拥有围绕它的后端、Store、检查点器和服务器。
defineDeepAgent返回一个声明定义。mdaCLI 将其提交给托管运行时,托管运行时会补充这些外围组件以及记忆、技能和系统提示词,然后使用 createDeepAgent 完成智能体的底层编译。
因此,defineDeepAgent 接受与 createDeepAgent 相同的选项(减去已被托管接管的部分),并附加一个必需的静态 name。每一个 define* 函数都按此模式运作:声明智能体所需的能力,将生命周期托管给运行时管理。
如果你自行运行智能体,或者需要完全属于自己的后端、Store 或 Checkpointer,请直接使用开源 Deep Agents。有关两者的详细对比以及迁移既有智能体的操作步骤,请参阅从 Deep Agents 迁移。
下一步
使用
mdaCLI 创建并部署你的第一个 Managed Deep Agent。
添加自定义搜索工具、持久记忆以及每日定时调度任务。
探索托管 Managed Deep Agents 部署的核心运行时。
从 Claude Code 或其他 MCP 客户端中,将已部署的智能体作为工具调用。
