自定义 Deep Agents
学习如何通过系统提示词、工具、子 Agent 等自定义 Deep Agents。
create_deep_agent 为你提供了一个生产就绪的基础框架:连接到你的数据,塑造其行为,添加你的用例所需的能力。
python
from deepagents import create_deep_agent
agent = create_deep_agent(
model="openai:gpt-4o",
system_prompt="你是一个乐于助人的助手。",
tools=[search, fetch_url],
)完整参数
| 参数 | 说明 |
|---|---|
model= | 使用的模型 |
system_prompt= | Agent 的自定义指令 |
tools= | Agent 可以调用的工具 |
memory= | 启动时加载的 AGENTS.md 文件 |
skills= | 按需加载知识的技能目录 |
backend= | 文件系统后端(默认为 StateBackend) |
permissions= | 文件系统的路径级访问控制 |
subagents= | 用于委托任务的自定义子 Agent |
middleware= | 添加到栈中的额外中间件 |
interrupt_on= | 在工具调用前暂停等待人工审批 |
response_format= | 结构化输出 schema |
profiles | 每个模型的默认配置作为可复用包 |
模型配置
传入 provider:model 格式的模型字符串,或已初始化的模型实例:
python
# 方式 1:字符串形式(推荐)
agent = create_deep_agent(model="openai:gpt-4o")
# 方式 2:使用 init_chat_model
from langchain.chat_models import init_chat_model
model = init_chat_model(model="openai:gpt-4o")
agent = create_deep_agent(model=model)
# 方式 3:直接使用模型类
from langchain_openai import ChatOpenAI
model = ChatOpenAI(model="gpt-4o")
agent = create_deep_agent(model=model)系统提示词
塑造 Agent 的行为方式:
python
agent = create_deep_agent(
model="openai:gpt-4o",
system_prompt="""你是一个专业的研究助手。
你的工作是进行深入研究,然后撰写结构化的报告。
可用工具:
- search:搜索互联网信息
- fetch_url:获取网页内容
""",
)工具
传入任意 Python 可调用对象或 LangChain 工具:
python
from langchain.tools import tool
@tool
def search(query: str) -> str:
"""搜索互联网信息"""
return f"搜索结果: {query}"
agent = create_deep_agent(
model="openai:gpt-4o",
tools=[search],
)子 Agent
为委托任务添加自定义子 Agent:
python
from deepagents import create_deep_agent, SubAgent
research_agent = create_deep_agent(
model="openai:gpt-4o",
tools=[search],
system_prompt="你是一个研究专家",
)
agent = create_deep_agent(
model="openai:gpt-4o",
tools=[],
subagents=[
SubAgent(
name="researcher",
agent=research_agent,
description="用于研究和收集信息",
),
],
)