LangChain AI 生态详解:LangChain、LangGraph、LangSmith 三大核心
返回LangChain AI 生态详解
LangChain 是构建 LLM 应用最流行的开源框架之一。本文系统介绍 LangChain 生态系统的三大核心组件:LangChain、LangGraph 和 LangSmith,帮助你快速理解它们的定位与使用场景。
一、LangChain 生态系统总览
┌─────────────────────────────────────────────────────────────────────────┐
│ LangChain AI 生态系统 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ LangChain │ │ LangGraph │ │ LangSmith │ │
│ │ 应用框架 │ │ 编排引擎 │ │ 开发平台 │ │
│ ├──────────────┤ ├──────────────┤ ├──────────────┤ │
│ │ • 快速入门 │ │ • 图式工作流 │ │ • 追踪调试 │ │
│ │ • 标准接口 │ │ • 状态管理 │ │ • 评估测试 │ │
│ │ • 丰富集成 │ │ • 持久化执行 │ │ • 监控分析 │ │
│ │ • 内置 Agent │ │ • 人工介入 │ │ • 成本控制 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │ │ │ │
│ └────────────────────┼────────────────────┘ │
│ │ │
│ ┌─────────▼─────────┐ │
│ │ 统一开发者体验 │ │
│ └───────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
三大组件定位
| 组件 | 定位 | 适用场景 | 学习曲线 |
|---|---|---|---|
| LangChain | 高层应用框架 | 快速构建 Agent 和 LLM 应用 | 🟢 简单 |
| LangGraph | 底层编排引擎 | 复杂工作流、自定义 Agent 架构 | 🟡 中等 |
| LangSmith | 开发运维平台 | 调试、评估、监控、协作 | 🟢 简单 |
二、LangChain:快速构建 LLM 应用
2.1 什么是 LangChain?
LangChain 是一个用于开发由语言模型驱动的应用程序的开源框架。它提供了:
- 标准化的模型接口 — 无缝切换不同 LLM 提供商(OpenAI、Anthropic、Google 等)
- 预构建的 Agent 架构 — 10 行代码即可创建一个功能完整的 Agent
- 丰富的工具集成 — 连接外部 API、数据库、文件系统等
- 上下文工程管理 — 记忆、检索、知识库等能力
2.2 核心特性
🎯 标准模型接口
不同 LLM 提供商有各自独特的 API。LangChain 统一了这些接口,让你可以轻松切换模型而无需重写代码:
# 使用 Anthropic 模型
from langchain_anthropic import ChatAnthropic
model = ChatAnthropic(model="claude-sonnet-4-6")
# 切换到 OpenAI,只需改一行
from langchain_openai import ChatOpenAI
model = ChatOpenAI(model="gpt-4o")
🤖 快速创建 Agent
from langchain.agents import create_agent
def get_weather(city: str) -> str:
"""查询城市天气"""
return f"{city} 今天晴朗!"
agent = create_agent(
model="claude-sonnet-4-6",
tools=[get_weather],
system_prompt="你是一个有帮助的助手",
)
# 运行 Agent
result = agent.invoke({
"messages": [{"role": "user", "content": "北京天气怎么样?"}]
})
🔗 丰富的集成生态
LangChain 支持 200+ 集成,包括:
- 模型提供商: OpenAI、Anthropic、Google、Meta、AWS、Azure 等
- 向量数据库: Pinecone、Weaviate、Chroma、Milvus 等
- 工具集成: Google Search、Wolfram Alpha、GitHub、Slack 等
- 数据存储: PostgreSQL、MongoDB、Redis、S3 等
2.3 何时使用 LangChain?
✅ 推荐使用 LangChain 的场景:
- 快速原型开发和 MVP 构建
- 需要标准接口,避免厂商锁定
- 构建常规的问答、检索、Agent 应用
- 团队需要快速上手 LLM 开发
❌ 可能需要 LangGraph 的场景:
- 需要复杂的多 Agent 协作
- 需要精细控制工作流执行
- 需要确定性与 Agent 混合的工作流
三、LangGraph:复杂工作流编排
3.1 什么是 LangGraph?
LangGraph 是 LangChain 团队开发的低级别 Agent 编排框架和运行时。它基于**图(Graph)**的概念来构建复杂的 LLM 工作流。
3.2 核心概念
┌─────────────────────────────────────────────────────────────────┐
│ LangGraph 核心概念 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Node │────▶│ Node │────▶│ Node │ │
│ │ 节点 │ │ 节点 │ │ 节点 │ │
│ └─────────┘ └─────────┘ └─────────┘ │
│ │ │ │
│ └───────────────┬───────────────────┘ │
│ ▼ │
│ ┌─────────────┐ │
│ │ Edge │ │
│ │ 边/转换 │ │
│ └─────────────┘ │
│ │
│ • State(状态): 在节点之间传递的数据 │
│ • Nodes(节点): 执行具体任务的函数 │
│ • Edges(边): 定义节点之间的执行流程 │
│ │
└─────────────────────────────────────────────────────────────────┘
3.3 核心特性
| 特性 | 说明 |
|---|---|
| 图式工作流 | 用节点和边定义复杂的执行流程 |
| 状态管理 | 自动在节点之间传递和更新状态 |
| 持久化执行 | 支持长时间运行的任务,可中断可恢复 |
| 人工介入 | 在关键节点等待人工审批或输入 |
| 子图支持 | 嵌套图结构,支持模块化设计 |
| 流式输出 | 实时流式返回结果 |
3.4 何时使用 LangGraph?
✅ 推荐使用 LangGraph 的场景:
- 多 Agent 协作系统
- 需要人工审核的工作流
- 复杂的状态机逻辑
- 需要精确控制执行流程
- 长时间运行的任务
四、LangSmith:LLM 应用开发平台
4.1 什么是 LangSmith?
LangSmith 是 LangChain 团队推出的 LLM 应用开发与运维平台。它帮助你:
- 🔍 追踪 — 记录每次 LLM 调用的完整链路
- 🐛 调试 — 快速定位 Agent 行为问题
- 📊 评估 — 系统化测试和评估模型输出
- 📈 监控 — 实时监控应用性能和成本
- 👥 协作 — 团队共享 Prompt、数据集和最佳实践
4.2 核心功能
追踪与调试
# 只需设置环境变量即可开启追踪
# export LANGSMITH_TRACING=true
# export LANGSMITH_API_KEY=your_api_key
from langchain.agents import create_agent
agent = create_agent(model="gpt-4o", tools=[...])
result = agent.invoke({"messages": [...]})
# 所有调用自动记录到 LangSmith,可在 Web 界面查看完整追踪
评估与测试
- 数据集管理 — 创建测试数据集
- 评估器 — 自动评分(准确性、相关性、安全性等)
- 实验对比 — 对比不同模型、Prompt 的效果
- 回归测试 — 确保更新不会破坏现有功能
监控与分析
- 成本追踪 — 按项目、模型、用户统计 Token 消耗
- 性能监控 — 响应时间、错误率等指标
- 用户反馈 — 收集和分析用户反馈
- 告警系统 — 异常检测和通知
4.3 何时使用 LangSmith?
✅ 推荐使用 LangSmith 的场景:
- 生产环境应用需要监控
- 团队需要协作开发
- 需要系统化评估模型效果
- 需要调试复杂的 Agent 行为
- 需要控制和管理 LLM 成本
五、如何选择?快速决策指南
┌─────────────────────────────────────────────────────────────────┐
│ 我应该从哪个开始? │
├─────────────────────────────────────────────────────────────────┤
│ │
│ 你是第一次接触 LangChain 生态吗? │
│ │
│ ├── 是 ──▶ 从 LangChain 开始 │
│ │ • 最简单上手 │
│ │ • 10 行代码创建 Agent │
│ │ • 丰富的教程和示例 │
│ │ │
│ └── 否 ──▶ 你的需求是什么? │
│ │ │
│ ├── 快速构建标准 Agent 应用 │
│ │ └──▶ LangChain │
│ │ │
│ ├── 复杂工作流/多 Agent 协作 │
│ │ └──▶ LangGraph │
│ │ │
│ ├── 调试/评估/监控/协作 │
│ │ └──▶ LangSmith(可与 LangChain/LangGraph 配合) │
│ │ │
│ └── 全部需要 │
│ └──▶ LangChain + LangGraph + LangSmith │
│ │
└─────────────────────────────────────────────────────────────────┘
六、学习路线推荐
初学者路线
Week 1-2: LangChain 基础
├── 安装与环境配置
├── 模型调用与 Prompt 模板
├── 工具(Tools)使用
└── 创建第一个 Agent
Week 3-4: LangSmith 入门
├── 开启追踪
├── 查看和调试追踪
└── 基础评估
Week 5+: LangGraph 进阶
├── 图的基本概念
├── 状态管理
└── 构建复杂工作流
进阶开发者路线
LangChain 深入
├── 自定义 Agent 架构
├── 高级 RAG 模式
└── 多 Agent 系统
LangGraph 精通
├── 子图与模块化
├── 持久化与时间旅行
└── 生产级部署
LangSmith 专业使用
├── 自定义评估器
├── CI/CD 集成
└── 团队协作最佳实践
七、快速开始
安装 LangChain
# Python
pip install langchain langchain-anthropic
# JavaScript/TypeScript
npm install langchain @langchain/anthropic
第一个 Agent(5 行代码)
from langchain.agents import create_agent
agent = create_agent(model="claude-sonnet-4-6", tools=[])
result = agent.invoke({"messages": [{"role": "user", "content": "你好!"}]})
print(result)
开启 LangSmith 追踪
# 设置环境变量
export LANGSMITH_TRACING=true
export LANGSMITH_API_KEY=your_api_key
八、相关资源
- 🏠 官方文档: docs.langchain.com
- 💬 AI 助手: chat.langchain.com
- 📦 集成列表: python.langchain.com/integrations
- 🐙 GitHub: github.com/langchain-ai
💡 提示: 本文档基于 LangChain 官方文档翻译整理,内容持续更新。建议配合官方文档和实际代码练习学习效果最佳。