LangChain AI 生态详解:LangChain、LangGraph、LangSmith 三大核心

返回

LangChain AI 生态详解

LangChain 是构建 LLM 应用最流行的开源框架之一。本文系统介绍 LangChain 生态系统的三大核心组件:LangChainLangGraphLangSmith,帮助你快速理解它们的定位与使用场景。

一、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

八、相关资源


💡 提示: 本文档基于 LangChain 官方文档翻译整理,内容持续更新。建议配合官方文档和实际代码练习学习效果最佳。