微信扫码
添加专属顾问
我要投稿
探索AI Agent开发的两大核心框架:LangChain与LangGraph的差异与应用场景,助你高效构建智能应用。核心内容: 1. LangChain与LangGraph的核心区别:静态链式工作流 vs 动态分支工作流 2. 两大框架的典型应用场景与协同工作方式 3. 学习路径建议与基础语法示例
LangChain 和 LangGraph 出自于同一个团队,都被设计用于与 LLM 集成并协同工作,两者常被混淆。但顾名思义,两者有着显著的区别:
显然,LangChain 和 LangGraph 有着不同的应用场景,LangChain 专注于提供组件和 LCEL(LangChain Expression Language)链式编程语法,适合简单的一次性任务;LangGraph 则是构建有状态 Agent 系统的理想选择。两者并不互斥,可以协同工作。例如:在 LangGraph 中的一个 Node 可以使用LangChain 来定义一系列步骤。
所以,在学习 LangGraph 前,建议先学习 LangChain 的基础知识。虽然使用 LangGraph 创建智能体或许不需要完全掌握 LangChain,但扎实掌握其基础知识肯定会有所帮助。
特性对比:应用场景对比:
LangChain 是一个开发 LLM AI 应用程序的基础框架,封装并提供了各种常用的接口和工具,可以方便开发者快速调用并实现业务功能,加快开发速度。 官方手册:https://python.langchain.com/docs/introduction/
LangChain 的 LCEL 语法示例:
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
from langchain.chat_models import ChatOpenAI
from langchain.prompts import ChatPromptTemplate
model = ChatOpenAI()
prompt = ChatPromptTemplate.from_template("请回答以下问题:{question}")
# LCEL 链式编排
chain = prompt | model
# 运行链
result = chain.invoke({"question": "什么是人工智能?"})
LangGraph 基于 LangChain 之上,是一个基更高级的 AI Agent 编排框架,可以处理复杂的 Workflow 编排和 Multi-Agent 编排。 官方手册:https://langchain-ai.github.io/langgraph/
顾名思义,Lang(语言)+ Graph(图)= 用图结构组织 LLM AI 的思考流程。如下图所示。
值得注意的是 LangGraph 中的 State 机制。常规的 LLM 模型 API 调用不能维持多步骤的连续推理过程,每次对话都是独立的,不能记住之前的处理结果,也不能基于中间结果动态调整后续步骤。LangGraph State 正是为了解决这个问题,它将复杂任务分解成多个步骤,并记住每个步骤的结果。后续步骤可以访问前面步骤的结果和数据,并根据结果判断调整执行路径,最终完成整个任务链条。
LangGraph 的图结构编程示例:
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
from langgraph.graph import StateGraph
from typing import TypedDict
class State(TypedDict):
messages: list
current_step: str
def node_a(state: State) -> State:
return {"messages": state["messages"] + ["处理A"], "current_step": "A"}
def node_b(state: State) -> State:
return {"messages": state["messages"] + ["处理B"], "current_step": "B"}
# 创建图结构
graph = StateGraph(State)
graph.add_node("node_a", node_a) # node
graph.add_node("node_b", node_b) # node
graph.add_edge("node_a", "node_b") # edge
执行模式对比:
LangSmith 是一个针对 Agent 和 LLM Call 之间的可视化监控、追踪、调试、测试和评估平台:
Agent-chat UI 是 LangChain Ecosystem 中的一部分,帮助开发者快速搭建一个基于 AI Agent 的 Chat WebUI。 项目地址:https://github.com/langchain-ai/agent-chat-ui
RAG(Retrieval Augmented Generation,检索增强生成)最初用于解决 LLM 数据过时、幻觉和偏见问题,现今也常被用于注入私域知识。是 Agent 和 LLM 交互环节中的一个重要组成部分。
RAG 是缓解或解决上述问题的良药,核心是 “动态知识注入机制”,提供了一个外部知识存储,在不修改 LLM 参数的前提下,通过 “外挂” 的形式为 LLM 补充 “实时、准确、私域” 的知识,拓宽了 LLM 的知识边界。
如下图所示,RAG 的核心流程有检索阶段、增强阶段和生成阶段。
Agentic AI 解决了 LLM 无法操作外部环境的问题,RAG 解决了 LLM 知识边界固化的问题,使得 LLM 应用的潜力得到了极大的扩展。而 Anthropic 于 2024 年 11 月推出的 MCP(Model Context Protocol,模型上下文协议)则是为了解决 LLM 上下文的局限性问题,包括:
MCP 最大的特点是能够让 LLM 统一调用各种外部工具或数据源,不再需要为每一个工具单独写适配代码。带来了以下好处:
MCP 的 Transport Layer 采用了 JSON-RPC 结构化通信协议,支持多种消息类型:
使用 LLM 应用总结代码库中最近的 5 次提交。MCP Host with Client 首先调用 MCP Server,询问有哪些可用的 Tools List。
然后 MCP Host 将这些 Tools 输入到 LLM。LLM 接收到这些信息后,会选择使用某个工具。然后 MCP Host 再向 MCP Server 发送具体某个工具的使用请求,并收到工具执行结果。
最后,MCP Host 将工具执行结果输入到 LLM。LLM 返回最终的响应结果给用户。
A2A(Agent2Agent Protocol)由 Google 在 2025 年 4 月提出,专注于 AI Agent 之间能够进行通信、协作和任务委托,并以结构化格式返回结果。支持异步工作流和多模态交互。通过 A2A 协议,Agents 之间可以了解彼此的技能,并完成任务的委托。
A2A 协议:基于 HTTP/S JSON-RPC 2.0 传输协议,符合 Web 原生的安全协议设计。
A2A Client:作为 Client 角色的 Agent,通过其他 A2A Server 的 Agent Cart 进行发现,并通过委托 Task 让其他 A2A Server 帮助自己完成可完成的任务。它向 A2A Server 的 URL 发送请求,如:tasks/send。
A2A Server:一个实现了 A2A 协议的 HTTP Endpoint,通过 Agent Card 对外进行发布,用于接收请求并管理任务执行。
Agent Card:是 A2S Server 的名片,JSON 格式,用于介绍 Agent 的名称、版本、能力描述、访问 Endpoint URL、支持的消息类型、身份认证方式、运行时 Metadata、供应商等信息。
Task:是 A2A Client 委托 A2A Server 执行的一个任务对象。Client 通过发送 Message(如 tasks/send 或 tasks/sendSubscribe)委托一个 Task。拥有唯一 ID 和 Stateful 状态机(如 submitted、working、input-required、completed、failed、canceled)。
Message:是 A2A 协议的消息体,A2A Client(role: "user")与 A2A Server(role: "agent")之间交互信息单元,由多个 Part 组成。A2A 协议建立时,Client 和 Server 之间会协商消息格式、内容粒度和可视化等机制。
Part(消息体部分):多个 Parts 组成一个 Message,可细分为 TextPart、FilePart、DataPart(结构化 JSON)等富媒体信息交换类型。
Push Notifications:A2A Server 执行 Task 的过程中会主动向 A2A Client 提供的 webhook URL 推送通知,该 URL 可通过 tasks/pushNotification/set 进行配置。
Artifact:中间产物流式处理。对于长时间运行的 Task,A2A Server 在过程中生产的持久化产物,A2A Client 从 Artifact 获取任务更新数据。例如:生成的文件或结构化数据。
Streaming:实时反馈流式处理。对于支持流式传输的 A2A Server,A2A Client 可使用 tasks/sendSubscribe 进行调用,然后接收到包含 TaskStatusUpdateEvent 或 TaskArtifactUpdateEvent 的 Server-Sent Events(SSE),以获取实时进度。
A2A 的典型应用场景是 Multi-Agent 软件架构,以及对来自不同团队或供应商的 Agents 进行安全互操作,形成跨平台的智能体生态系统。
目前关于 AI 记忆系统的研究尚未形成统一清晰的框架,特别是缺乏对记忆机制底层原子操作的系统化理解。以下通用架构图基于现有 AI Agent 记忆系统的主流设计模式,综合参考了 MemoryOS、Mem0、LangChain Memory 等系统的架构特点,以及相关学术研究中的理论框架。
Context Engineering 是 Prompt Engineering 和 In-context Learning 的演进方向。
可见,Prompt Engineering 是应用 In-context Learning 的前提,两者有共同的目标,并且具有都是针对某个问题的、静态的、一次性的等共同特性,所以在 Chat 场景中表现良好。但在追求自主智能的 Agent 场景中,有着以下不足:
简而言之,PE 和 ICL 本质上是 “静态” 的,它们无法适应长期运行(Long Run)的自主任务(Autonomous)中不断变化的环境和状态。Context Engineering 在 PE 和 ICL 的基础之上,提出了一种 “动态地” 为长对话/多步骤任务提供完整背景信息的思路。即:根据对话/任务的当前状态和变化,动态地构建最相关的、最有效的 Context Window(上下文窗口)。
实现 Context Engineering 的关键技术:
例如,智能客服系统不仅能记住你 “昨天咨询过退货政策”,还能结合 “你是 VIP 用户”、“购买商品未满 7 天” 等信息,直接给出 “退货免运费” 的解决方案,无需重复解释。上下文工程需要处理动态变化的信息网络,包含三个层级:
这些信息并非静态存储,而是需要通过 RAG、Tools、Memory 来获取并形成动态上下文信息。
Context Engineering 的终极目标不仅是构建数据上下文,甚至能实现指令上下文的动态优化,推动智能体向自适应性(Self-adaptive)和自我改进(Self-improvement)演进:
虽然长上下文窗口、向量数据库、RAG 等技术可以提供基于语义的检索能找到语义相似的内容,在某些领域足以作为 Agent 记忆模块优选。但由于检索到的这些知识不具有关联关系特征,所以在对实体关系紧密的复杂推理场景中,就存在着精准性、推理性和可解释性上存在不足。例如:法律合同场景,对人物、时间、地点、观点、案件情景具有密切的关系。
对此,知识图谱可以通过建模实体及其关系,继而提供精准、可解释、覆盖全面的上下文工程,使得 LLM 拥有更接近人类认知模式:
更具体的。我们常结合 RAG 来实现一个长记忆系统,但也有认为 RAG 记忆系统存在缺陷的观点,例如:
Zep 是一个具有时间特性的知识图谱软件。Graphiti 是 Zep 记忆层背后的技术,它是一个开源的库,能够构建动态的、具有时间意识的知识图谱,用以表示实体之间复杂且不断变化的关系。它采用了一个巧妙的三层知识图谱架构来解决传统 RAG 的痛点,如下图所示:
这种架构设计使得 Zep 系统既能保留细节信息,又能进行抽象推理。
- END -
关于 “AI赛博空间” 微信公众号:
欢迎关注 “AI赛博空间” 微信公众号,我们专注于AI、大数据、云计算及网络技术的发展及应用。热爱开源,拥抱开源!
技术即沟通
化云为雨,落地成林
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-09-13
我为啥现在如此热衷于LangGraph智能体开发
2025-09-12
重磅发布!LangChain 1.0 Alpha 来了,Agent 终于统一了!
2025-09-06
沧海独家:LangChain 1.0 Alpha 架构重构全解析
2025-08-30
LangChain如何使用通义千问的向量模型
2025-08-29
Claude code prompt原来这么写的,怪不得这么厉害
2025-08-27
从LangChain到LangGraph:AI智能体提示词工程的系统化学习
2025-08-25
Agent实战教程:LangGraph相关概念介绍以及快速入门
2025-08-23
企业级复杂任务智能体构建:解锁LangChain新品Deep Agents及其UI利器
2025-09-13
2025-07-14
2025-06-26
2025-07-14
2025-07-16
2025-08-19
2025-06-26
2025-08-17
2025-07-05
2025-06-24
2025-07-14
2025-07-13
2025-07-05
2025-06-26
2025-06-13
2025-05-21
2025-05-19
2025-05-08