createAgent
一种新的构建智能体的标准方式,用更简洁、更强大的 API 替换了
createReactAgent 中的 LangGraph。Standard content blocks
一个新的
contentBlocks 属性,为所有提供方提供统一的现代 LLM 功能访问。Simplified package
langchain 包已被简化,专注于智能体所需的基本构建块,而遗留功能已移至 @langchain/classic。createAgent
createAgent 是 LangChain 1.0 中构建智能体的标准方式。它比从 LangGraph 导出的预构建 createReactAgent 提供更简单的接口,同时通过使用中间件提供了更大的定制潜力。
createAgent 基于基本的智能体循环构建——调用模型,让它选择要执行的工具,然后在它不再调用任何工具时结束:

中间件
中间件是createAgent 的定义性特征。它使 createAgent 高度可定制,提高了你能构建的内容上限。
优秀的智能体需要 上下文工程:在正确的时间将正确信息传递给模型。中间件帮助你通过可组合的抽象控制动态提示词、对话摘要、选择性工具访问、状态管理和护栏。
预构建的中间件
LangChain 为常见模式提供了几个 预构建的中间件,包括:summarizationMiddleware:当对话历史过长时压缩对话历史humanInTheLoopMiddleware:对敏感工具调用要求批准piiRedactionMiddleware:在发送到模型之前编辑敏感信息
自定义中间件
你也可以构建自定义中间件以满足特定需求。 通过使用createMiddleware 函数实现这些钩子中的任何一种来构建自定义中间件:

基于 LangGraph 构建
由于createAgent 基于 LangGraph,你将自动获得对长时间运行和可靠智能体的内置支持,通过:
Persistence
对话会话自动持久化,具有内置的检查点功能
Streaming
实时流式输出 Token、工具调用和推理跟踪
Human-in-the-loop
在执行敏感操作之前暂停智能体以供人工批准
Time travel
回放对话到任何时间点,并探索替代路径和提示词
结构化输出
createAgent 改进了结构化输出生成:
- 主循环集成:结构化输出现在在主循环中生成,而不是需要额外的 LLM 调用
- 结构化输出策略:模型可以选择调用工具或使用提供方侧的结构化输出生成
- 成本降低:消除了额外 LLM 调用的额外费用
handleErrors 参数到 ToolStrategy 控制错误处理:
- 解析错误:模型生成的数据与期望的结构不匹配
- 多个工具调用:模型为结构化输出模式生成了 2+ 个工具调用
标准内容块
1.0 版本适用于大多数包。目前只有以下包支持新的内容块:
langchain@langchain/core@langchain/anthropic@langchain/openai
优势
- 提供方无关:使用相同的 API 访问推理跟踪、引用、内置工具(网络搜索、代码解释器等)和其他功能,而不管提供方如何
- 类型安全:所有内容块类型都有完整的类型提示
- 向后兼容:标准内容可以 延迟加载,因此没有相关的破坏性变更
简化的包
LangChain v1 简化了langchain 包命名空间,专注于智能体所需的基本构建块。该包仅公开最有用和相关的功能:
这些中的大多数是从 @langchain/core 重新导出的,以提供便利,这为你提供了构建智能体的专注 API 表面。
@langchain/classic
遗留功能已移至 @langchain/classic 以保持核心包精简和专注。
@langchain/classic 中包含的内容
- 遗留链和链实现
- 检索器
- 修复损坏模型输出的输出解析器(例如
OutputFixingParser) - 索引 API
@langchain/community导出- 其他已弃用的功能
@langchain/classic:
报告问题
请在 GitHub 上报告 1.0 中发现的任何问题,使用'v1' 标签。
其他资源
LangChain 1.0
阅读公告
Middleware guide
深入研究中间件
Agents Documentation
完整智能体文档
Message Content
新内容块 API
Migration guide
如何迁移到 LangChain v1
GitHub
报告问题或贡献
参见
官方原文:src/oss/javascript/releases/langchain-v1.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。