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

# 使用Flow进行工具编排

> 让 Flow 自动选择和编辑您的工具，以减少上下文使用并提高性能

<Info>
  **Flow** 是 Alter 的内置工具编排器。 Flow 并不是将所有启用的工具加载到每个请求中，而是充当单个工具，智能地将您的请求路由到正确的工具。
</Info>

<Warning>
  **首先启用工具** — Flow 只能使用您已在工具管理器中启用的工具。它不会自动启用禁用的工具。在使用 Flow 之前，请确保您需要的工具已打开。
</Warning>

## 为什么要使用流？

<CardGroup cols={3}>
  <Card title="节省上下文空间" icon="compress">
    流作为单个工具加载，而不是所有启用的工具，从而释放上下文窗口以容纳实际内容
  </Card>

  <Card title="更快的性能" icon="bolt">
    降低有效负载处理速度，并减少每个请求的延迟
  </Card>

  <Card title="节省合理使用预算" icon="scale-balanced">
    每个请求的代币越少意味着合理使用的方案配置的使用量越少
  </Card>
</CardGroup>

您启用的每个工具都会占用上下文窗口中的空间。当您启用10个​​多个工具时，这会显着影响性能。流通过充当协调所有其他工具的单一工具来解决这个问题。

***

## 启用流

<Steps>
  <Step title="打开设置">
    按 **⌘ ,**（Command + 注释）或单击菜单中的 **设置**
  </Step>

  <Step title="转到 Tool 经理">
    导航到**工具管理器**选项卡
  </Step>

  <Step title="启用 Flow">
    在**本地工具 > 更改**下，打开**流程**
  </Step>
</Steps>

<Note>
  请记住：Flow 只能编排已启用的工具。除 Flow 本身之外，还启用您需要的特定工具（日历、Gmail、Slack 等）。
</Note>

***

## 流程如何运作

当您在启用 Flow 的情况下发送请求时，将遵循以下流程：

<Steps>
  <Step title="分析">
    流程分析您的请求以了解您想要完成的任务
  </Step>

  <Step title="选择">
    从您启用的工具中选择适合任务的工具
  </Step>

  <Step title="执行">
    流程按顺序执行工具调用，根据需要在步骤之间传送数据
  </Step>

  <Step title="总结">
    结果被浓缩为简洁的响应，并保留关键数据点
  </Step>
</Steps>

***

## 示例

<Tabs>
  <Tab title="单Tool">
    **请求：**“我今天有什么会议？”

    自动流动：

    1. 认识到您需要日历信息
    2. 选择日历工具
    3. 检索您的会议

    无需手动选择日历工具 — Flow即可处理。
  </Tab>

  <Tab title="多Tool链">
    **请求：**“取消下午 3 点的会议并向与会者发送一封电子邮件，说明我生病了”

    自动流动：

    1. 使用 **日历** 工具查找下午 3 点的会议
    2. 识别会议参与者
    3. 使用 **Gmail** 工具撰写电子邮件
    4. 发送取消及说明

    全部集中在一种自然语言请求中。
  </Tab>

  <Tab title="随着转型">
    **请求：**“提取改变文档并实现关键功能”

    自动流动：
    1.使用Web工具获取文档内容
    2\. 使用`$1:Extract the key features and format as bullet points`转换原始HTML
    3.返回格式化的特征列表

    转换步骤仅提取相关信息。
  </Tab>
</Tabs>

***

## 何时使用流程与特定工具

<CardGroup cols={2}>
  <Card title="使用 Flow" icon="wand-magic-sparkles">
    <ul>
      <li>您不确定使用哪个工具</li>
      <li>您想要简单、自然的语言请求</li>
      <li>您启用了许多工具</li>
      <li>您正在执行复杂的多步骤任务</li>
    </ul>
  </Card>

  <Card title="使用特定的 Tool 操作" icon="bullseye">
    <ul>
      <li>您确切地知道您需要哪种工具</li>
      <li>您想要尽可能最快的执行</li>
      <li>您正在构建可重复的工作流程</li>
      <li>你需要可预测的、一致的行为</li>
    </ul>
  </Card>
</CardGroup>

<Note>
  \*\*90%规则：\*\*对于90%的任务，流程是最佳选择。只有当您需要优化、可重复的工作流程时才创建特定的工具操作。
</Note>

***

## 最佳实践：配置“询问任何内容”

**询问任何事情**操作是更改的默认操作 - 当您在提示框中输入内容而不选择特定操作时，会使用它。

<Steps>
  <Step title="打开动作编辑器">
    转到 **设置 > 操作**
  </Step>

  <Step title="查找询问任何问题">
    寻找 **“询问任何问题”** 操作
  </Step>

  <Step title="单击高级">
    展开**高级**部分
  </Step>

  <Step title="仅选择 Flow">
    在 **工具** 部分中，仅选择 **流程**（取消选择所有其他工具）
  </Step>

  <Step title="节省">
    保存您的更改
  </Step>
</Steps>

现在，您的默认交互将使用 Flow 的编排，而不是将所有启用的工具加载到每个请求中。

***

<AccordionGroup>
  <Accordion icon="link" title="高级：Tool 使用指令链接">
    当任务需要多个步骤时，Flow 会自动将工具链接在一起。可以使用 `$N` 语法在后续调用中引用一个工具的输出。

    ### 参考语法

    | 语法               | 描述             |
    | ---------------- | -------------- |
    | `$1`             | 步骤1的原始输出       |
    | `$2`             | 第2步的原始输出       |
    | `$N:instruction` | 使用指令转换步骤 N 的输出 |

    ### 转换示例

    抓取网站并格式化结果时：

    1. 流程使用网络工具获取内容
       2.应用转换：`$1:Extract the key frameworks and format as bullet points`
       3\. LLM在处理原始内容之前传递到下一个工具

    这使得 Flow 可以：

    * 从大量输出中仅提取相关信息
    * 为下一个工具适当整理数据
    * 减少后续步骤中的噪音
  </Accordion>

  <Accordion icon="memory" title="高级：智能上下文管理">
    流程包括一个内置的抽象步骤，可优化结果返回到对话的方式。

    ### 总结的作用是什么

    执行工具后，流程：

    1. **压缩输出** - 压缩详细的工具输出
       2\. **保留重要数据** — 保留ID、URL、引用和数据点
       3\. **提出关键观点** - 突出显示链接、想法和后续发现
       4\. **提供来源引用** — 使用 \[Step N] 符号进行追踪

    ### 为什么这很重要

    如果不进行总结，复杂的工作流程将使您的上下文窗口变得臃肿。到第 5 或第 6 回合，你就会达到代币限制。

    流程的总结保证：

    * **高效上下文** — 仅保留基本信息
    * **可行的回复** — 保留重要的数据点
    * **更好的性能** — 更少的上下文 = 更快的响应
    * **可追溯性** — \[步骤N] 引文验证信息来源

    ### 输出示例

    ```
        Task completed successfully.

        Key artifacts for next actions:
        - Meeting ID: 12345 [Step 1]
        - Attendees: alice@example.com, bob@example.com [Step 1]
        - Draft email prepared [Step 2]

        Important findings:
        - Meeting conflicts with another event at 3pm [Step 1]
        - Alice has an out-of-office message active [Step 2]
    ```
  </Accordion>
</AccordionGroup>

***

## 获得最佳效果的技巧

<CardGroup cols={3}>
  <Card title="具体一点" icon="pencil">
    <p><strong>好：</strong>“向工程频道发送一条Slack消息”</p>
    <p><strong>含糊：</strong>“给团队留言”</p>
    <p>特定请求帮助流程选择正确的工具。</p>
  </Card>

  <Card title="自然连锁" icon="link">
    Flow 可以很好地处理多步骤任务。 不要将复杂的请求拆分为多个提示 - 让 Flow 协调链。
  </Card>

  <Card title="审核结果" icon="eye">
    Flow 显示它正在使用哪些工具。如果它选择了错误，请更详细地重新重新记录您的请求。
  </Card>
</CardGroup>

***

## 故障排除

<AccordionGroup>
  <Accordion icon="xmark" title="Flow 选择错误 Tool">
    用更具体的细节重新表述您的请求：

    * **不是：**“检查我的消息”
      * **尝试：**“在通用频道中查看我未读的 Slack 消息”

    您的描述更加具体，流程能够将您的意图与正确的工具相匹配。
  </Accordion>

  <Accordion icon="question" title="Flow 找不到 Tool">
    确定工具是：

    * **在工具管理器中启用**（流程无法使用禁用的工具）
    * **配置正确**（例如，使用Gmail进行身份验证）
    * **不受您的操作设置限制**
  </Accordion>

  <Accordion icon="gauge-high" title="性能仍然缓慢">
    即使使用Flow，非常大的请求也可能会很慢。尝试：

    * 将非常复杂的任务分为 2-3 个步骤
    * 使用特定的工具操作来执行重复的任务
    * 仅启用工具管理器中的必要工具
  </Accordion>
</AccordionGroup>

***

## 相关文档

<CardGroup cols={3}>
  <Card title="Tool 经理指南" icon="toolbox" href="/how-to/tool-manager-guide">
    了解如何连接和管理您的工具
  </Card>

  <Card title="Tools 不工作" icon="wrench" href="/common-issues/tool-not-working">
    修复常见集成问题
  </Card>

  <Card title="Alter 行动" icon="play" href="/getting-started/core-features#alter-actions-workflows">
    构建自定义工具工作流程
  </Card>
</CardGroup>
