LangChain 实战:四大家族

24 阅读3分钟

LangChain 生态中常被提及的“四大家族”通常指:

  • LangChain(核心框架)
  • LangSmith(调试与监控)
  • LangGraph(有状态图执行)
  • DeepAgent(深度智能体框架)

img

一、LangChain(核心框架)

  • 定位:LLM 应用开发的基础脚手架,提供 Prompt 管理、LLM 调用抽象、链式组合(Chain)、工具集成(Tool)、记忆(Memory)等模块。
  • 核心能力:
    • 统一接口调用不同 LLM(OpenAI、Anthropic、Hugging Face 等)。
    • 内置文档加载器、文本分割器、向量存储、检索器(RAG 基础组件)。
    • 支持链式操作(LLMChain、SequentialChain、RouterChain 等)。
  • 适用场景:快速搭建简单的 Q&A 机器人、RAG 管道、多步骤提示链。
  • 局限:链式逻辑是线性的,难以处理复杂分支、循环、状态持久化。

二、LangGraph(有状态图执行)

  • 定位:在 LangChain 基础上构建有状态的、多步 Agent 工作流,核心是“图”(Graph)而非“链”。
  • 核心能力:
    • **节点(Node)+ 边(Edge)**定义任意拓扑结构,支持循环、条件分支、中止/重试。
    • 内置状态管理(State),节点间共享持久化状态(如对话历史、中间变量)。
    • 天然支持 Agent 模式的“思考-行动-观察”循环(ReAct 模式)。
  • 适用场景:复杂多步推理、工具调用循环、需要记忆和状态持久化的 Agent(如聊天机器人、代码生成助手)。
  • 优势:比 LangChain 链更灵活,适合构建稳定的生产级 Agent。

img

三、LangSmith(调试与监控平台)

  • 定位:LLM 应用的全生命周期管理平台,专注于调试、测试、评估、监控。
  • 核心能力:
    • 追踪(Tracing):记录每次 LLM 调用、工具调用、中间步骤的输入输出及耗时。
    • 数据集管理:创建测试集,运行回归测试,对比不同 Prompt/模型/参数的效果。
    • 在线监控:生产环境的延迟、错误率、Token 消耗、用户反馈收集。
    • 反馈循环:支持人工标注,用于强化学习或微调数据收集。
  • 适用场景:开发阶段的调试与优化、上线后的质量监控、持续迭代评估。
  • 注意:LangSmith 是商业产品(提供免费额度),非开源组件

img

四、DeepAgent(深度智能体框架,需注意版本差异)

  • 定位:这是一个相对模糊的概念,通常指代 LangChain 社区或早期版本中提出的深度 Agent 构建框架,例如:
    • 某些教程中将其定义为基于 LangGraph 的 Agent 上层封装,提供更高级的“规划-执行-反思”循环。
    • 有部分中文资料将 LangChain Agent(如 AgentExecutor)本身称为 DeepAgent,强调其“深度思考”特性。
    • 更准确地说,若你指的是官方文档中的 Deep Agent(如 langchain_experimental 中的 DeepAgent),它其实是基于 Plan-and-Execute 模式的 Agent,使用 LLM 生成多步计划,再逐步执行,适合需要复杂拆解的任务。
  • 核心区别:
    • 与 LangGraph 的关系:DeepAgent 可以看作是 LangGraph 的高级用法示例,而非独立组件。
    • 与 LangChain Agent 的关系:LangChain 传统 Agent(ReAct)是单步思考-行动,DeepAgent 是先规划后执行,或者采用 Plan-and-Solve 策略,抗干扰能力更强。
  • 适用场景:需要长期规划、多步分解、反思纠错的复杂任务(如数据分析、自动化报告生成)。
  • 现状:官方目前更推荐直接使用 LangGraph 构建自定义 Agent,DeepAgent 作为实验性模块存在。

五、总结对比表

家族核心抽象状态管理适用复杂度是否开源主要用途
LangChain链 (Chain)无/轻量低-中开源快速搭建简单 LLM 流水线
LangGraph图 (Graph)有状态高开源复杂 Agent 工作流、有状态多步交互
LangSmith追踪/数据集外部存储不限商业(免费额度)调试、评估、监控、反馈
DeepAgent高层 Agent 模式有状态高实验性开源规划-执行-反思型复杂 Agent

img

六、实际选型建议

  • 简单对话/问答 → LangChain(ChatOpenAI + ConversationBufferMemory)
  • 复杂工具调用 Agent → LangGraph(构建 ReAct 循环,利用 ToolNode 和 StateGraph)
  • 需要调试/监控 → 集成 LangSmith(langsmith 包,一键开启 Tracing)
  • 需要长期规划 → 参考 LangGraph 下的 Plan-and-Execute 模式,或用 langchain_experimental 的 DeepAgent