LangChain Agent 开发总览
原文:LangChain 总览
一句话
LangChain 提供了 create_agent:一个最小化、高度可配置的 agent harness,可通过组合 model、tools、prompt 和 middleware 来精确构建您的用例所需的 agent。
什么时候翻这页
- 当您需要了解 LangChain Agent 的基本架构和核心概念时
- 当您想使用
create_agent构建自定义 agent 时 - 当您需要比较 LangChain、LangGraph 和 Deep Agents 的区别时
- 当您需要了解如何集成不同模型提供商(OpenAI、Anthropic、Google 等)到您的 agent 中时
核心概念
Agent = Model + Harness
LangChain 的核心是将模型(Model)与框架(Harness)分离:
- Model:底层语言模型,可以是 OpenAI、Anthropic、Google 等提供商的模型
- Harness:围绕模型循环的一切,包括 prompt、tools 和任何塑造行为的 middleware
create_agent
create_agent 是 LangChain 提供的最小化、高度可配置的 agent harness。它允许您从基本组件开始,精确组合您的用例所需的内容,不多不少。
Middleware
Middleware 是可插入的组件,用于扩展 agent 的行为。每个 middleware 处理一个关注点,可以自由组合,从而实现高度定制化的 agent 行为。
Tools
Tools 是 agent 可以调用的函数,用于扩展 agent 的能力。例如,天气查询工具、计算工具、API 调用工具等。
怎么做
创建基本 Agent
使用 create_agent 创建一个简单的 agent:
from langchain.agents import create_agent
def get_weather(city: str) -> str:
"""Get weather for a given city."""
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)
支持的模型提供商
LangChain 支持多种模型提供商:
- OpenAI
- Anthropic (Claude)
- Google (Gemini)
- OpenRouter
- Fireworks
- Baseten
- Ollama
- Azure OpenAI
- AWS Bedrock
- HuggingFace
每个提供商需要安装相应的包并使用特定的模型格式。
命令 / API 速查
安装
# 基础安装
pip install -qU langchain
# 带特定提供商的安装
pip install -qU langchain "langchain[openai]"
pip install -qU langchain "langchain[anthropic]"
pip install -qU langchain "langchain[google-genai]"
# 其他提供商类似
创建 Agent
from langchain.agents import create_agent
agent = create_agent(
model="provider:model-name",
tools=[your_tool_function],
system_prompt="Your system prompt here",
# 可选参数
temperature=0.7,
max_tokens=1024,
# 特定提供商参数
azure_deployment="your-deployment-name", # Azure OpenAI
model_provider="huggingface", # HuggingFace
)
调用 Agent
result = agent.invoke(
{"messages": [{"role": "user", "content": "Your question here"}]}
)
与 LangGraph / RAG 手册的联系
- LangChain:提供高层级的 harness,专注于快速构建和定制 agent
- LangGraph:提供底层的编排框架,适合需要结合确定性和 agent 工作流的复杂场景
- RAG:可以与 LangChain agent 结合使用,为 agent 提供检索增强能力
LangChain 的 agent 构建在 LangGraph 之上,利用了 LangGraph 的持久执行、人工参与支持和持久化等功能。
初学者易错点
- 混淆 LangChain 和 LangGraph:LangChain 是高层级的 harness,LangGraph 是底层的编排框架
- 忽略模型提供商前缀:每个模型需要指定提供商前缀,如
openai:gpt-5.4 - 错误的消息格式:
invoke方法需要特定的消息格式,包含 role 和 content - 未安装必要的包:使用特定提供商时需要安装相应的包,如
langchain[openai] - 过度配置:从最小配置开始,根据需要添加 middleware 和复杂功能
相关词条
- create_agent - 创建 agent 的核心函数
- model - 标准化模型接口
- tool - agent 可用的工具
- middleware - 可插入的行为扩展组件
- LangGraph - LangChain 构建其 agent 的底层框架
- LangSmith - 用于追踪、调试和评估 agent 的平台