主题
Managed Deep Agents
将你的 agent 构建为文件目录,由 LangSmith 运行 harness 和运行时。
Managed Deep Agents(MDA)是构建和部署生产 agent 的最简单方式。你只需关注 agent 做什么,MDA 负责运行它。无需运行服务器,也无需拼接基础设施。
你编写 agent 的智能部分:它的指令、可调用的工具、遵循的技能,并选择驱动它的模型。MDA 提供底层的一切:
- The Deep Agents harness:负责规划、调用工具、管理文件系统并委派给子 agent 的 agent 循环。参见 Deep Agents。
- 托管运行时:每个部署都运行在 LangSmith Agent Server 上。你将获得 Agent Server API、线程、run、流式传输和 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>You provide</b>"]
Logic("<div style='text-align:left;padding:2px 6px'><b>Business logic</b><br/> • Instructions<br/> • Tools<br/> • Skills<br/> • Model</div>")
end
subgraph mda["<b>Managed Deep Agents</b>"]
direction TB
Harness("<div style='text-align:left;padding:2px 6px'><b>Deep Agents harness</b><br/> • Agent loop<br/> • Filesystem<br/> • Subagents</div>")
Runtime("<div style='text-align:left;padding:2px 6px'><b>Managed runtime</b><br/> • Agent Server<br/> • Sandboxes<br/> • Schedules</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
示例 agent
一个托管 deep agent 由一个项目文件夹组成,其中包含其行为的业务逻辑:
python
from managed_deepagents import define_deep_agent
from middleware.audit import log_tool_calls
from tools.search import internet_search
agent = define_deep_agent(
name="research-assistant",
model="openai:gpt-5.5",
tools=[internet_search],
middleware=[log_tool_calls],
)当你用 mda CLI 上传这个文件夹后,它就会自动运行在托管的 LangSmith 基础设施上。 你提供业务逻辑,Managed Deep Agents 提供 agent harness 和生产基础设施。
要开始使用,请参见 Managed Deep Agents 快速入门。
核心能力
agent 的每个部分都对应一个文件或目录。按需添加你的 agent 需要的内容:
| 能力 | 路径 | 说明 |
|---|---|---|
| 模型和配置 | agent.py | 模型和核心选项。必需。 |
| Instructions | instructions.md | 定义 agent 行为方式的系统提示词。 |
| Skills | skills/ | agent 在相关时加载的任务特定操作手册。 |
| Tools | tools/ | agent 调用以运行你的应用逻辑或访问外部服务的函数。 |
| MCP connectors | tools/mcp.py | 为 agent 提供工具的远程 MCP 服务器。 |
| Middleware | middleware/ | 围绕模型和工具调用运行的自定义逻辑。 |
| Sandbox | sandbox/ | 用于运行 agent 编写代码的隔离文件系统和 shell。 |
| Memory | memory.py | 跨线程持久化的偏好和知识。 |
| Identity | identity.py | 多用户部署中每个调用者的私有线程、记忆和凭据。 |
| Channels | channels/ | 连接到消息服务(例如 Slack),用于启动 run 并接收响应。 |
| Schedules | schedules/ | 按周期运行 agent 的托管 cron 计划。 |
| Evals | evals/ | 测试 agent 的 Harbor 任务。 |
完整布局请参见项目结构。Instructions、skills 和可选的持久记忆存储在 Context Hub 中。
与 Deep Agents 的关系
Managed Deep Agents 运行的是开源 Deep Agents harness,而不是另一套框架。agent 循环、文件系统工具、子 agent 和 skills 都相同,因此没有第二套 API 需要学习,你已构建的 agent 也能继续工作。
Managed Deep Agents 增加了 agent 周围的层。上面的沙箱、持久记忆、channels 和 schedules 都是项目文件中的声明,而不是你需要构建和运维的服务。Connections 负责 OAuth,因此最终用户授权自己的账号,而不是由你为每个人预配凭据。LangSmith 将结果托管在 Agent Server 上。在代码层面,区别更小:由谁编译 agent。
- create_deep_agent 返回一个编译好的 agent。你负责运行它,并拥有其周围的 backend、store、checkpointer 和 server。
define_deep_agent返回一个定义。mdaCLI 将其交给托管运行时,由它提供这些组件以及 memory、skills 和系统提示词,然后用 create_deep_agent 编译 agent。
因此,define_deep_agent 接受相同的参数,减去托管的那些,并增加一个必需的静态 name。每个 define_* 函数都遵循这种方式:声明 agent 需要什么,把生命周期留给运行时。
如果你自己运行 agent,或需要自己的 backend、store 或 checkpointer,请继续使用 Deep Agents。两者的并排比较以及迁移已有 agent 的步骤,请参见从 Deep Agents 迁移。
后续步骤
Quickstart
使用 mda CLI 创建并部署你的第一个 Managed Deep Agent。
Tutorial
添加自定义搜索工具、持久记忆和每日计划。
Agent Server
探索承载 Managed Deep Agents 部署的运行时。
MCP endpoint
从 Claude Code 或其他 MCP 客户端将部署的 agent 作为工具调用。