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

# 助手

*助手* 是 [代理服务器](/langsmith/agent-server) 的一个概念，允许您将配置（例如，提示词、LLM 选择、工具）与图的核心逻辑分开管理。这使您能够创建同一图架构的多个专用版本，在运行时具有不同的行为。通过配置变化（而非结构性的图更改），每个助手针对不同的[用例](#用例)进行了优化。

例如，想象一个基于通用图架构构建的通用写作代理。虽然结构保持不变，但不同的写作风格——如博客文章和推文——需要定制的配置来优化性能。为了支持这些变化，您可以创建多个助手（例如，一个用于博客，另一个用于推文），它们共享底层图，但在模型选择和系统提示词上有所不同。

<img src="https://mintcdn.com/other-405835d4/U_V3brHb6y_62TSF/langsmith/images/assistants.png?fit=max&auto=format&n=U_V3brHb6y_62TSF&q=85&s=01fdcb16a28eed94793133be2b4e64eb" alt="助手版本" width="1824" height="692" data-path="langsmith/images/assistants.png" />

代理服务器 API 提供了多个端点来创建和管理助手及其版本。更多详情请参阅 [API 参考](/langsmith/server-api-ref)。

<Info>
  助手是 [LangSmith 部署](/langsmith/deployment) 的一个概念。它们在开源 LangGraph 库中不可用。
</Info>

## 默认助手

当您使用 LangSmith 部署部署一个图时，[代理服务器](/langsmith/agent-server) 会自动创建一个与该图默认配置绑定的**默认助手**。然后，您可以为同一图创建额外的助手，每个助手都有自己的配置。

如果您的部署在 [`langgraph.json`](/langsmith/application-structure#configuration-file) 中定义了多个图，每个图都会获得自己的默认助手：

```json theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
{
    "graphs": {
        "graph_id_1": "path_to_graph_id_1",  // 为 graph_id_1 创建的默认助手
        "graph_id_2": "path_to_graph_id_2"   // 为 graph_id_2 创建的默认助手
    }
}
```

助手具有几个关键特性：

* **[通过 API 和 UI 管理](/langsmith/configuration-cloud)**：使用代理服务器/LangGraph SDK 或 [LangSmith UI](https://smith.langchain.com) 创建、列出、更新、版本控制和获取助手。
* **一个图，多个助手**：单个部署的图可以支持多个助手，每个助手具有不同的配置（例如，提示词、模型、工具）。
* **[版本化](#版本控制)配置**：每个助手通过版本控制维护自己的配置历史。编辑助手会创建一个新版本，您可以提升或回滚到任何版本。
* **无需更改图即可更新[配置](#配置)**：通过助手配置更新提示词、模型选择和其他设置，无需修改或重新部署图代码即可实现快速迭代。

<Note>
  调用助手时，您可以在 [`langgraph.json`](/langsmith/agent-server-api/thread-runs/create-background-run#body-assistant-id-one-of-0) 中指定：

  * **图 ID**（`langgraph.json` 中的键，例如 `"agent"`）：使用该图的默认助手。
  * **助手 ID**（UUID）：使用特定的助手配置。

  这种灵活性允许您使用默认设置快速测试，或精确控制使用哪个配置。
</Note>

## 配置

助手建立在 LangGraph 开源概念 [配置](/oss/python/langgraph/graph-api#runtime-context) 的基础上。

虽然配置在开源 LangGraph 库中可用，但助手仅存在于 [LangSmith 部署](/langsmith/deployments) 中，因为它们与您部署的图紧密耦合。部署时，[代理服务器](/langsmith/agent-server) 将使用图的默认配置设置自动为每个图创建一个默认助手。

实际上，助手只是具有特定配置的图的一个\_实例\_。因此，多个助手可以引用同一个图，但可以包含不同的配置（例如，提示词、模型、工具）。LangSmith 部署 API 提供了多个端点来创建和管理助手。有关如何创建助手的更多详情，请参阅 [API 参考](/langsmith/server-api-ref) 和[此操作指南](/langsmith/configuration-cloud)。

### 用例

当您需要以不同的配置部署相同的图架构时，助手是理想的选择。常见用例包括：

* **用户级个性化**
  * 为每个用户自定义模型选择、系统提示词或工具可用性。
  * 存储用户偏好并自动应用于每次交互。
  * 允许用户在不同的 AI 个性或专业水平之间进行选择。

* **客户或组织特定配置**
  * 为不同的客户或组织维护单独的配置。
  * 为每个客户端自定义行为，无需部署单独的基础设施。
  * 将配置更改隔离到特定客户。

```mermaid actions={false} theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
graph TD
    A["图: agent<br/>(已部署)"]
    A --> B["客户 A 助手<br/>━━━━━━━━━━━━━<br/>模型: GPT-4<br/>语气: 法律<br/>工具: 自定义"]
    A --> C["客户 B 助手<br/>━━━━━━━━━━━━━<br/>模型: Claude<br/>语气: 随意<br/>工具: 标准"]
    A --> D["客户 C 助手<br/>━━━━━━━━━━━━━<br/>模型: GPT-3.5<br/>语气: 正式<br/>工具: 有限"]

    style A fill:#E5F4FF,stroke:#006DDD,stroke-width:3px,color:#030710
    style B fill:#B3E0F2,stroke:#4A90E2,stroke-width:2px,color:#1E3A5F
    style C fill:#B3E0F2,stroke:#4A90E2,stroke-width:2px,color:#1E3A5F
    style D fill:#B3E0F2,stroke:#4A90E2,stroke-width:2px,color:#1E3A5F
```

* **环境特定配置**
  * 为开发、预生产和生产环境使用不同的模型或设置。
  * 在预生产环境中测试配置更改，然后再推广到生产环境。
  * 在非生产环境中使用较小的模型以降低成本。

* **A/B 测试和实验**
  * 比较不同的提示词、模型或参数设置。
  * 逐步向部分用户推出配置更改。
  * 衡量配置变体之间的性能差异。

* **专用任务变体**
  * 创建通用代理的领域特定版本。
  * 为不同的语言、地区或行业优化配置。
  * 在保持图逻辑一致的同时改变执行细节。

```mermaid actions={false} theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
graph TD
    A["图: writing-agent<br/>(已部署)"]
    A --> B["博客助手<br/>━━━━━━━━━━━━━<br/>模型: GPT-4<br/>语气: 正式<br/>风格: 长篇<br/>工具: SEO 优化"]
    A --> C["推文助手<br/>━━━━━━━━━━━━━<br/>模型: GPT-4-mini<br/>语气: 随意<br/>风格: 280 字符限制<br/>工具: 话题标签建议"]
    A --> D["邮件助手<br/>━━━━━━━━━━━━━<br/>模型: GPT-4<br/>语气: 专业<br/>风格: 中等长度<br/>工具: 模板"]

    style A fill:#E5F4FF,stroke:#006DDD,stroke-width:3px,color:#030710
    style B fill:#B3E0F2,stroke:#4A90E2,stroke-width:2px,color:#1E3A5F
    style C fill:#B3E0F2,stroke:#4A90E2,stroke-width:2px,color:#1E3A5F
    style D fill:#B3E0F2,stroke:#4A90E2,stroke-width:2px,color:#1E3A5F
```

## 助手如何与部署协同工作

当您使用 LangSmith 部署部署一个图时，[代理服务器](/langsmith/agent-server) 会自动创建一个与该图默认配置绑定的**默认助手**。然后，您可以为同一图创建额外的助手，每个助手都有自己的配置。

如果您的部署在 [`langgraph.json`](/langsmith/application-structure#configuration-file) 中定义了多个图，每个图都会获得自己的默认助手：

```json theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
{
    "graphs": {
        "graph_id_1": "path_to_graph_id_1",  // 为 graph_id_1 创建的默认助手
        "graph_id_2": "path_to_graph_id_2"   // 为 graph_id_2 创建的默认助手
    }
}
```

也就是说，可以有多个默认助手——为部署中定义的每个图一个。

助手具有几个关键特性：

* **[通过 API 和 UI 管理](/langsmith/configuration-cloud)**：使用代理服务器/LangGraph SDK 或 [LangSmith UI](https://smith.langchain.com) 创建、列出、更新、版本控制和获取助手。
* **一个图，多个助手**：单个部署的图可以支持多个助手，每个助手具有不同的配置（例如，提示词、模型、工具）。
* **[版本化](#版本控制)配置**：每个助手通过版本控制维护自己的配置历史。编辑助手会创建一个新版本，您可以提升或回滚到任何版本。
* **无需更改图即可更新[配置](#配置)**：通过助手配置更新提示词、模型选择和其他设置，无需修改或重新部署图代码即可实现快速迭代。

<Note>
  调用助手时，您可以在 [`langgraph.json`](/langsmith/application-structure#configuration-file) 中指定：

  * **图 ID**（例如 `"agent"`）：使用该图的默认助手
  * **助手 ID**（UUID）：使用特定的助手配置

  这种灵活性允许您使用默认设置快速测试，或精确控制使用哪个配置。
</Note>

### 配置

助手建立在 LangGraph 开源概念 [配置](/oss/python/langgraph/graph-api#runtime-context) 的基础上。

虽然配置在开源 LangGraph 库中可用，但助手仅存在于 [LangSmith 部署](/langsmith/deployment) 中，因为它们与您部署的图紧密耦合。部署时，[代理服务器](/langsmith/agent-server) 将使用图的默认配置设置自动为每个图创建一个默认助手。

实际上，助手只是具有特定配置的图的一个\_实例\_。因此，多个助手可以引用同一个图，但可以包含不同的配置（例如，提示词、模型、工具）。LangSmith 部署 API 提供了多个端点来创建和管理助手。有关如何创建助手的更多详情，请参阅 [API 参考](/langsmith/server-api-ref) 和[此操作指南](/langsmith/configuration-cloud)。

### 版本控制

助手支持版本控制以跟踪随时间的变化。一旦创建了助手，后续的编辑将自动创建新版本。

* 每次更新都会创建助手的一个新版本。
* 您可以将任何版本提升为活动版本。
* 回滚到以前的版本就像将其设置为活动版本一样简单。
* 所有版本都保留以供参考和回滚。

<Warning>
  更新助手时，您必须提供完整的配置负载。更新端点从头开始创建新版本，不会与以前的版本合并。请确保包含您希望保留的所有配置字段。
</Warning>

有关如何管理助手版本的更多详情，请参阅[管理助手指南](/langsmith/configuration-cloud#create-a-new-version-for-your-assistant)。

***

<div className="source-links">
  <Callout icon="terminal-2">
    [将这些文档](/use-these-docs)通过 MCP 连接到 Claude、VSCode 等，以获取实时答案。
  </Callout>

  <Callout icon="edit">
    [在 GitHub 上编辑此页面](https://github.com/langchain-ai/docs/edit/main/src/langsmith/assistants.mdx) 或 [提交问题](https://github.com/langchain-ai/docs/issues/new/choose)。
  </Callout>
</div>
