LangChain生态
LangChain 已经从单一库长成完整生态。2025 年后的事实标准是三层结构:LangChain(组件库)、LangGraph(图运行时)、DeepAgents(一体化 harness)。面试主线:三层各管什么、怎么选。
三层结构
三层结构: 组件 → 运行时 → 一体化 harness
| 层 | 定位 | 代表能力 |
|---|---|---|
| LangChain | 组件库 + 最小 harness | ChatModels、Tool、create_agent、middleware |
| LangGraph | 低层编排运行时 | StateGraph、checkpoint、interrupt、Send/Command |
| DeepAgents | 开箱即用的 agent harness | filesystem、subagents、skills、持久记忆 |
官方定位一句话:LangGraph 是运行时,create_agent 是最小 harness,DeepAgents 是更 opinionated 的 harness,同一套积木。
选型规则
| 需求 | 选择 |
|---|---|
| 快速搭建、标准 agent 循环 | create_agent(LangChain 1.0) |
| 复杂流程、精确控制 | LangGraph(StateGraph 手绘编排) |
| 长任务、编码类、要文件系统 | DeepAgents(create_deep_agent) |
| 生产级可靠 | 三者都构建在 LangGraph 上,配 LangSmith |
| 只是调模型 | 不需要框架,直接 SDK |
面试话术:先问需求复杂度,再选层。简单循环用 create_agent,需要持久化/中断/多 Agent 上 LangGraph,要开箱即用能力(文件、委派、记忆)用 DeepAgents。
生态配套
- LangSmith:可观测、评估、数据集、部署(全链路)
- LangServe:把 agent 部署为 REST API(被 LangSmith Deployments 逐步替代)
- LangChain 1.0:统一 API(create_agent、ChatModels 抽象),2025 年 10 月 GA
面试追问
- 三层结构怎么分? LangChain 组件库、LangGraph 图运行时、DeepAgents 一体化 harness。层层构建
- create_agent 和 LangGraph 的关系? create_agent 是 LangGraph 之上的最小 harness,标准 model-tools 循环;要自定义流程直接写 LangGraph
- DeepAgents 和 create_agent 的区别? DeepAgents 在 create_agent 上加了 filesystem、subagents、skills、记忆,更 opinionated
- 什么时候不用框架? 单次调用、简单链式调用,直接模型 SDK 更轻。框架的价值在循环、状态、持久化
- 生产必备什么? LangGraph 的持久化(checkpoint)+ LangSmith 的追踪评估。没有可观测性的 agent 无法上线