LLM之Agent(二十六)| LangChain × LangGraph 1.0 正式发布:AI 智能体迈入“工业化”纪元

在过去三年中,社区用户不断反馈:LangChain "抽象过重""结构臃肿",开发者希望在不放弃原始 LLM 调用的情况下更好地控制代理循环。LangChain 1.0 与 LangGraph 1.0 的发布,标志着首个稳定版本的发布,并且已经在 Uber、LinkedIn、Klarna等企业的生产环境验证过,其目标是把"智能体"从 Jupyter 笔记本搬进 CI/CD,从"脚本"升级为"系统"。

这两个框架的应用场景有所不同:

  • LangChain 是构建 AI 应用程序的流行框架------具有标准工具调用架构、与提供商无关的设计和用于定制的中间件。
  • LangGraph 是一个抽象程度较低级别的框架,适用于高度定制和可控的代理,旨在支持生产级、长期运行的代理。

官方承诺1.0是稳定版本,2.0不会有重大调整,并且官方文档已经上线docs.langchain.com

一、LangChain 1.0

LangChain 始终提供用于与 LLM 交互和构建代理的高级接口。凭借标准化的模型抽象和预构建的代理模式,它可以帮助开发者快速交付 AI 功能,并构建复杂的应用程序,而无需受供应商锁定。在特定任务的最佳模型经常变化的领域,这一点至关重要。

对于 LangChain 1.0,主要有以下几件事需要特别关注:

1.1 create_agent

全新create_agent接口:默认运行在 LangGraph 引擎之上。

一句话创建生产级代理**

复制代码
from langchain import create_agent
agent = create_agent(
    model="gpt-4o",
    tools=[search, sql, send_email],
    prompt="你是客户支持助理,请友好且准确地回答。"
)

过去要写 100+ 行的 `AgentExecutor`、记忆、回调,现在一行搞定。

1.2 中间件

中间件定义了一组钩子,允许您自定义代理循环中的行为,从而实现代理采取的每个步骤的细粒度控制。

LangChain为常见用例提供了一些内置中间件:

  • 人机交互:暂停代理执行,让用户在工具调用执行前批准、编辑或拒绝。这对于与外部系统交互、发送通信或进行敏感交易的代理至关重要。
  • 上下文汇总:当消息历史记录接近上下文限制时,对其进行精简,保留最新消息,同时汇总旧上下文。这可以防止令牌溢出错误,并保持长时间运行的代理会话的高性能。
  • 脱敏:在内容传递到模型之前,使用模式匹配识别并遮盖电子邮件地址、电话号码和社会保障号等敏感信息。这有助于确保符合隐私法规,并防止用户数据意外泄露。

LangChain 还支持自定义中间件 ,这些中间件可以连接到代理循环中的多个点。下图展示了这些钩子:

1.3 结构化输出

LangChain还改进了代理循环中的结构化输出生成功能,将其合并到主模型<-->工具循环中。这消除了过去在主循环之外进行的额外 LLM 调用,从而降低了延迟和成本。

开发人员现在可以通过工具调用或提供商原生的结构化输出来细粒度地控制结构化输出的生成方式。

复制代码
from langchain.agents import create_agent
from langchain.agents.structured_output import ToolStrategy
from pydantic import BaseModel
class WeatherReport(BaseModel):
    temperature: float    
    condition: str
agent = create_agent(
    "openai:gpt-4o-mini",
    tools=[weather_tool],
    response_format=ToolStrategy(WeatherReport),
    prompt="Help the user by fetching the weather in their city.",
)

1.4 标准化content_blocks

LangChain 支持的数百个大模型提供商(OpenAI、Anthropic 等)在 1.0 版本中基本保持不变,这些抽象接口位于 langchain-core 中。LangChain将在 1.0 版本中引入一个关键的新增功能: 标准化内容块 。

LangChain允许开发者在单个应用程序中使用多个提供商。如果没有标准的内容块,切换模型或提供商通常会破坏数据流、UI 和前端以及内存存储。消息中新增的 .content_blocks 属性提供了以下功能:

  • 所有 LLM 输出(文本、工具调用、引用、推理轨迹)统一为 .content_blocks 结构,跨模型、跨供应商保持一致。
  • 同时,结构化输出(如 JSON Schema)直接集成进主循环,无需额外 LLM 调用,显著降低延迟与成本。

1.5 包结构简化

LangChain 1.0 将软件包范围精简至基本抽象。为了向后兼容,旧版功能已迁移至 langchain-classic 。

主要变化:

  • 在 LangChain 中引入了 create_agent ,而在 langgraph.prebuilt 中已弃用 create_react_agent;
  • 由于 2025 年 10 月 EOL 即将到来,Python 3.9 不支持,v1.0 需要 Python 3.10+;
  • 旧功能已迁移至 langchain-classic

1.5.1 安装

复制代码
# Python
uv pip install --upgrade langchain
uv pip install langchain-classic

# JavaScript
npm install @langchain/langchain@latest
npm install @langchain/langchain-classic

1.5.2 迁移

Python迁移地址:https://docs.langchain.com/oss/python/migrate/langchain-v1?ref=blog.langchain.com\&ajs_aid=da1f6d65-5519-4184-a63c-79665b45baad\&_gl=1\*zmrjbb\*_gcl_au\*MTM1MjY2ODc1Ni4xNzYxNzA1NTUx\*_ga\*MjExNzc0ODg0NS4xNzYxNzA1NTUx\*_ga_47WX3HKKY2\*czE3NjE3MTg1MjIkbzIkZzAkdDE3NjE3MTg2MzQkajYwJGwwJGgw

JavaScript迁移地址:https://docs.langchain.com/oss/javascript/migrate/langchain-v1?ref=blog.langchain.com\&ajs_aid=da1f6d65-5519-4184-a63c-79665b45baad\&_gl=1\*zmrjbb\*_gcl_au\*MTM1MjY2ODc1Ni4xNzYxNzA1NTUx\*_ga\*MjExNzc0ODg0NS4xNzYxNzA1NTUx\*_ga_47WX3HKKY2\*czE3NjE3MTg1MjIkbzIkZzAkdDE3NjE3MTg2MzQkajYwJGwwJGgw

二、LangGraph 1.0

AI Agent正在从原型转向生产,但持久性、可观察性和人机控制等核心功能仍未得到充分满足。

LangGraph 1.0 核心三大能力:

  • 持久化状态(Durable State)

    • 智能体可中断后恢复,任务不丢失

    • 适用于长周期任务(如客服流程、审批流)

  • 内置持久化(Persistence)

    • 支持检查点(Checkpoints)

    • 无需额外数据库,自动保存上下文与执行状态

  • 机制原生 Human-in-the-loop

    • 支持"审批-继续"、"编辑-重试"等交互模式

    • 在关键节点暂停执行,等待人工审核或修改

要深入了解LangGraph的设计理念,请查看关于从第一原则构建 LangGraph 的博客文章(https://blog.langchain.com/building-langgraph/) 。

2.1 重大变更与迁移

唯一值得注意的变化是弃用 langgraph.prebuilt 模块,并将增强功能移至 langchain.agents 。LangGraph 1.0 保持完全向后兼容性。

2.2 安装

复制代码
# Python
uv pip install --upgrade langgraph

# JavaScript
npm install @langchain/langgraph@latest

三、如何选择这两个框架?

LangChain 允许用户使用常见模式的高级抽象快速构建和交付Agent,而 LangGraph 为用户提供自定义复杂工作流程的细粒度控制。

LangChain Agent基于 LangGraph 构建,因此,用户可以从 LangChain 的高级 API 入手,并在需要更多控制时无缝迁移到 LangGraph。

相关推荐
Geoking.4 小时前
PyTorch 中 Tensor 交换维度(transpose、permute、view)详解
人工智能·pytorch·python
咚咚王者4 小时前
人工智能之编程基础 Python 入门:第四章 条件循环与异常
人工智能·python
mCell4 小时前
Agent ReAct and Loop
langchain·llm·agent
麻辣兔变形记5 小时前
Solidity 中继承 vs external 拆分:合约大小与可升级性的权衡
人工智能·区块链·1024程序员节
zhangbaolin9 小时前
Langchain中的消息
langchain·messages
Moniane10 小时前
A2A+MCP构建智能体协作生态:下一代分布式人工智能架构解析
人工智能·分布式·架构
sendnews11 小时前
红松小课首次亮相北京老博会,四大业务矩阵赋能退休生活提质升级
人工智能·物联网
停停的茶12 小时前
深度学习——图像分割
人工智能·深度学习
MIXLLRED12 小时前
自动驾驶技术全景解析:从感知、决策到控制的演进与挑战
人工智能·机器学习·自动驾驶