§04 模型随便换,是 DeepAgents 的底层优势
先给结论:DeepAgents 是模型中立的。Anthropic、OpenAI、Google、DeepSeek、本地 Ollama,通吃。
这点和 Claude Agent SDK 形成直接对比。 Claude Agent SDK 绑死在 Anthropic 模型上。 DeepAgents 不挑。你用谁家的模型都行。
写法统一成 provider:model:
agent = create_deep_agent(
model="openai:gpt-5.4", # 想换就换
tools=[get_weather],
)
我做过一个实验。同一个研究助手,下午用 Claude,晚上换 GPT。 代码一行没改,只动了 model 字符串。 报告质量有差异,但工程层完全不用动。
标叔的经验:这种"模型可插拔"在生产里太重要了。供应商涨价、某个模型抽风,你当天就能切。绑死一家,迁移成本以周计。
如果你要传额外参数(temperature、thinking 开关),可以手动初始化模型:
from langchain.chat_models import init_chat_model
llm = init_chat_model(model="openai:gpt-5.4", temperature=0.2)
agent = create_deep_agent(model=llm, tools=[get_weather])
但注意!别把 callbacks 挂模型上。 那会和 DeepAgents 的中间件打架。日志要用中间件写,见 §06。
标叔的结论:能用字符串,就别手动实例化。要额外参数,才手动建。手动建就别挂 callback。
注意:模型必须支持 tool calling。纯补全模型(不带工具调用)跑不了 Agent。
到这里,起步 part 结束。下一 part,我们拆骨架。