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