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

# 智能体

在 Xpert AI 平台中，**Agent 节点** 是一种具有高度自主性和灵活性的组件，主要负责执行特定任务并协调不同的子任务、工具、知识库或外部专家的调用。

<img src="https://mintcdn.com/xpertai/CUk-Ab9Rv7YWeJmd/public/img/ai/workflow/agent.png?fit=max&auto=format&n=CUk-Ab9Rv7YWeJmd&q=85&s=63e5717fc9a4baf2a918427fdd067b10" alt="agent node" width="2426" height="1612" data-path="public/img/ai/workflow/agent.png" />

## 核心功能

### 子智能体和工具调用

* **自动选择子智能体**：Agent 可以基于输入的需求和任务类型自动选择合适的子智能体（Sub-Agents）进行任务处理。子智能体是针对特定任务的执行模块，能够帮助实现复杂的功能。
* **工具支持**：Agent 可以使用不同的工具（Tools）来辅助任务执行，例如执行计算、查询数据库、发送信息等。

### 知识库与外部数字专家

* **知识库调用**：Agent 能够查询内部知识库以获取背景信息、规则或决策支持，提升任务执行的准确性和智能化。
* **外部专家支持**：当任务涉及特定领域或外部资源时，Agent 可以调用外部专家（External Experts）或API服务来获取最新的信息或技术支持。

### 智能决策与自动化

* **任务自动化**：Agent 根据任务的需求和已有的数据做出智能决策，自动选择最合适的处理方式，减少人工干预。
* **多任务并行**：支持并行执行多个任务，提升效率和响应速度。

### 自我优化和适应性

* **学习与优化**：Agent 节点通过实时反馈和历史数据不断优化自己的行为，提高任务处理的效率和准确性。
* **灵活适应**：根据环境变化和用户需求，Agent 能够灵活调整其任务处理方式，适应不同的业务场景。

## 参数

智能体（Agent）的 **自定义参数** 功能允许用户为 Agent 定义多个参数，调用时传入特定的参数值，从而灵活调整 Agent 的行为。

### 主要功能

1. **定义参数**：用户为 Agent 创建自定义参数，如字符串、整数等，来指定任务所需的不同输入。
2. **动态填充**：调用者根据需求传入参数值，影响任务执行的逻辑和结果。
3. **后续使用**：传入的参数值可以在任务执行过程中用作 prompt 或变量，确保 Agent 生成个性化响应。
4. **默认值与校验**：若未提供参数，Agent 会使用默认值，并进行参数校验，确保正确性。

### 应用场景

* **任务管理**：根据任务的优先级和时间动态调整执行。
* **通知系统**：根据传入的参数决定通知方式和接收者。
* **报告生成**：根据日期范围和类型生成定制化报告。

## 节点属性

* **敏感** 设置节点为敏感，在调用此节点前执行流程会被打断，等待人工确认后才会继续执行。详见 [人机协同](/docs/ai/xpert/human-in-the-loop)
* **终点** 设置节点为终点，表示此节点所在流程的结束节点，此节点执行完成后即结束本流程的执行，返回到调用方。详见 [执行终点](../terminal/)
* **禁用输出** 禁用此 Agent 节点的字符输出到用户对话框中。
* **并行工具调用** 允许 Agent 节点并行调用多个工具，提升任务执行效率（仅部分 LLM 支持此能力如 OpenAI）。

## 消息历史

启用消息历史功能后，Agent 节点在执行过程中会使用消息历史记录的数据，以便更好地理解用户的意图和上下文，提高任务处理的准确性和智能化。

如果不启用消息历史，用户可以添加自定义 human 消息，以模拟用户的输入，帮助 Agent 节点执行任务。

## 结构化输出

用户可以为 Agent 节点定义结构化输出，以便将任务执行结果以特定格式返回给调用者，方便后续处理和分析。
结构化输出仅在 Agent 节点未使用下级智能体和工具以及知识库等调用时才能生效，并且非所有模型都支持结构化输出。

<img src="https://mintcdn.com/xpertai/KjFE_c3zPYs4Z9GJ/public/img/ai/workflow/structured-output.png?fit=max&auto=format&n=KjFE_c3zPYs4Z9GJ&q=85&s=79f23bcebe2cf9dfbacb088211b2142c" alt="Structured output" width="1832" height="1570" data-path="public/img/ai/workflow/structured-output.png" />

## 写入记忆

自定义将 Agent 节点的输出写入记忆（[会话变量](/docs/ai/workflow/variables/)），以便后续流程节点使用。
