LangChain大模型学习指南:小白也能轻松掌握,收藏必备!

发布时间:2026/7/28 15:56:30
LangChain大模型学习指南:小白也能轻松掌握,收藏必备! 本文从LangChain生态的顶层抽象出发详细介绍了LangChain的核心概念、API以及与LangGraph的对比。通过实例演示如何使用create_agent()一行代码启动Agent并探讨了中间件、结构化输出等高级功能。文章还提供了判断何时应从LangChain转向LangGraph的实用指南适合想要快速入门大模型开发的程序员和小白学习。一、概念LangChain 在生态中的定位1. 四层生态自上而下┌─────────────────────────────────────┐│ LangChain ← 高层抽象本篇 │ create_agent() 一行起 Agent├─────────────────────────────────────┤│ LangGraph ← 图编排下一篇 │ 状态机 节点 边├─────────────────────────────────────┤│ Deep Agents ← 生产级封装第 3 篇 │ Harness SKILL.md├─────────────────────────────────────┤│ LangSmith ← 可观测性第 4 篇 │ Trace / Eval / Deploy└─────────────────────────────────────┘越往上越简单越往下越灵活。LangChain 在最顶层目标是让开发者用最少的代码起一个 Agent。2. 核心定位LangChain 包本身不是整个生态而是生态中的最高层抽象——位于 LangGraph 之上把图编排的复杂性封装成一个函数调用。对比LangChainLangGraph核心 APIcreate_agent()StateGraph 节点 边心智模型“配一个 Agent”“画一张状态机图”代码量几行几十行起步灵活性受限于预设模式完全自由适用场景标准 ReAct Agent复杂分支/循环/并行3. 核心 APIcreate_agent()create_agent()是 LangChain 的灵魂——一个函数编译出一个完整的 Agentfrom langchain.agents import create_agentagent create_agent( modeldeepseek:deepseek-chat, tools[...], middleware[...],)一行代码背后是一个完整的 ReAct 循环图。一句话总结LangChain 是 LangGraph 之上的高层语法糖——用create_agent()一行代码替代手动编排状态机。二、价值为什么需要这一层1. 相比直接用 LangGraph少写 80% 的样板代码用 LangGraph 手动搭一个 ReAct Agent你需要# LangGraph 方式手动定义from langgraph.graph import StateGraph, ENDgraph StateGraph(AgentState)graph.add_node(model, call_model)graph.add_node(tools, execute_tools)graph.add_edge(model, tools) # 模型调用工具后 → 执行工具graph.add_conditional_edges(tools, should_continue, { True: model, # 继续循环 False: END, # 结束})graph.set_entry_point(model)agent graph.compile()同样的 Agent用 LangChainfrom langchain.agents import create_agentagent create_agent( modeldeepseek:deepseek-chat, tools[...],)# 完了。状态机、边、节点全帮你生成。省掉了定义状态类、添加节点、添加边、条件边、入口点、编译。当你只需要标准 ReAct 模式时这些全是样板代码。2. 相比直接调 SDK统一接口 中间件生态裸调 OpenAI / DeepSeek SDK# 裸 SDK 方式import openaimessages [{role: user, content: ...}]while True: response openai.chat.completions.create( modeldeepseek-chat, messagesmessages, toolstool_schemas, ) msg response.choices[0].message if msg.tool_calls: for tc in msg.tool_calls: result execute_tool(tc) messages.append({role: tool, ...}) else: break问题循环逻辑自己写——而且容易写错并发 tool_calls、空响应、截断……没有中间件——想加 HITL加 Guardrails自己实现没有持久化——对话状态自己管理没有可观测性——想看 trace自己埋点LangChain 给你统一的 Agent 接口换模型只改一行中间件生态HITL / Guardrails / 结构化输出 开箱即用自动对接 LangSmithtrace 免费拿3. 什么场景选 LangChain场景选 LangChain选 LangGraph标准 ReAct Agent✅杀鸡用牛刀需要加工具 中间件✅ 几行搞定手动在图中插钩子复杂分支if-else 多层嵌套❌✅并行执行多个子任务❌✅自定义循环逻辑❌✅多 Agent 协作简单协作可复杂编排 ✅核心判断你的 Agent 是一个主循环 工具还是多分支状态机前者选 LangChain后者选 LangGraph。核心价值LangChain 让 80% 的标准 Agent 场景用 20% 的代码搞定把精力从搭框架转移到写业务逻辑。三、用法从 30 秒起 Agent 到知道何时跳船用法 130 秒起一个 Agent最简形式——不需要工具就是一个带记忆的对话 Agentfrom langchain.agents import create_agentagent create_agent( modeldeepseek:deepseek-chat,)result agent.invoke({messages: [{role: user, content: 你好介绍一下自己}]})print(result[messages][-1].content)没错不需要工具也能用。Agent 本质是模型 循环工具是可选的。用法 2加工具给 Agent 赋予行动能力from langchain.agents import create_agentfrom langchain_core.tools import tooltooldef search_weather(city: str) - str: 查询指定城市的天气 # 实际实现调用天气 API return f{city}晴25°Ctooldef calculate(expression: str) - str: 计算数学表达式 return str(eval(expression)) # 生产环境请用安全的方式agent create_agent( modeldeepseek:deepseek-chat, tools[search_weather, calculate],)result agent.invoke({ messages: [{role: user, content: 北京天气怎么样如果气温低于 20 度帮我算 25-18}]})tool 装饰器自动从函数签名和 docstring 生成工具 schemaAgent 自动决定何时调用。用法 3加中间件HITL Guardrails中间件是 LangChain 的杀手级特性——不用改 Agent 逻辑插一行就行from langchain.agents import create_agentfrom langchain.agents.middleware import HumanInTheLoopMiddleware, PIIMiddlewarefrom langchain_core.tools import tooltooldef delete_file(path: str) - str: 删除指定文件 import os os.remove(path) return f已删除 {path}agent create_agent( modeldeepseek:deepseek-chat, tools[delete_file], middleware[ HumanInTheLoopMiddleware(tools[delete_file]), # 删除前人工确认 PIIMiddleware(), # 自动脱敏 PII ],)# 执行时delete_file 会暂停等人工审批result agent.invoke({ messages: [{role: user, content: 帮我把 /tmp/old_log.txt 删了}]})执行流程模型决定调用delete_file(/tmp/old_log.txt)HumanInTheLoopMiddleware 拦截暂停执行人工确认后继续执行PIIMiddleware 确保输入输出中没有敏感信息用法 4加结构化输出让 Agent 最终返回一个结构化对象而不是自由文本from langchain.agents import create_agentfrom langchain_core.tools import toolfrom pydantic import BaseModel, Fieldclass TripPlan(BaseModel): 旅行计划 destination: str Field(description目的地) days: int Field(description天数) budget: float Field(description预算元) activities: list[str] Field(description推荐活动)tooldef search_flights(destination: str) - str: 搜索航班信息 return f飞往 {destination} 的航班CZ12341200元agent create_agent( modeldeepseek:deepseek-chat, tools[search_flights], output_schemaTripPlan, # 结构化输出)result agent.invoke({ messages: [{role: user, content: 帮我规划一个 3 天的成都之旅预算 5000}]})# result[structured_output] 是一个 TripPlan 实例plan: TripPlan result[structured_output]print(f目的地{plan.destination}预算{plan.budget}元)Agent 内部照常调用工具、自由思考最终输出强制按TripPlan结构化。用法 5何时该跳到 LangGraph当你发现自己在create_agent()里绕弯子时就是该跳的时候# 这些需求说明你该用 LangGraph 了# ❌ 需要条件分支根据用户意图走不同处理流程# if intent refund: go to refund flow# elif intent order: go to order flow# ❌ 需要并行同时查三个数据源# parallel: [search_db, search_api, search_cache] → merge# ❌ 需要嵌套循环审核不通过回到修改修改完重新提交# while not approved: edit → review# ❌ 需要多 Agent 协作reviewer 驳回后回到 writer# writer → reviewer → (rejected) → writer → reviewer → (approved) → done判断标准如果你的 Agent 执行路径不是线性循环而是网状图直接用 LangGraph。四、原理create_agent 内部发生了什么1. create_agent 编译成 LangGraph 图create_agent()不是魔法——它内部帮你编译了一张 LangGraph 图create_agent(model, tools, middleware) ↓ 编译┌──────────────────────────────────┐│ StateGraph(AgentState) ││ ││ ┌─────────┐ ┌─────────┐ ││ │ model │───→│ tools │ ││ └────┬────┘ └────┬────┘ ││ │ │ ││ │ (no tool) │ (has) ││ ↓ ↓ ││ END back to model │└──────────────────────────────────┘这就是经典的 ReAct 循环model 节点调用 LLM决定是直接回复还是调用工具tools 节点执行工具调用条件边有工具调用 → 回到 model没有 → 结束你用 LangChain 写的 5 行代码等价于 LangGraph 的 30 行。2. 中间件如何映射到图的钩子中间件不是 LangChain 的额外层——它们被编译进图的节点middleware[PIIMiddleware(), HITLMiddleware()]编译后model 节点增强版 before_model: PII 脱敏 → HITL 检查 [调用 LLM] after_model: HITL 检查 → PII 还原tools 节点增强版 wrap_tool_call: HITL 审批 [执行工具] wrap_tool_result: PII 还原中间件本质是图的 AOP面向切面编程——在不改变图结构的前提下在节点执行前后插入逻辑。3. LangChain 与 LangGraph 的语法糖关系LangChain LangGraph───────── ─────────create_agent() StateGraph ReAct 模式tools 参数 tools 节点middleware 参数 图节点的 before/after 钩子output_schema 参数 最终节点的结构化输出包装agent.invoke() graph.invoke()LangChain 是 LangGraph 的上层语法糖——把通用模式封装成声明式 API让你不用碰图的原语。这层糖的代价是你只能在预设模式内操作。想突破预设模式就去用 LangGraph。什么时候不该用 LangChain场景为什么不该该用什么多分支决策树create_agent()只有一条主循环路径LangGraph 条件边并行子任务Agent 循环是串行的LangGraph 并行节点嵌套审核循环驳回→修改→再审不是线性路径LangGraph 循环边自定义状态机状态转移逻辑超出 ReAct 模式LangGraph 原生状态机精确控制每一步你需要决定先调 A 还是先调 BLangGraph 显式编排一句话当你觉得在对抗框架而不是使用框架时就该降一层。小结视角一句话概念LangChain 是 LangGraph 之上的高层抽象核心 API 是create_agent()——一行代码起一个 Agent价值省掉 80% 样板代码统一接口换模型只改一行中间件生态开箱即用用法30 秒起 Agent → 加工具 → 加中间件 → 加结构化输出 → 超出 ReAct 就跳 LangGraph原理create_agent()编译成 ReAct 循环图中间件映射到图的 AOP 钩子是 LangGraph 的语法糖记住一件事LangChain 的定位是标准 Agent 的快捷方式——能用create_agent()搞定的就别手写状态机搞不定的果断降层到 LangGraph。如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线科技企业深耕十二载见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包✅ 从零到一的 AI 学习路径图✅ 大模型调优实战手册附医疗/金融等大厂真实案例✅ 百度/阿里专家闭门录播课✅ 大模型当下最新行业报告✅ 真实大厂面试真题✅ 2026 最新岗位需求图谱所有资料 ⚡️ 朋友们如果有需要《AI大模型入门进阶学习资源包》下方扫码获取~① 全套AI大模型应用开发视频教程包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点② 大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。 正确的学习路线可以为你节省时间少走弯路方向不对努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通③ 大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。④ AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。⑤ 大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。⑥ 大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。以上资料如何领取为什么大家都在学大模型最近科技巨头英特尔宣布裁员2万人传统岗位不断缩减但AI相关技术岗疯狂扩招有3-5年经验大厂薪资就能给到50K*20薪不出1年“有AI项目经验”将成为投递简历的门槛。风口之下与其像“温水煮青蛙”一样坐等被行业淘汰不如先人一步掌握AI大模型原理应用技术项目实操经验“顺风”翻盘这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。以上全套大模型资料如何领取