LangChain vs. LangGraph vs. Deep Agents从 Deep Agents 开始,获得”开箱即用”的智能体,具备自动上下文压缩、虚拟文件系统和子智能体生成等功能。Deep Agents 构建在 LangChain 智能体之上,你也可以直接使用 LangChain。使用 LangGraph——我们的低级编排框架——满足结合确定性和智能体工作流的高级需求。使用 LangSmith 追踪、调试和评估使用以上任何框架构建的智能体。按照追踪快速入门进行设置。
创建智能体
# pip install -qU langchain "langchain[openai]"
from langchain.agents import create_agent
def get_weather(city: str) -> str:
"""获取指定城市的天气。"""
return f"It's always sunny in {city}!"
agent = create_agent(
model="openai:gpt-5.4",
tools=[get_weather],
system_prompt="You are a helpful assistant",
)
result = agent.invoke(
{"messages": [{"role": "user", "content": "What's the weather in San Francisco?"}]}
)
print(result["messages"][-1].content_blocks)
# pip install -qU langchain "langchain[google-genai]"
from langchain.agents import create_agent
def get_weather(city: str) -> str:
"""获取指定城市的天气。"""
return f"It's always sunny in {city}!"
agent = create_agent(
model="google_genai:gemini-2.5-flash-lite",
tools=[get_weather],
system_prompt="You are a helpful assistant",
)
result = agent.invoke(
{"messages": [{"role": "user", "content": "What's the weather in San Francisco?"}]}
)
print(result["messages"][-1].content_blocks)
# pip install -qU langchain "langchain[anthropic]"
from langchain.agents import create_agent
def get_weather(city: str) -> str:
"""获取指定城市的天气。"""
return f"It's always sunny in {city}!"
agent = create_agent(
model="claude-sonnet-4-6",
tools=[get_weather],
system_prompt="You are a helpful assistant",
)
result = agent.invoke(
{"messages": [{"role": "user", "content": "What's the weather in San Francisco?"}]}
)
print(result["messages"][-1].content_blocks)
# pip install -qU langchain langchain-openrouter
from langchain.agents import create_agent
def get_weather(city: str) -> str:
"""获取指定城市的天气。"""
return f"It's always sunny in {city}!"
agent = create_agent(
model="openrouter:anthropic/claude-sonnet-4-6",
tools=[get_weather],
system_prompt="You are a helpful assistant",
)
result = agent.invoke(
{"messages": [{"role": "user", "content": "What's the weather in San Francisco?"}]}
)
print(result["messages"][-1].content_blocks)
# pip install -qU langchain langchain-fireworks
from langchain.agents import create_agent
def get_weather(city: str) -> str:
"""获取指定城市的天气。"""
return f"It's always sunny in {city}!"
agent = create_agent(
model="fireworks:accounts/fireworks/models/qwen3p5-397b-a17b",
tools=[get_weather],
system_prompt="You are a helpful assistant",
)
result = agent.invoke(
{"messages": [{"role": "user", "content": "What's the weather in San Francisco?"}]}
)
print(result["messages"][-1].content_blocks)
# pip install -qU langchain langchain-baseten
from langchain.agents import create_agent
def get_weather(city: str) -> str:
"""获取指定城市的天气。"""
return f"It's always sunny in {city}!"
agent = create_agent(
model="baseten:zai-org/GLM-5",
tools=[get_weather],
system_prompt="You are a helpful assistant",
)
result = agent.invoke(
{"messages": [{"role": "user", "content": "What's the weather in San Francisco?"}]}
)
print(result["messages"][-1].content_blocks)
# pip install -qU langchain langchain-ollama
from langchain.agents import create_agent
def get_weather(city: str) -> str:
"""获取指定城市的天气。"""
return f"It's always sunny in {city}!"
agent = create_agent(
model="ollama:devstral-2",
tools=[get_weather],
system_prompt="You are a helpful assistant",
)
result = agent.invoke(
{"messages": [{"role": "user", "content": "What's the weather in San Francisco?"}]}
)
print(result["messages"][-1].content_blocks)
# pip install -qU langchain "langchain[openai]"
import os
from langchain.agents import create_agent
def get_weather(city: str) -> str:
"""获取指定城市的天气。"""
return f"It's always sunny in {city}!"
agent = create_agent(
model="azure_openai:gpt-5.4",
tools=[get_weather],
system_prompt="You are a helpful assistant",
azure_deployment=os.environ["AZURE_OPENAI_DEPLOYMENT_NAME"],
)
result = agent.invoke(
{"messages": [{"role": "user", "content": "What's the weather in San Francisco?"}]}
)
print(result["messages"][-1].content_blocks)
# pip install -qU langchain langchain-aws
from langchain.agents import create_agent
def get_weather(city: str) -> str:
"""获取指定城市的天气。"""
return f"It's always sunny in {city}!"
agent = create_agent(
model="anthropic.claude-3-5-sonnet-20240620-v1:0",
model_provider="bedrock_converse",
tools=[get_weather],
system_prompt="You are a helpful assistant",
)
result = agent.invoke(
{"messages": [{"role": "user", "content": "What's the weather in San Francisco?"}]}
)
print(result["messages"][-1].content_blocks)
# pip install -qU langchain "langchain[huggingface]"
from langchain.agents import create_agent
def get_weather(city: str) -> str:
"""获取指定城市的天气。"""
return f"It's always sunny in {city}!"
agent = create_agent(
model="microsoft/Phi-3-mini-4k-instruct",
model_provider="huggingface",
tools=[get_weather],
system_prompt="You are a helpful assistant",
temperature=0.7,
max_tokens=1024,
)
result = agent.invoke(
{"messages": [{"role": "user", "content": "What's the weather in San Francisco?"}]}
)
print(result["messages"][-1].content_blocks)
使用 LangSmith 追踪请求、调试智能体行为并评估输出。设置
LANGSMITH_TRACING=true 和你的 API 密钥即可开始。核心优势
标准模型接口
不同的提供商有各自独特的模型交互 API,包括响应格式。LangChain 标准化了你与模型的交互方式,让你可以无缝切换提供商,避免锁定。
易用且高度灵活的智能体
LangChain 的智能体抽象设计为易于上手,让你用不到 10 行代码构建一个简单的智能体。但它也提供了足够的灵活性,让你进行各种上下文工程。
基于 LangGraph 构建
LangChain 的智能体构建在 LangGraph 之上。这使我们能够利用 LangGraph 的持久执行、人机协作支持、持久化等特性。
使用 LangSmith 调试
通过可视化工具深入了解复杂的智能体行为,追踪执行路径、捕获状态转换,并提供详细的运行时指标。
将这些文档连接到 Claude、VSCode 等工具,通过 MCP 获取实时答案。

