子 Agent
为子任务生成通用或专用子 Agent,实现上下文隔离。
Deep Agents 内置 task 工具,让 Agent 可以为子任务生成子 Agent。子 Agent 在隔离的上下文窗口中运行,有自己的消息历史和状态。
基本用法
python
from deepagents import create_deep_agent
# 创建主 Agent(自动获得 task 工具)
agent = create_deep_agent(
model="openai:gpt-4o",
tools=[search],
system_prompt="你是一个项目经理,可以分配任务给子 Agent。",
)当主 Agent 需要执行子任务时,它会自动调用 task 工具生成子 Agent。
自定义子 Agent
python
from deepagents import create_deep_agent, SubAgent
# 创建一个专用的研究 Agent
research_agent = create_deep_agent(
model="openai:gpt-4o",
tools=[search, fetch_url],
system_prompt="你是一个研究专家,负责收集和分析信息。",
)
# 创建一个专用的写作 Agent
writing_agent = create_deep_agent(
model="openai:gpt-4o",
system_prompt="你是一个写作专家,负责撰写报告和文档。",
)
# 主 Agent 包含这些子 Agent
agent = create_deep_agent(
model="openai:gpt-4o",
tools=[],
subagents=[
SubAgent(
name="researcher",
agent=research_agent,
description="用于研究和收集信息",
),
SubAgent(
name="writer",
agent=writing_agent,
description="用于撰写报告和文档",
),
],
)异步子 Agent
对于长时间运行或并行工作,使用异步子 Agent:
python
from deepagents import create_deep_agent, AsyncSubAgent
agent = create_deep_agent(
model="openai:gpt-4o",
subagents=[
AsyncSubAgent(
name="background_researcher",
agent=research_agent,
description="在后台执行长时间研究任务",
),
],
)异步子 Agent 支持进度检查、后续跟进和取消操作。