LangChain vs. LangGraph vs. Deep Agents从 Deep Agents 开始,获取一个“开箱即用”的代理,它具有自动上下文压缩、虚拟文件系统和子代理生成等功能。Deep Agents 构建于 LangChain 代理 之上,您也可以直接使用 LangChain。对于需要结合确定性和代理工作流的高级需求,请使用 LangGraph,我们的底层编排框架。
创建代理
# 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 调试
通过可视化工具深入洞察复杂的代理行为,这些工具可以跟踪执行路径、捕获状态转换并提供详细的运行时指标。
将这些文档通过 MCP 连接到 Claude、VSCode 等,以获取实时答案。

