> ## Documentation Index
> Fetch the complete documentation index at: https://langchain-docs-zh.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# LangChain v1 新功能

> LangChain v1 是一个专注的、生产就绪的构建智能体的基础框架。 我们围绕三个核心改进简化了框架：

**LangChain v1 是一个专注的、生产就绪的构建智能体的基础框架。** 我们围绕三个核心改进简化了框架：

> [card] [createAgent](#createagent)
>
> 一种新的构建智能体的标准方式，用更简洁、更强大的 API 替换了 `createReactAgent` 中的 LangGraph。

> [card] [Standard content blocks](#standard-content-blocks)
>
> 一个新的 `contentBlocks` 属性，为所有提供方提供统一的现代 LLM 功能访问。

> [card] [Simplified package](#simplified-package)
>
> `langchain` 包已被简化，专注于智能体所需的基本构建块，而遗留功能已移至 `@langchain/classic`。

要升级，

```bash npm theme={null}
npm install langchain @langchain/core
```

```bash pnpm theme={null}
pnpm install langchain @langchain/core
```

```bash yarn theme={null}
yarn add langchain @langchain/core
```

```bash bun theme={null}
bun add langchain @langchain/core
```

有关完整变更列表，请参阅 [迁移指南](https://langchain-docs-zh.mintlify.site/langchain/oss/migrate/langchain-v1.md)。

## `createAgent`

`createAgent` 是 LangChain 1.0 中构建智能体的标准方式。它比从 LangGraph 导出的预构建 `createReactAgent` 提供更简单的接口，同时通过使用中间件提供了更大的定制潜力。

```ts theme={null}
import { createAgent } from "langchain";

const agent = createAgent({
  model: "claude-sonnet-4-6",
  tools: [getWeather],
  systemPrompt: "You are a helpful assistant.",
});

const result = await agent.invoke({
  messages: [
    { role: "user", content: "What is the weather in Tokyo?" },
  ],
});

console.log(result.content);
```

在底层，`createAgent` 基于基本的智能体循环构建——调用模型，让它选择要执行的工具，然后在它不再调用任何工具时结束：

![核心智能体循环图](https://mintcdn.com/langchain-docs-zh/GwyUNaaRzl5kP0v2/langchain/oss/images/core_agent_loop.png?fit=max\&auto=format\&n=GwyUNaaRzl5kP0v2\&q=85\&s=62c5cef860e506ed6212cc2502a302df)

有关更多信息，请参阅 [智能体](https://langchain-docs-zh.mintlify.site/langchain/oss/langchain/agents.md)。

### 中间件

中间件是 `createAgent` 的定义性特征。它使 `createAgent` 高度可定制，提高了你能构建的内容上限。

优秀的智能体需要 [上下文工程](https://langchain-docs-zh.mintlify.site/langchain/oss/langchain/context-engineering.md)：在正确的时间将正确信息传递给模型。中间件帮助你通过可组合的抽象控制动态提示词、对话摘要、选择性工具访问、状态管理和护栏。

#### 预构建的中间件

LangChain 为常见模式提供了几个 [预构建的中间件](https://langchain-docs-zh.mintlify.site/langchain/oss/langchain/middleware/built-in.md)，包括：

* `summarizationMiddleware`：当对话历史过长时压缩对话历史
* `humanInTheLoopMiddleware`：对敏感工具调用要求批准
* `piiRedactionMiddleware`：在发送到模型之前编辑敏感信息

```ts theme={null}
import {
  createAgent,
  summarizationMiddleware,
  humanInTheLoopMiddleware,
  piiRedactionMiddleware,
} from "langchain";

const agent = createAgent({
  model: "claude-sonnet-4-6",
  tools: [readEmail, sendEmail],
  middleware: [
    piiRedactionMiddleware({ patterns: ["email", "phone", "ssn"] }),
    summarizationMiddleware({
      model: "claude-sonnet-4-6",
      trigger: { tokens: 500 },
    }),
    humanInTheLoopMiddleware({
      interruptOn: {
        sendEmail: {
          allowedDecisions: ["approve", "edit", "reject"],
        },
      },
    }),
  ],
});
```

#### 自定义中间件

你也可以构建自定义中间件以满足特定需求。

通过使用 `createMiddleware` 函数实现这些钩子中的任何一种来构建自定义中间件：

| 钩子 | 运行时间 | 用例 |
| - | - | - |
| `beforeAgent` | 调用智能体之前 | 加载记忆、验证输入 |
| `beforeModel` | 每次调用 LLM 之前 | 更新提示词、修剪消息 |
| `wrapModelCall` | 每次调用 LLM 期间 | 中断并修改请求/响应 |
| `wrapToolCall` | 每次调用工具期间 | 中断并修改工具执行 |
| `afterModel` | 每次LLM响应后 | 验证输出、应用护栏 |
| `afterAgent` | 智能体完成后 | 保存结果、清理 |

![中间件流程图](https://mintcdn.com/langchain-docs-zh/GwyUNaaRzl5kP0v2/langchain/oss/images/middleware_final.png?fit=max\&auto=format\&n=GwyUNaaRzl5kP0v2\&q=85\&s=b1ebcea2ef7ae760ba826b67f2d5f38f)

自定义中间件示例：

```ts theme={null}
import { createMiddleware } from "langchain";

const contextSchema = z.object({
  userExpertise: z.enum(["beginner", "expert"]).default("beginner"),
})

const expertiseBasedToolMiddleware = createMiddleware({
  wrapModelCall: async (request, handler) => {
    const userLevel = request.runtime.context.userExpertise;
    if (userLevel === "expert") {
      const tools = [advancedSearch, dataAnalysis];
      return handler(
        request.replace("openai:gpt-5.5", tools)
      );
    }
    const tools = [simpleSearch, basicCalculator];
    return handler(
      request.replace("openai:gpt-5-nano", tools)
    );
  },
});

const agent = createAgent({
  model: "claude-sonnet-4-6",
  tools: [simpleSearch, advancedSearch, basicCalculator, dataAnalysis],
  middleware: [expertiseBasedToolMiddleware],
  contextSchema,
});
```

有关更多信息，请参阅 [完整的中间件指南](https://langchain-docs-zh.mintlify.site/langchain/oss/langchain/middleware.md)。

### 基于 LangGraph 构建

由于 `createAgent` 基于 LangGraph，你将自动获得对长时间运行和可靠智能体的内置支持，通过：

> [card] Persistence
>
> 对话会话自动持久化，具有内置的检查点功能

> [card] Streaming
>
> 实时流式输出 Token、工具调用和推理跟踪

> [card] Human-in-the-loop
>
> 在执行敏感操作之前暂停智能体以供人工批准

> [card] Time travel
>
> 回放对话到任何时间点，并探索替代路径和提示词

你不需要学习 LangGraph 就能使用这些功能——它们开箱即用。

### 结构化输出

`createAgent` 改进了结构化输出生成：

* **主循环集成**：结构化输出现在在主循环中生成，而不是需要额外的 LLM 调用
* **结构化输出策略**：模型可以选择调用工具或使用提供方侧的结构化输出生成
* **成本降低**：消除了额外 LLM 调用的额外费用

```ts theme={null}
import { createAgent } from "langchain";
import * as z from "zod";

const weatherSchema = z.object({
  temperature: z.number(),
  condition: z.string(),
});

const agent = createAgent({
  model: "gpt-5.4-mini",
  tools: [getWeather],
  responseFormat: weatherSchema,
});

const result = await agent.invoke({
  messages: [
    { role: "user", content: "What is the weather in Tokyo?" },
  ],
});

console.log(result.structuredResponse);
```

**错误处理**：通过 `handleErrors` 参数到 `ToolStrategy` 控制错误处理：

* **解析错误**：模型生成的数据与期望的结构不匹配
* **多个工具调用**：模型为结构化输出模式生成了 2+ 个工具调用

***

## 标准内容块

> [!NOTE]
>
> 1.0 版本适用于大多数包。目前只有以下包支持新的内容块：
>
> * `langchain`
> * `@langchain/core`
> * `@langchain/anthropic`
> * `@langchain/openai`
>
> 更广泛的内容块支持计划中。

### 优势

* **提供方无关**：使用相同的 API 访问推理跟踪、引用、内置工具（网络搜索、代码解释器等）和其他功能，而不管提供方如何
* **类型安全**：所有内容块类型都有完整的类型提示
* **向后兼容**：标准内容可以 [延迟加载](https://langchain-docs-zh.mintlify.site/langchain/oss/langchain/messages.md#标准内容块)，因此没有相关的破坏性变更

有关更多信息，请参阅我们的 [内容块指南](https://langchain-docs-zh.mintlify.site/langchain/oss/langchain/messages.md#消息内容)。

***

## 简化的包

LangChain v1 简化了 `langchain` 包命名空间，专注于智能体所需的基本构建块。该包仅公开最有用和相关的功能：

这些中的大多数是从 `@langchain/core` 重新导出的，以提供便利，这为你提供了构建智能体的专注 API 表面。

### `@langchain/classic`

遗留功能已移至 [`@langchain/classic`](https://www.npmjs.com/package/@langchain/classic) 以保持核心包精简和专注。

#### `@langchain/classic` 中包含的内容

* 遗留链和链实现
* 检索器
* 修复损坏模型输出的输出解析器（例如 `OutputFixingParser`）
* 索引 API
* [`@langchain/community`](https://www.npmjs.com/package/@langchain/community) 导出
* 其他已弃用的功能

如果你使用任何这些功能，请安装 [`@langchain/classic`](https://www.npmjs.com/package/@langchain/classic)：

```bash npm theme={null}
npm install @langchain/classic
```

```bash pnpm theme={null}
pnpm install @langchain/classic
```

```bash yarn theme={null}
yarn add @langchain/classic
```

```bash bun theme={null}
bun add @langchain/classic
```

然后更新你的导入：

```typescript theme={null}
import { ... } from "langchain"; // [!code --]
import { ... } from "@langchain/classic"; // [!code ++]

import { ... } from "langchain/chains"; // [!code --]
import { ... } from "@langchain/classic/chains"; // [!code ++]

import { OutputFixingParser } from "langchain/output_parsers"; // [!code --]
import { OutputFixingParser } from "@langchain/classic/output_parsers"; // [!code ++]
```

## 报告问题

请在 [GitHub](https://github.com/langchain-ai/langchainjs/issues) 上报告 1.0 中发现的任何问题，使用 [`'v1'` 标签](https://github.com/langchain-ai/langchainjs/issues?q=state%3Aopen%20label%3Av1)。

## 其他资源

> [card] [LangChain 1.0](https://blog.langchain.com/langchain-langchain-1-0-alpha-releases/)
>
> 阅读公告

> [card] [Middleware guide](https://blog.langchain.com/agent-middleware/)
>
> 深入研究中间件

> [card] [Agents Documentation](https://langchain-docs-zh.mintlify.site/langchain/oss/langchain/agents.md)
>
> 完整智能体文档

> [card] [Message Content](https://langchain-docs-zh.mintlify.site/langchain/oss/langchain/messages.md#消息内容)
>
> 新内容块 API

> [card] [Migration guide](https://langchain-docs-zh.mintlify.site/langchain/oss/migrate/langchain-v1.md)
>
> 如何迁移到 LangChain v1

> [card] [GitHub](https://github.com/langchain-ai/langchainjs)
>
> 报告问题或贡献

## 参见

* [版本管理](https://langchain-docs-zh.mintlify.site/langchain/oss/versioning.md) – 理解版本号
* [发布策略](https://langchain-docs-zh.mintlify.site/langchain/oss/release-policy.md) – 详细发布策略

***

> 官方原文：[src/oss/javascript/releases/langchain-v1.mdx](https://github.com/langchain-ai/docs/blob/main/src/oss/javascript/releases/langchain-v1.mdx) · 非官方翻译，译文由 AI 生成，以英文原文为准。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.