---
title: 基础
---

import { Callout } from 'fumadocs-ui/components/callout'
import { Card, Cards } from 'fumadocs-ui/components/card'
import { Image } from '@/components/ui/image'

了解 Sim 中工作流的执行方式是构建高效且可靠自动化的关键。执行引擎会自动处理依赖关系、并发性和数据流，以确保您的工作流平稳且可预测地运行。

## 工作流如何执行

Sim 的执行引擎通过分析依赖关系，以最有效的顺序智能地处理工作流。

### 默认并发执行

当多个块之间没有依赖关系时，它们会并发运行。这种并行执行显著提高了性能，无需手动配置。

<Image
  src="/static/execution/concurrency.png"
  alt="多个块在起始块之后并发运行"
  width={800}
  height={500}
/>

在此示例中，客户支持和深度研究代理块在起始块之后同时执行，从而最大化效率。

### 自动输出合并

当块具有多个依赖关系时，执行引擎会自动等待所有依赖完成，然后将它们的输出合并提供给下一个块。无需手动合并。

<Image
  src="/static/execution/combination.png"
  alt="函数块自动接收来自多个前置块的输出"
  width={800}
  height={500}
/>

函数块在两个代理块完成后接收它们的输出，从而可以处理合并的结果。

### 智能路由

工作流可以通过路由块向多个方向分支。执行引擎支持确定性路由（使用条件块）和 AI 驱动的路由（使用路由器块）。

<Image
  src="/static/execution/routing.png"
  alt="显示条件分支和基于路由器的分支的工作流"
  width={800}
  height={500}
/>

此工作流演示了如何根据条件或 AI 决策沿不同路径执行，每条路径独立运行。

## 块类型

Sim 提供了不同类型的块，用于在工作流中实现特定功能：

<Cards>
  <Card title="触发器" href="/triggers">
    **启动块**用于启动工作流，**Webhook 块**响应外部事件。每个工作流都需要一个触发器来开始执行。
  </Card>
  
  <Card title="处理块" href="/blocks">
    **代理块**与 AI 模型交互，**功能块**运行自定义代码，**API 块**连接到外部服务。这些块用于转换和处理数据。
  </Card>
  
  <Card title="控制流" href="/blocks">
    **路由器块**使用 AI 选择路径，**条件块**基于逻辑进行分支，**循环/并行块**处理迭代和并发。
  </Card>
  
  <Card title="输出与响应" href="/blocks">
    **响应块**为 API 和聊天界面格式化最终输出，从工作流中返回结构化结果。
  </Card>
</Cards>

所有块都会根据其依赖关系自动执行——您无需手动管理执行顺序或时间。

## 执行监控

在工作流运行时，Sim 提供对执行过程的实时可见性：

- **实时块状态**：查看哪些块正在执行、已完成或失败
- **执行日志**：实时显示详细日志，包括输入、输出和任何错误
- **性能指标**：跟踪每个块的执行时间和成本
- **路径可视化**：了解工作流中采取了哪些执行路径

<Callout type="info">
  所有执行详情都会被捕获并在工作流完成后可供查看，有助于调试和优化。
</Callout>

## 关键执行原则

理解这些核心原则将帮助您构建更好的工作流：

1. **基于依赖的执行**：块仅在其所有依赖项完成后运行
2. **自动并行化**：独立的块无需配置即可并发运行
3. **智能数据流**：输出会自动流向连接的块
4. **错误处理**：失败的块会停止其执行路径，但不会影响独立路径
5. **状态持久性**：所有块的输出和执行详情都会被保留以便调试

## 下一步

现在您已经了解了执行基础知识，可以探索：
- **[块类型](/blocks)** - 了解特定块的功能
- **[日志记录](/execution/logging)** - 监控工作流执行并调试问题
- **[成本计算](/execution/costs)** - 理解并优化工作流成本
- **[触发器](/triggers)** - 设置不同的方式来运行您的工作流
