会員登録すると
学習することができます。
会員登録する(無料)
学習することができます。
登録済みの方はこちら
ログイン
学ぶ目的
ツール定義は3つで決まる
関数をAIに使わせるには、次の3つを伝えます。
| 項目 | 役割 |
|---|---|
name |
呼び出すときの識別子 |
description |
いつ使う道具なのかの説明 |
input_schema |
引数の形(JSON Schema) |
const weatherTool = {
name: "get_weather",
description:
"指定した都市の現在の気温を取得する。" +
"ユーザーが特定の場所の天気や気温を尋ねたときに使う。" +
"都市名は『東京』『Osaka』のように単一の地名で渡すこと。" +
"国や地域全体の平均気温には使えない。",
input_schema: {
type: "object",
properties: {
city: { type: "string", description: "都市名。例: 東京、大阪、Paris" },
},
required: ["city"],
},
};
description は仕様書ではなく、判断材料
AIは description を読んで「いま、この道具を使うべきか」を決めます。ここが弱いと、使ってほしい場面で使われなかったり、関係ない場面で呼ばれたりします。
良い説明に入れるもの:
- 何をするか(現在の気温を取得する)
- いつ使うか(ユーザーが特定の場所の天気を尋ねたとき)
- 引数の渡し方(単一の地名で渡す)
- 使えない場面(国全体の平均には使えない)
「使えない場面」を書くのは軽視されがちですが、誤用を防ぐ効き目が大きい部分です。
引数は狭く定義する
input_schema は受け取れるものを絞る場所です。文字列なら type: "string"、選択肢が決まっているなら enum を使います。広く取ると、AIは何でも渡してきます。
このレクチャーで学ぶこと
- name・description・input_schema の役割
- AIに選ばせる説明文の書き方
- 引数を狭く定義する理由
質問
まだ質問は投稿されていません。
質問投稿
ログイン後に質問の投稿ができます。