Workflow.tool()
.tool() メソッドは、Tool を宣言的なステップとして追加します。Tool 自身の入出力スキーマが適用されるため、前のステップの出力は Tool の入力スキーマを満たす必要があります。一致しない場合は、.map() を使用してデータを変換します。
Tool を createStep() でラップする場合とは異なり、.tool() は Workflow グラフに宣言的なエントリを記録します。これにより Workflow は移植可能になり、同じグラフをシリアライズして動的 Workflow として永続化できます。
使用例使用例への直接リンク
workflow.tool(testTool).commit();
パラメーターパラメーターへの直接リンク
toolOrId:
Tool | string
Tool インスタンス、または Mastra インスタンスに登録されている Tool の ID。ID を渡した場合、実行時にレジストリから Tool が解決されます。
options?:
{ retries?: number, scorers?: DynamicArgument<MastraScorers>, metadata?: StepMetadata }
Tool ステップの、ステップレベルの再試行回数、Scorer、metadata。
stepOptions?:
{ id?: string }
Workflow 内でのステップの呼び出し位置 ID。デフォルトは Tool の ID です。同じ Workflow 内に同じ Tool が複数回登場する場合に設定します。
戻り値戻り値への直接リンク
workflow:
Workflow
メソッドチェーンに使用する Workflow インスタンス
ID で Tool を参照するID で Tool を参照するへの直接リンク
登録済みの Tool をインポートせずに参照するには、文字列を渡します。Workflow の実行時に、その Tool が Mastra インスタンスへ登録されている必要があります。
workflow.tool("lookup-customer", { retries: 2 }).commit();
Tool ステップを永続化するTool ステップを永続化するへの直接リンク
.tool() で構築した Workflow は、動的 Workflow が使用するものと同じ宣言的なエントリにシリアライズされます。保存と復元の間で維持されるのは retries と metadata のみです。関数値の scorers オプションがある場合、Workflow の保存時にエラーがスローされます。