第 09 章 · 子智能体与上下文隔离
内置 task 工具让主 agent 派生子智能体:每个子任务新上下文、完成只回一份报告。适合“重检索/重读文件”等上下文膨胀场景。
机制与设计选择
子智能体是 ephemeral、stateless 的:只回一次,不做多轮来回;默认有一个 general-purpose,也可以自定义。上下文隔离是核心价值,而不是并行计算框架。
示例
python
import os
from langchain_openai import ChatOpenAI
model = ChatOpenAI(
model=os.environ["MODEL_ID"],
api_key=os.environ["DEEPAGENT_API_KEY"],
base_url=os.environ.get("DEEPAGENT_BASE_URL", "https://api.openai.com/v1"),
)
from deepagents import create_deep_agent
research = {
"name": "research-agent",
"description": "Research tasks with focused searches",
"system_prompt": "You are a focused researcher. Return findings as a short report.",
}
agent = create_deep_agent(
model=model,
subagents=[research],
system_prompt="Delegate research subtasks to the research-agent subagent.",
)
result = agent.invoke(
{"messages": [
{"role": "user", "content": "Research: why do we isolate subtasks in their own context?"},
]
}, config={"configurable": {"thread_id": "ch09"}})
print(result["messages"][-1].content)运行与验收
需要 API Key。验收:trace 中应看到子智能体被调用;主 agent 最终只拿到结论报告。
容易踩的坑
子智能体解决的是上下文卫生,不是“让结果更聪明”。委派必须写明验收标准与边界,否则只是把复杂度藏起来。
🧪 随堂测验
点击你认为正确的选项。答错时会展示正确答案与原因解析。
1. 子智能体是什么状态?
2. 子智能体的核心价值?
3. 默认子智能体叫什么?
4. 委派时必须写什么?
动手实践
- 再加一个自定义 subagent 并验证它被调用。
- 对子任务结果与主 agent 答案做一致性检查。
- 为委派定义可机器校验的验收字段。
官方参考
核验日期:2026-09-17,运行环境:Deep Agents 0.7.15。