TECH NOTE
1769 字 9 分钟 系列 17 / 22Deep Agents 多 Agent 文档中文精讲
ON THIS PAGE / 目录7 节
一句话讲透:上层的
多agent/讲的是 LangChain 官方 Multi-agent 板块——模式与选型(五种模式、什么场景用哪个、调用与 token 代价);这个子板块讲的是 Deep Agents 的多 Agent 能力——同一套模式在 Deep Agents 里长什么 API、默认值是什么、坑在哪。一句话分工:上层教你怎么选,这里教你怎么用。
和上层笔记的关系(先看这个,别重复读)
| 你已经读过的 | 它讲什么 | 本子板块对应补充 |
|---|---|---|
| 04 Subagents 子智能体 | 模式原理:主管 + 子智能体即工具、上下文隔离、同步/异步概念、三处上下文阀门 | 01 Subagents 把它落成 Deep Agents 的字段与默认值 |
| 14 手写 Tool 包装 vs Deep Agents 内置 subagents | 底层机制:subagents= 最终就是一个 task(description, subagent_type) 工具 + 注册表(源码 + 抓包) | 01 Subagents 讲这套机制上的完整配置面 |
| 03 性能对比 | Subagents 一次请求 ≈ 4 次模型调用 | 03 异步子智能体 讲怎么让这些调用不阻塞用户 |
| 07 Router 路由、08 Custom workflow | 先分诊再并行 / 自己画图 | 02 动态子智能体 是”用代码编排子智能体”的官方答案(扇出、筛选、锦标赛、循环) |
文件索引
| 文件 | 一句话 | 对应原文 |
|---|---|---|
| 01 Subagents:内置 task 工具 + 一整套配置面 | 静态子智能体:SubAgent 每个字段(含 tools/skills/permissions 的继承 vs 覆盖规则)、CompiledSubAgent、默认 general-purpose、fork 模式、流式与追踪、结构化输出、最佳实践 | deepagents/subagents |
| 02 Dynamic subagents:用代码编排子智能体 | 动态编排:把”派谁、派几个、怎么收敛”从模型手里拿回代码——分类分发、扇出汇总、对抗验证、生成筛选、锦标赛、循环到达标 6 种模式 | deepagents/dynamic-subagents |
| 03 Async subagents:后台跑的子智能体 | 异步子智能体:启动 / 轮询 / 中途干预 / 取消,状态机、传输方式(ASGI vs HTTP)、部署拓扑、排障清单 | deepagents/async-subagents |
建议阅读顺序:01 → 03 → 02。01 是使用频率最高的(大多数系统只需要静态子智能体 + 异步化);03 解决”不要让用户干等”;02 最重,等你确实需要”代码控制编排”时再上。
三者怎么选(一页速查)
| 你的需求 | 用哪种 | 代价 / 前提 |
|---|---|---|
| 几个固定领域的专家、由模型决定派谁 | 静态子智能体(subagents=) | 每次派活多一次模型调用(见 03 篇) |
| 想让子智能体”接着父级已开工的活干” | fork 模式(mode:"fork") | 需 deepagents>=0.7.13,且会削弱上下文隔离、可能破坏提示词缓存 |
| 任务长(几十秒~几分钟),用户不该干等;要能中途干预/取消 | 异步子智能体 | 需要能跑的 agent server(同进程 ASGI 或远端 HTTP) |
| 要严格控制派几个、并行度、失败重试、结果筛选与收敛 | 动态子智能体(解释器运行时) | 官方标注 beta;本机 0.7.5 不含该运行时 |
| 既要灵活又不想上解释器 | 用 LangGraph / 普通 Python 自己编排,把 Agent 当节点(见 08 篇) | 编排逻辑、并发上限、收敛条件都要自己写 |
本机可用性矩阵(deepagents 0.7.5 实测)
| 能力 | 本机 0.7.5 | 依据 |
|---|---|---|
静态子智能体(subagents= / SubAgent / CompiledSubAgent / SubAgentMiddleware) | ✅ | 包内已导出 |
默认 general-purpose 子智能体(GeneralPurposeSubagentProfile) | ✅ | 包内已导出 |
子智能体结构化输出(response_format) | ✅ | 需 deepagents>=0.5.3 |
异步子智能体(AsyncSubAgent / AsyncSubAgentMiddleware) | ✅ | 包内已导出;但需要 agent server 环境才能真正跑起来 |
fork 分叉子智能体(mode:"fork") | ❌ | 需 deepagents>=0.7.13;0.7.5 的 SubAgent 里没有 mode 字段 |
| 动态子智能体(解释器运行时) | ❌ | 需要 langchain-quickjs(PyPI 已发布)并在 agent 上挂 CodeInterpreterMiddleware;0.7.5 包内没有解释器运行时模块,本机也未安装该包(官方标注 beta) |
结论:本机现在就能用的是「静态子智能体 + 异步子智能体 + 结构化输出」;fork 与动态编排需要先升级
deepagents。三篇笔记里凡是涉及版本门控的地方都标了> ⚠️ **版本要求**。另外提醒一个容易踩的认知偏差:动态子智能体的编排代码写在解释器里(TypeScript),不是 Python——Python 只负责”把解释器中间件挂上去”,
task()这些编排调用发生在解释器内部。
术语中英对照(与上层笔记保持一致)
| 英文 | 译法 | 备注 |
|---|---|---|
| SubAgent / CompiledSubAgent | 子智能体(字典式 / 编译式) | 字符串配置 vs 现成的 LangGraph 图 |
| task tool | task 工具 | Deep Agents 里唯一的派活入口 |
| isolated / fork | 隔离 / 分叉 | 只看到任务描述 vs 继承父级对话与系统提示词 |
| context quarantine | 上下文隔离 | 子智能体的核心价值:把噪音关在外面 |
| interpreter runtime | 解释器运行时 | 动态子智能体执行代码的地方(beta) |
| fan-out / synthesize | 扇出 / 汇总 | 动态编排的两种基本动作 |
| tournament / adversarial verification | 锦标赛 / 对抗式验证 | 用多次生成 + 比较来换质量 |
| async subagent / job / task id | 异步子智能体 / 作业 / 任务 ID | 后台执行与轮询 |
| transport (ASGI / HTTP) | 传输方式(同进程 / 远端) | 决定子智能体跑在哪 |
| steering | 中途干预 | 跑着的时候改方向 |
| structured output | 结构化输出 | 父级收到 JSON 而不是自由文本 |
来源清单(3 篇原文)
| # | 原文标题 | URL |
|---|---|---|
| 1 | Subagents(Deep Agents) | https://docs.langchain.com/oss/python/deepagents/subagents |
| 2 | Dynamic subagents | https://docs.langchain.com/oss/python/deepagents/dynamic-subagents |
| 3 | Async subagents | https://docs.langchain.com/oss/python/deepagents/async-subagents |
延伸阅读:Deep Agents 总览(规划 / 虚拟文件系统 / 上下文管理 / 技能)— overview | 解释器(动态子智能体的底座)— interpreters | 子智能体前端流式展示 — frontend/subagent-streaming
加工说明(哪些是原文、哪些是笔记加的)
- 定位:这三篇官方文档本身就是API/工程实现层的说明(配置字段、默认值、传输与部署、排障),与上层 LangChain Multi-agent 板块的模式/选型层互补。笔记保留了它们”手册”的性质——字段表、默认值、版本门控、坑尽量一条不漏。
- 压缩:原文里成排的 provider 代码 Tab(Google / OpenAI / Anthropic / OpenRouter / Fireworks / Baseten / Ollama…)在笔记里压成一张表或一行”换 provider 只改 model 这一行”;同一段逻辑不重复贴 7 遍。
- 代码:只保留骨架(单块 ≤30 行、注释中文化、删除文档站渲染标记),完整示例指向原文。
- 补充解读:凡标注 🧭 补充解读(非原文) 的段落都是笔记加的(类比、取舍建议、与上层笔记的呼应),不是官方说法;原文没写清楚的地方会明确标”原文未说明”。
- 版本与实测:可用性矩阵、版本门控均为本机实测核对(
deepagents 0.7.5,见上表),核对对象是site-packages/deepagents/的实际导出与字段。 - 未验证的部分:除可用性矩阵外,笔记中的示例代码未在本机实际运行,不承诺可直接跑通(异步与动态子智能体还需要 agent server / 解释器运行时)。以官方原文为最终依据。
Deep Agents 多 Agent 文档中文精讲
https://aicooleo.cn/blog/posts/deepagents-overview/