mirror of
https://github.com/simstudioai/sim.git
synced 2026-02-01 10:14:56 -05:00
108 lines
4.0 KiB
Plaintext
108 lines
4.0 KiB
Plaintext
---
|
||
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)** - 设置不同的方式来运行您的工作流
|