createAgent
在 LangChain 中构建智能体的新标准方法,以更简洁、更强大的 API 取代了 LangGraph 中的
createReactAgent。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 函数实现以下任意钩子来构建自定义中间件:
| 钩子 | 运行时机 | 用例 |
|---|---|---|
beforeAgent | 在调用智能体之前 | 加载记忆,验证输入 |
beforeModel | 在每次 LLM 调用之前 | 更新提示,修剪消息 |
wrapModelCall | 围绕每次 LLM 调用 | 拦截和修改请求/响应 |
wrapToolCall | 围绕每次工具调用 | 拦截和修改工具执行 |
afterModel | 在每次 LLM 响应之后 | 验证输出,应用防护栏 |
afterAgent | 在智能体完成之后 | 保存结果,清理 |

基于 LangGraph 构建
由于createAgent 基于 LangGraph 构建,您自动获得对长期运行和可靠智能体的内置支持,包括:
Persistence
通过内置检查点功能,对话自动在不同会话间持久化
Streaming
实时流式传输令牌、工具调用和推理轨迹
Human-in-the-loop
在敏感操作前暂停智能体执行以等待人工批准
Time travel
将会话回退到任意时间点,并探索替代路径和提示
结构化输出
createAgent 改进了结构化输出的生成:
- 主循环集成:结构化输出现在在主循环中生成,无需额外的 LLM 调用
- 结构化输出策略:模型可以在调用工具和使用提供商端结构化输出生成之间进行选择
- 成本降低:消除了额外 LLM 调用带来的额外开销
ToolStrategy 的 handleErrors 参数控制错误处理:
- 解析错误:模型生成的数据与所需结构不匹配
- 多个工具调用:模型为结构化输出模式生成了 2 个或更多工具调用
标准内容块
大多数包的 1.0 版本已可用。目前仅以下包支持新的内容块:
langchain@langchain/core@langchain/anthropic@langchain/openai
优势
- 提供商无关:使用相同的 API 访问推理轨迹、引用、内置工具(网络搜索、代码解释器等)以及其他功能,无论提供商是谁
- 类型安全:所有内容块类型都有完整的类型提示
- 向后兼容:标准内容可以延迟加载,因此没有相关的破坏性变更
简化包
LangChain v1 简化了langchain 包的命名空间,专注于智能体的核心构建模块。该包仅暴露最有用和最相关的功能:
为了方便起见,其中大部分是从 @langchain/core 重新导出的,这为您提供了一个用于构建智能体的集中 API 界面。
@langchain/classic
遗留功能已移至 @langchain/classic,以保持核心包的轻量和专注。
@langchain/classic 包含的内容
- 遗留链和链实现
- 检索器
- 索引 API
@langchain/community导出- 其他已弃用的功能
@langchain/classic:
报告问题
请在 GitHub 上使用'v1' 标签报告发现的任何 1.0 版本问题。
额外资源
LangChain 1.0
阅读公告
Middleware Guide
深入探讨中间件
Agents Documentation
完整的智能体文档
Message Content
新的内容块 API
Migration guide
如何迁移到 LangChain v1
GitHub
报告问题或贡献代码