由于没过完整个课程

总结一下总结一下LangChain+LangGraph这套体系

但是其实已经有一些概念了
之前一直误导了一些概念
1.gpt是什么,
2.chatgpt是什么
3.agent是什么
4.传统工程化编程与agent各自的优缺点
5.搭建一个demo来使用LangChain+LangGraph这个技术栈
6.LangChain+LangGraph这个技术栈提供了什么机制

💡 先厘清几个基础概念

在深入技术栈之前,我们先得把几个基础但容易混淆的概念搞清楚。

  • GPT是什么?
    GPT (Generative Pre-trained Transformer) 是一个具体的、由OpenAI开发的大语言模型(LLM)。可以把它理解为一个能力强大的“超级大脑”,它的核心能力是理解和生成人类语言。市面上还有Google的Gemini、Anthropic的Claude等,它们都是不同厂商的“大脑”。

  • ChatGPT是什么?
    ChatGPTOpenAI公司基于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. 完整的业务链路是什么?
  • 输入方(生产者):通常是最终用户上游系统,它们提出一个复杂的目标或问题。
  • 处理过程(黑盒)
    1. LangChain 负责**“组织”:它将用户的请求、外部数据、工具调用等编排成一个线性的步骤序列**,一步步地喂给大模型处理。
    2. 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_KEY

from langchain_openai import ChatOpenAI
from langchain.prompts import ChatPromptTemplate

# 3. 初始化模型和提示词模板 (使用组件)
model = ChatOpenAI(model="gpt-3.5-turbo")
prompt = ChatPromptTemplate.from_template("讲一个关于 {topic} 的笑话")

# 4. 用 LCEL 的 | 管道符将它们串联成“链” (线性编排)
chain = prompt | model

# 5. 调用链,传入输入
response = chain.invoke({"topic": "程序员"})
print(response.content)

这个例子展示了LangChain如何用组件和LCEL快速构建一个线性流程。

LangGraph 示例 (使用 StateGraph):

# 1. 安装: pip install langgraph
# 2. 配置: 无需额外配置

from typing import TypedDict
from langgraph.graph import StateGraph, END

# 3. 定义状态(State)
class MyState(TypedDict):
    topic: str
    joke: str

# 4. 定义节点(Node)函数
def generate_joke(state: MyState):
    # 这里通常会调用LLM,为简化,直接返回
    return {"joke": f"这是一个关于 {state['topic']} 的笑话"}

# 5. 构建图 (Graph-based State Machine)
graph = StateGraph(MyState)
graph.add_node("generate", generate_joke) # 添加节点
graph.set_entry_point("generate")         # 设置入口
graph.add_edge("generate", END)           # 添加边,指向结束

# 6. 编译并运行
app = graph.compile()
result = app.invoke({"topic": "人工智能"})
print(result["joke"])

这个例子展示了LangGraph如何通过定义StateNodeEdge来构建一个可执行的工作流。

💎 总结:一张图看懂两者的关系

  • GPT/LLM:是“大脑”,负责思考和生成。
  • ChatGPT:是“产品”,一个具体的聊天应用。
  • Agent:是“数字员工”,能自主使用工具达成目标。
  • 传统编程 vs. Agent:是“精确执行指令”与“自主决策达成目标”的区别。
  • LangChain:是“工具包和积木”,提供各种零件和简单的线性组装方式(A→B→C)。
  • LangGraph:是“智能流程图绘制与执行引擎”,用于构建能循环、分支、决策的复杂状态机。

它们并非竞争关系,而是互补的。LangChain提供了丰富的“积木”(工具和组件),而LangGraph则提供了一种更强大的“搭建方式”(图状态机编排)。在实际开发中,你完全可以在LangGraph的图节点内部,使用LangChain的组件来完成任务。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐