总结一下LangChain+LangGraph这套体系

发布时间:2026/7/5 1:03:24

总结一下LangChain+LangGraph这套体系 由于没过完整个课程总结一下总结一下LangChainLangGraph这套体系但是其实已经有一些概念了之前一直误导了一些概念1.gpt是什么2.chatgpt是什么3.agent是什么4.传统工程化编程与agent各自的优缺点5.搭建一个demo来使用LangChainLangGraph这个技术栈6.LangChainLangGraph这个技术栈提供了什么机制 先厘清几个基础概念在深入技术栈之前我们先得把几个基础但容易混淆的概念搞清楚。GPT是什么GPT (Generative Pre-trained Transformer)是一个具体的、由OpenAI开发的大语言模型LLM。可以把它理解为一个能力强大的“超级大脑”它的核心能力是理解和生成人类语言。市面上还有Google的Gemini、Anthropic的Claude等它们都是不同厂商的“大脑”。ChatGPT是什么ChatGPT是OpenAI公司基于GPT模型构建的一个具体的产品应用。它是一个聊天界面背后由GPT这个“大脑”驱动。Agent智能体是什么如果说GPT是“大脑”ChatGPT是“会说话的脑子”那么Agent就是一个“会行动、会协作、会学习的数字员工”。它不只是被动地回答问题而是被赋予一个目标后能自主地进行任务拆解、规划、调用工具如搜索、查天气和反思。其核心机制是一个“思考-行动-观察”的循环它能根据环境反馈不断调整策略直到达成目标。⚖️ 传统工程化编程 vs. Agent优缺点对比理解了Agent是什么它与我们熟悉的传统编程有何不同简单来说这是一个从**“确定性执行”到“自主性决策”**的转变。维度传统工程化编程Agent (智能体)决策者人开发者AI模型本身核心逻辑预先定义所有规则、流程和异常处理都需提前写好。动态规划根据目标自主拆解任务决定调用什么工具、按什么顺序执行。流程控制确定性代码按预定的A→B→C路径执行结果可预测。不确定性执行路径取决于模型每一步的“思考”和外部环境的反馈。适用场景业务逻辑明确、稳定、对准确性和可控性要求极高的场景如金融交易、底层基础设施。任务复杂、开放、需要处理非结构化信息并自主决策的场景如智能客服、个人助理。优点精确可控、稳定可靠、易于调试。每一行代码的逻辑都是确定的。灵活智能、能处理复杂任务。可以解决传统编程难以定义规则的问题。缺点缺乏灵活性。遇到未预定义的情况就会失败维护成本随规则复杂度上升。不可预测、调试困难、成本较高。可能产生“幻觉”或做出错误决策。️ LangChain LangGraph 技术栈剖析现在我们把目光投向这个技术栈本身。1. 如何搭建与配置它的“栖息地”在哪里LangChain它主要是一个Python和JavaScript的代码库Library。你的“栖息地”就是你的代码工程。你需要通过包管理器如pip install langchain将它安装到你的项目中然后在代码里通过import来使用它。LangGraph它同样是一个代码库pip install -U langgraph可以独立使用但更常见的是与LangChain结合。它的“栖息地”同样在你的代码工程中。2. 它解决什么领域的问题LangChain解决的是如何“用积木搭建房子”的问题。它提供了大量标准化的“积木”Components比如和各种大模型、外部数据、工具交互的模板让开发者能高效、灵活地组装出各种LLM应用。LangGraph解决的是如何“为复杂的智能体项目绘制精确的施工流程图”的问题。它专注于构建有状态的、多步骤的、需要复杂决策的AI智能体Agent。3. 完整的业务链路是什么输入方生产者通常是最终用户或上游系统它们提出一个复杂的目标或问题。处理过程黑盒LangChain负责**“组织”它将用户的请求、外部数据、工具调用等编排成一个线性的步骤序列**一步步地喂给大模型处理。LangGraph负责**“调度”它把整个处理过程建模成一个图Graph**。状态State在节点Node代表一个处理步骤如“调用模型”、“执行工具”之间流动流程可以根据条件在节点间跳转Edge、循环甚至暂停。输出方消费者处理完成后结果返回给用户或下游系统。4. 它提供了什么核心机制供我使用API与抽象LangChain核心是**“组件化”与“线性编排”**。组件Components提供各种标准化零件如PromptTemplate提示词模板、DocumentLoader文档加载器、OutputParser输出解析器等。LCEL (LangChain Expression Language)一种声明式语法能用简洁的|管道符将组件串联成链。LangGraph核心是**“图状态机Graph-based State Machine”**。State状态一个在整个工作流中传递和共享的全局对象。Node节点工作流中的一个步骤通常是一个函数接收State并返回更新后的State。Edge边连接节点定义了执行的流向可以是确定性的也可以是带条件的Conditional Edge根据State的值决定下一步走向哪个节点。5. 如何在代码中“激活”它落地配置我们来看一个极简的“Hello World”级别的例子LangChain 示例 (使用 LCEL)# 1. 安装: pip install langchain langchain-openai# 2. 配置: 设置环境变量 OPENAI_API_KEYfromlangchain_openaiimportChatOpenAIfromlangchain.promptsimportChatPromptTemplate# 3. 初始化模型和提示词模板 (使用组件)modelChatOpenAI(modelgpt-3.5-turbo)promptChatPromptTemplate.from_template(讲一个关于 {topic} 的笑话)# 4. 用 LCEL 的 | 管道符将它们串联成“链” (线性编排)chainprompt|model# 5. 调用链传入输入responsechain.invoke({topic:程序员})print(response.content)这个例子展示了LangChain如何用组件和LCEL快速构建一个线性流程。LangGraph 示例 (使用 StateGraph)# 1. 安装: pip install langgraph# 2. 配置: 无需额外配置fromtypingimportTypedDictfromlanggraph.graphimportStateGraph,END# 3. 定义状态StateclassMyState(TypedDict):topic:strjoke:str# 4. 定义节点Node函数defgenerate_joke(state:MyState):# 这里通常会调用LLM为简化直接返回return{joke:f这是一个关于{state[topic]}的笑话}# 5. 构建图 (Graph-based State Machine)graphStateGraph(MyState)graph.add_node(generate,generate_joke)# 添加节点graph.set_entry_point(generate)# 设置入口graph.add_edge(generate,END)# 添加边指向结束# 6. 编译并运行appgraph.compile()resultapp.invoke({topic:人工智能})print(result[joke])这个例子展示了LangGraph如何通过定义State、Node和Edge来构建一个可执行的工作流。 总结一张图看懂两者的关系GPT/LLM是“大脑”负责思考和生成。ChatGPT是“产品”一个具体的聊天应用。Agent是“数字员工”能自主使用工具达成目标。传统编程 vs. Agent是“精确执行指令”与“自主决策达成目标”的区别。LangChain是“工具包和积木”提供各种零件和简单的线性组装方式A→B→C。LangGraph是“智能流程图绘制与执行引擎”用于构建能循环、分支、决策的复杂状态机。它们并非竞争关系而是互补的。LangChain提供了丰富的“积木”工具和组件而LangGraph则提供了一种更强大的“搭建方式”图状态机编排。在实际开发中你完全可以在LangGraph的图节点内部使用LangChain的组件来完成任务。

相关新闻