createTool()
createTool()
関数は、Mastraエージェントが実行できるカスタムツールを定義するために使用されます。ツールはエージェントの機能を拡張し、外部システムとの対話、計算の実行、または特定のデータへのアクセスを可能にします。
使用例
src/mastra/tools/reverse-tool.ts
import { createTool } from "@mastra/core/tools";
import { z } from "zod";
export const tool = createTool({
id: "test-tool",
description: "入力文字列を反転します",
inputSchema: z.object({
input: z.string()
}),
outputSchema: z.object({
output: z.string()
}),
execute: async ({ context }) => {
const { input } = context;
const reversed = input.split("").reverse().join("");
return {
output: reversed
};
}
});
パラメータ
id:
string
ツールの一意識別子。
description:
string
ツールの機能説明。エージェントがツールを使用するタイミングを判断するために使用されます。
inputSchema?:
Zod schema
ツールの`execute`関数で想定される入力パラメータを定義するZodスキーマ。
outputSchema?:
Zod schema
ツールの`execute`関数で想定される出力構造を定義するZodスキーマ。
execute:
function
ツールのロジックを含む関数。`context`(`inputSchema`に基づいて解析された入力)、`runtimeContext`、および`abortSignal`を含むオブジェクトを受け取ります。
戻り値
createTool()
関数はTool
オブジェクトを返します。
Tool:
object
定義されたツールを表すオブジェクトで、エージェントに追加する準備ができています。