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:
报告问题
请将在 1.0 版本中发现的任何问题,在 GitHub 上使用'v1' 标签 进行报告。
其他资源
LangChain 1.0
阅读公告
Middleware Guide
深入探索中间件
Agents Documentation
完整的智能体文档
Message Content
新的内容块 API
Migration guide
如何迁移到 LangChain v1
GitHub
报告问题或贡献代码