找回密码
 立即注册
首页 业界区 业界 从 LangChain 到 LangGraph 构建可控 Agent 的工程实践 ...

从 LangChain 到 LangGraph 构建可控 Agent 的工程实践

嫁蝇 2026-2-11 09:50:13
在之前的文章中,我们深入讲解了如何使用 LangChain + Ollama 构建本地大模型调用方案。
但是,随着业务需求不断增长,我们发现仅仅调用模型已经远远不够——我们希望构建具备条件判断、流程控制、工具调用以及状态记忆的智能 Agent
这时候,LangChain 的 create_agent + LangGraph 的 StateGraph 就成为了真正面向工程的利器。
今天,我们就来讲清楚:
什么是 LangGraph?为什么它是构建可控 Agent 的未来?如何在最新 API 下用 create_agent 和 StateGraph 构建有状态智能体?
一、为什么要用 LangGraph 构建 Agent?

在 LangChain 最新版本中,Agent API 已经全面升级,官方推荐使用 create_agent 构建生产级智能体,并基于 LangGraph 对内部流程进行图结构编排。
create_agent
是一个高阶接口,用于构建图式 Agent。它内部依赖 LangGraph 执行器,在一个状态图中逐步完成模型推理、工具调用、决策流跳转等逻辑。
过去我们可能使用 Chain + Logic 组合来处理流程,但随着逻辑复杂度增加,线性写法很难维护、扩展和调试。
LangGraph 的图结构 可以让我们:

  • 状态(state) 表达全局对话或任务信息
  • 节点(nodes) 表达流程逻辑
  • 边(edges) 表达不同分支与条件
  • 记忆插件 实现短期和长期记忆
这组合起来,就形成了一个可控、有状态流程的智能 Agent
二、什么是 StateGraph?

StateGraph 是 LangGraph 的核心抽象,它表示一个具有全局状态和节点流转逻辑的图
每个节点本质上是一个函数,这个函数:

  • 接收当前全局状态
  • 返回修改后的状态或跳转指令
它非常适合把“复杂流程问题”映射为“图状态机”,无论是对话、工具调用还是多步骤任务。
简化后的 StateGraph 工作流程如下:
  1. StateGraph(StateType)    ├── add_node(name, function)    ├── add_edge(source, target)    └── compile()        → graph.invoke({state input})
复制代码
解释一下:

  • StateType:定义全局状态结构
  • add_node:定义节点行为逻辑
  • add_edge:定义节点间的流程跳转关系
三、新 API:create_agent 如何使用?

从 LangChain 最新版本开始,旧的 create_react_agent 已被废弃,统一使用 create_agent
一个最简单的示例:
  1. from langchain.agents import create_agentfrom langchain_openai import ChatOpenAImodel = ChatOpenAI(    model="qwen3:8b",    base_url="http://localhost:11434/v1",    api_key="your api key",)agent = create_agent(    model=model,    tools=[],    system_prompt="你是一个智能助手,负责处理用户请求。",)response = agent.invoke({    "messages": [{"role": "user", "content": "什么是 LangGraph?"}]})print(response)
复制代码

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

2026-2-26 09:49:31

举报

您需要登录后才可以回帖 登录 | 立即注册