順次実行
多くのワークフローでは、定義された順序でステップを次々と実行することが含まれます。この例では、.then()
を使用して、あるステップの出力が次のステップの入力になる単純な順次ワークフローを構築する方法を示します。
ステップを使用した順次実行
この例では、ワークフローがstep1
とstep2
を順次実行し、各ステップを通じて入力を渡し、step2
から最終結果を返します。
src/mastra/workflows/example-sequential-steps.ts
import { createWorkflow, createStep } from "@mastra/core/workflows";
import { z } from "zod";
const step1 = createStep({
id: "step-1",
description: "入力から出力に値を渡す",
inputSchema: z.object({
value: z.number()
}),
outputSchema: z.object({
value: z.number()
}),
execute: async ({ inputData }) => {
const { value } = inputData;
return {
value
};
}
});
const step2 = createStep({
id: "step-2",
description: "入力から出力に値を渡す",
inputSchema: z.object({
value: z.number()
}),
outputSchema: z.object({
value: z.number()
}),
execute: async ({ inputData }) => {
const { value } = inputData;
return {
value
};
}
});
export const sequentialSteps = createWorkflow({
id: "sequential-workflow",
inputSchema: z.object({
value: z.number()
}),
outputSchema: z.object({
value: z.number()
})
})
.then(step1)
.then(step2)
.commit();