

# ツール呼び出しシステム


ツール呼び出しは、リクエストでツール設定スキーマを渡すことで Amazon Nova モデルで使用できます。モデルのプロンプトは、このツール設定で拡張されるため、ツール呼び出しシステムの最適化を開始するには、影響の大きい場所になります。

以下の主要な原則を考慮してください。
+ ツール定義は明確で簡潔である必要があります。これらは理解しやすく、意図が非常に明確である必要があります。
+ 主要な差別化要因と境界条件を使用して、あるツールを別のツールで使用するタイミングを定義します。
+ 入力引数タイプを重要視してください。それは理にかなっているか、そのような使い方は普通だと考えられているものかを考慮してください。

**「ツールの選択」を使用してツールが呼び出されるタイミングを制御する**

ツール選択パラメータを使用すると、モデルでツール呼び出しの動作をカスタマイズできます。どのツールがいつ呼び出されるかをきめ細かく制御するために、これを使用することをお勧めします。

例えば、構造化出力などのユースケースでは、Amazon Nova が呼び出されるたびに特定のツールを呼び出すことができます。出力のスキーマをツールとして定義し、ツールの選択をそのツールの名前に設定することができます。

```
{
   "toolChoice": {
        "tool": {
            "name": "name_of_tool"
        }
    }
}
```

多くのエージェントユースケースでは、モデルが常に利用可能なツールの 1 つを選択するようにしたい場合があります。そのためには、ツールの選択を `any` に設定し、モデルが呼び出されるたびに 1 つのツールのみを呼び出すことができます。

```
{
   "toolChoice": {
        "any": {}
    }
}
```

最後に、ツールが呼び出されるかどうかが会話のコンテキストに大きく依存するユースケースでは、ツールの選択を `auto` に設定することができます。これはデフォルトの動作であり、ツールの選択は完全にモデルに委ねられます。

```
{
   "toolChoice": {
        "auto": {}
    }
}
```