逐次実行
多くのワークフローでは、定められた順序でステップを順番に実行します。この例では、.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();