
LangChain vs LangGraph:Agent 框架的演进与选择
LangChain 生态版图 LangChain(工具库) ├── LangGraph(图式 Agent 编排) ├── LangSmith(可观测性) └── LangServe(API 部署) LangChain:工具库时代 定位 LangChain 是最早也是最流行的 LLM 应用框架,核心是"把 LLM 当作可组合的积木"。 核心概念 from langchain_core.prompts import ChatPromptTemplate from langchain_core.output_parsers import StrOutputParser from langchain_openai import ChatOpenAI # Chain = Prompt + LLM + Parser prompt = ChatPromptTemplate.from_template("解释 {topic} 给 5 岁小孩听") llm = ChatOpenAI(model="gpt-4o") parser = StrOutputParser() chain = prompt | llm | parser # 管道语法 result = chain.invoke({"topic": "量子计算"}) LangChain 的问题 # 问题 1:过度抽象 # 简单的 API 调用被包装了 5 层 chain = ( RunnablePassthrough.assign( context=lambda x: retriever.invoke(x["question"]) ) | prompt | llm.bind_tools(tools) | RunnableLambda(parse_tool_calls) | RunnableLambda(execute_tools) | llm | parser ) # 调试困难:报错信息深埋在调用栈中 # 问题 2:版本碎片化 # langchain / langchain-core / langchain-community 版本不同步 # 升级一个包可能破坏其他包 # 问题 3:性能开销 # 每层抽象都有 Python 对象创建开销 # 简单任务直接用 OpenAI SDK 更快 LangGraph:图式编排时代 定位 LangGraph 是 LangChain 团队的"自我革命"——从链式调用转向图式编排,专门为 Agent 设计。 ...
