メインコンテンツへ移動

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 が使用するものと同じ宣言的なエントリにシリアライズされます。保存と復元の間で維持されるのは retriesmetadata のみです。関数値の scorers オプションがある場合、Workflow の保存時にエラーがスローされます。