尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

langchain与langgraph区别以及学习路线

langchain与langgraph区别以及学习路线 可以把它们先理解成一句话LangChain 是“构建 LLM 应用的工具箱”LangGraph 是“构建有状态、可循环、可控 Agent 工作流的运行框架”。如果你准备做AI Agent / RAG / 多 Agent / 企业级 AI 应用建议不要把 LangChain 和 LangGraph 当成两个完全独立的东西学而是先 LangChain再 LangGraph。1. LangChain vs LangGraph对比LangChainLangGraph核心定位LLM 应用开发框架Agent / 工作流编排框架解决的问题怎么调用模型、工具、RAG、结构化输出怎么让 Agent 按流程执行、循环、暂停、恢复上手难度⭐⭐⭐⭐⭐⭐典型应用Chatbot、RAG、工具调用Agent、多 Agent、复杂任务状态管理有但不是核心核心能力循环/分支支持但不是重点核心能力Human-in-the-loop有相关能力非常适合持久化有相关能力核心场景之一多 Agent可以实现非常适合工作流控制中等强LangChain 更像这样用户问题 ↓ LLM ↓ Tool ↓ LLM ↓ 回答例如用户东京明天天气怎么样 ↓ LangChain Agent ↓ 调用天气 Tool ↓ 获取天气数据 ↓ LLM ↓ 返回自然语言LangGraph 更像这样复杂一点┌──────────────┐ │ 用户问题 │ └──────┬───────┘ ↓ ┌───────────┐ │ 意图分析 │ └─────┬─────┘ ↓ ┌───────────────┐ │ 是否需要搜索 │ └───┬───────┬───┘ │ │ 是 否 ↓ ↓ Search LLM ↓ │ 判断结果 │ ↓ │ 需要继续搜索│ ↓ ↓ │ 是 否 │ │ └────┤ └──→ Search │ ↓ │ └──→ LLM ↓ 最终回答这种有状态 条件分支 循环 多节点的 Agent正是 LangGraph 擅长的。2. 两者是什么关系现在学习 LangChain建议理解成AI Application │ ┌────────┴────────┐ │ │ LangChain LangGraph │ │ LLM / Tools / RAG Agent Workflow Prompt / Retriever State / Graph Structured Output Loop / Branch │ │ └────────┬────────┘ ↓ LLM API OpenAI / Claude / ...实际上 LangGraph 可以使用 LangChain 的很多组件。比如from langchain_openai import ChatOpenAI模型还是 LangChain 生态里的东西。而 LangGraph 负责State ↓ Node ↓ Node ↓ Conditional Edge ↓ Node所以不要纠结“LangChain 和 LangGraph 到底选哪个”更合理的是LangChain 学组件LangGraph 学 Agent 编排。3. 推荐你的学习路线如果你是有 Node.js / 前端 / 后端开发经验我建议走这条路线Python / TypeScript 基础 ↓ LLM API ↓ Prompt ↓ Structured Output ↓ Tool Calling ↓ LangChain ↓ RAG ↓ Agent ↓ LangGraph ↓ Memory / Persistence ↓ Human-in-the-loop ↓ Multi-Agent ↓ Agent Production第一阶段先搞懂 LLM 原生能力不要一上来就 LangChain。先直接调用模型 API。你需要搞懂① Chat Completionsystem user assistant理解messagetokencontext windowtemperaturestreamingstructured output② Tool Calling这是后面学 Agent 的基础。例如{ name: search_weather, arguments: { city: Tokyo } }整个流程用户 ↓ LLM ↓ 判断需要 Tool ↓ 调用 Tool ↓ Tool 返回结果 ↓ LLM ↓ 最终答案如果这个流程你彻底理解了后面 Agent 会简单很多。第二阶段LangChain 核心这一阶段不要追求把 LangChain API 全学完。重点学 6 个东西1. Chat Modelmodel ChatOpenAI(...)理解输入 → Model → AIMessage2. Promptprompt ChatPromptTemplate.from_messages([ (system, 你是一个专业助手), (human, {question}) ])理解Prompt Template ↓ Model ↓ Response3. Structured Output例如class UserInfo(BaseModel): name: str age: int让 LLM 输出{ name: 张三, age: 25 }这个在实际项目里非常重要。4. Tool例如tool def search_database(keyword: str): ...然后让 LLM 决定需要查询数据库 ↓ Yes ↓ 调用 search_database5. Retriever这是 RAG 的核心。Documents ↓ Embedding ↓ Vector DB ↓ Retriever ↓ Relevant Documents ↓ LLM6. Agent最后把LLM Tools Reasoning组合起来。你应该理解 Agent 的本质Agent 并不是一个神秘的 AI它本质上是一个“LLM 工具 循环决策”的程序。第三阶段RAG这部分非常值得认真学。建议掌握PDF / Markdown / Web ↓ Document Loader ↓ Chunk ↓ Embedding ↓ Vector Database ↓ Retriever ↓ Rerank ↓ LLM然后理解Naive RAG问题 ↓ Embedding ↓ Vector Search ↓ Top K ↓ LLM进一步Advanced RAGQuery Rewrite ↓ Hybrid Search ↓ Vector Search ↓ Keyword Search ↓ Rerank ↓ Context ↓ LLM如果你以后做企业级 AI这部分比背 LangChain API 更重要。第四阶段正式进入 LangGraph这时候再学 LangGraph会非常顺。核心就 4 个概念State整个 Agent 的状态。class State(TypedDict): messages: list search_result: strNode一个执行步骤。def search_node(state): ...例如Node A ↓ Node B ↓ Node CEdge控制节点之间怎么走。A → BConditional Edge最重要。A ↓ 判断条件 ↙ ↘ B C5. LangGraph 最重要的思想State Machine你可以把 LangGraph 理解成给 Agent 做状态机。比如一个 Coding Agent┌────────────┐ │ Understand │ └─────┬──────┘ ↓ ┌────────────┐ │ Write Code │ └─────┬──────┘ ↓ ┌────────────┐ │ Run Tests │ └─────┬──────┘ ↓ ┌────────────┐ │ Passed? │ └───┬────┬───┘ │ │ Yes No ↓ ↓ Done Fix Code │ └──────→ Run Tests这就是 LangGraph 非常典型的应用。6. 然后学习 Agent Memory这里建议分清两个概念。短期状态例如当前对话 当前任务 当前工具调用 当前 Agent 状态长期记忆例如用户偏好 历史任务 用户资料 长期知识不要把Conversation History简单等同于Memory这是很多初学者容易混淆的地方。7. 再学 Human-in-the-loop这是 LangGraph 很值得学习的一块。例如Agent ↓ 准备删除数据库 ↓ 暂停 ↓ 等待人工确认 ↓ 用户批准 ↓ 继续执行或者Agent ↓ 生成邮件 ↓ 人工审核 ↓ 修改 ↓ 发送这才开始接近真正的企业级 Agent。8. 再往后Multi-Agent例如一个研究 AgentSupervisor │ ┌───────────┼───────────┐ ↓ ↓ ↓ Researcher Coder Writer ↓ ↓ ↓ └───────────┼───────────┘ ↓ Reviewer ↓ FinalLangGraph 非常适合做这种复杂编排。9. 最后进入生产环境如果你的目标不是“会写 Demo”而是以后做真正的 AI 产品这些一定要学LangChain ↓ LangGraph ↓ Streaming ↓ Persistence ↓ Checkpoint ↓ Human-in-the-loop ↓ Observability ↓ Evaluation ↓ Guardrails ↓ Cost Control ↓ Concurrency ↓ Production Deployment尤其是Evaluation你需要知道Agent 到底好不好 RAG 找到的资料对不对 回答有没有幻觉 Tool 有没有调用错误不能只靠“我测试了一下感觉还行”。10. 如果你是 Node.js 开发者你其实不一定需要转 Python。LangChain 有 TypeScript 生态。可以走Node.js ↓ TypeScript ↓ LangChain.js ↓ LangGraph.js ↓ Next.js ↓ PostgreSQL / Redis ↓ Vector DB这条路线非常适合做 Web AI 产品。例如Next.js ↓ AI API ↓ LangChain ↓ LangGraph ↓ Redis / PostgreSQL ↓ Vector DB你之前关注过Redis Node.js 的高并发架构这方面的后端经验其实可以直接迁移到 Agent 系统里Agent 本身只是业务编排层真正生产化时仍然会遇到缓存、队列、并发、限流、持久化、流式输出等传统后端问题。11. 我建议你按这个顺序学如果每天有12 小时第 1 周LLM 基础LLM API Prompt Message Streaming Structured Output Tool Calling第 2 周LangChainModel Prompt Output Parser Tool Runnable Agent第 3 周RAGEmbedding Vector DB Retriever Chunk Metadata Hybrid Search Rerank第 4 周LangGraphState Node Edge Conditional Edge Graph Checkpoint第 5 周AgentTool Agent ReAct Memory Human-in-the-loop Reflection Planning第 67 周复杂 AgentMulti-Agent Supervisor Subgraph Long-term Memory Persistence第 8 周生产化Streaming Observability Evaluation Guardrails Retry Timeout Rate Limit Cost Control Deployment12. 最重要的是不要“看教程学”我更推荐你直接做一个项目「AI 企业知识库 Agent」最终架构用户 │ ↓ Next.js │ ↓ LangGraph Agent │ ┌───────────┼───────────┐ ↓ ↓ ↓ Search SQL Tool Web Tool │ │ │ ↓ ↓ ↓ Vector DB PostgreSQL Search API │ │ │ └───────────┼───────────┘ ↓ LLM │ ↓ Answer然后逐步加V1普通 Chat ↓ V2RAG ↓ V3Tool Calling ↓ V4Agent ↓ V5LangGraph ↓ V6Memory ↓ V7Human Approval ↓ V8Multi-Agent ↓ V9Evaluation ↓ V10Production这样学下来你会真正理解 LangChain 和 LangGraph 为什么存在而不是记住一堆 API。如果你现在主要是Node.js Next.js我会建议你直接走TypeScript LangChain.js LangGraph.js这条路线不必为了学 Agent 专门切 Python。
返回列表