§02 五分钟跑通你的第一个 Agent
先给结论:装一个包,写十行代码,你的第一个深度代理就活了。
我用一个天气助手做例子。够简单,一眼看懂。
第一步:安装
pip install deepagents tavily-python
# 或用 uv
uv add deepagents tavily-python
tavily-python 是搜索工具,第三章实战会用到。先不装也行。
第二步:设 API Key
export ANTHROPIC_API_KEY="你的key"
# 用 OpenAI 就设 OPENAI_API_KEY
第三步:写第一个 Agent
from deepagents import create_deep_agent
def get_weather(city: str) -> str:
"""查询某个城市的天气。"""
return f"{city} 永远是晴天!" # 这里是假数据
agent = create_deep_agent(
model="anthropic:claude-sonnet-4-6", # provider:model 格式
tools=[get_weather], # 挂上你的工具
system_prompt="你是个乐于助人的助手",
)
result = agent.invoke(
{"messages": [{"role": "user", "content": "旧金山天气怎么样?"}]}
)
print(result["messages"][-1].content)
跑一下。它会输出:"旧金山永远是晴天!"
就这?就这。
你没写任何规划逻辑。没写文件系统。没写上下文管理。 但这些能力,已经在那儿了。只是这个例子用不上。
标叔的经验:我第一次跑通时,愣了一下。十行代码,连
write_todos都不用调,就有了一个能扩展的 Agent 底座。这种"默认即强大"的感觉,是 DeepAgents 最值钱的地方。
model 怎么写
注意 model="anthropic:claude-sonnet-4-6" 这个写法。 provider:model,冒号分隔。这是 DeepAgents 的约定。
它支持一大票模型:
model="anthropic:claude-sonnet-4-6" # Anthropic
model="openai:gpt-5.4" # OpenAI
model="google_genai:gemini-3.1-pro-preview" # Google
model="ollama:devstral-2" # 本地 Ollama
model="deepseek:deepseek-v4-flash" # DeepSeek
换模型,只改这一行。不用动其他代码。
标叔的结论:能用字符串写模型,就别手动 ChatOpenAI(...)。让框架替你初始化。后面 §19 会讲为什么。
下一章,我们看一次调用背后,框架到底帮你做了什么。