ツールの説明文が、モデルの目になる
ツール1つの定義は、だいたいこの形です。
json{
"name": "searchFlights",
"title": "航空券を探す",
"description": "出発地・到着地・日付から空席を検索する",
"inputSchema": {
"type": "object",
"properties": {
"origin": { "type": "string", "description": "出発都市" },
"destination": { "type": "string", "description": "到着都市" },
"date": { "type": "string", "format": "date" }
},
"required": ["origin", "destination", "date"]
}
}
入力の形は JSON Schema で書きます。型が決まるので、クライアントが呼び出し前に検証できます。
そして最重要なのが description です。モデルはこの文章だけを見て、使うかどうかを決めます。 コードの中身は見えていません。
- 名前は具体的に。calculate より calculator_arithmetic
- 説明には「何をするか」だけでなく「どんなときに使うか」を書く
- 引数1つ1つにも説明を付ける
説明文の質が、そのままツールの使われ方の質になります。ここは手を抜くところではありません。