# 理解步骤 步骤是工作流的构建块。每个步骤都是一个自包含的单元,它接收一些输入,处理输入,并产生输出。 ## 什么是步骤? 一个步骤有三个主要部分: 1. **输入模式** - 它期望接收的数据 2. **输出模式** - 它将产生的数据 3. **执行函数** - 将输入转换为输出的逻辑 ## 步骤结构 每个步骤都遵循这个模式: ```typescript const myStep = createStep({ id: "unique-step-name", description: "What this step does", inputSchema: z.object({ // 定义预期的输入结构 }), outputSchema: z.object({ // 定义输出结构 }), execute: async ({ inputData }) => { // 你的逻辑在这里 return { // 返回符合输出模式的数据 }; }, }); ``` ## 为什么要使用模式? 模式提供了几个好处: - **类型安全**:TypeScript 确切地知道数据如何在步骤之间流动 - **运行时验证**:无效数据会立即被捕获,并显示有用的错误消息 - **文档**:模式作为工作流的活文档 - **调试**:清晰的契约使问题识别变得容易 ## 关键优势 - **可复用**:步骤可以在多个工作流中使用 - **可测试**:每个步骤都可以独立测试 - **可组合**:步骤可以以不同方式组合 - **可靠**:模式及早捕获数据流问题 - **可追踪**:每个步骤都会被追踪,因此您可以看到数据流 接下来,您将创建您的第一个步骤!