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
定義したツールを表すオブジェクトで、エージェントに追加可能な状態です。