注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
AIP Chatbot に文字列型またはオブジェクトセット型のアプリケーション変数を複数設定して、以前はパラメーターと呼ばれていたアプリケーションの状態を設定できます。アプリケーション変数を持つ AIP Chatbot を Workshop の AIP Chatbot ウィジェットに埋め込むと、変数の一覧が表示されます。その後、各アプリケーション変数を対応するデータ型の Workshop 変数にマッピングして、ほかのウィジェットに出力を表示できます。
AIP Chatbot のアプリケーションの状態を設定する際は、次の項目を設定します。

キーボードでスラッシュコマンド / を使用すると、ユーザー定義のシステムプロンプト内でもアプリケーションの状態を参照できます。

アプリケーションの状態は、アプリケーションの状態のデバッグセクションでテストできます。各変数の値を手動で上書きでき、チャットボットが変数の値を更新すると、デバッグセクションに視覚的なフィードバックが表示されます。

設定したアプリケーション変数は、チャットボットのツールや、アプリケーションの状態の設定に追加した取得コンテキストを通じて変更できます。変数は、ツールやコンテキストの出力から決定論的に更新することも、アプリケーション変数を更新ツールを通じて非決定論的に更新することもできます。
オブジェクトクエリツール、関数ベースのコンテキスト、またはオントロジーコンテキストが出力する値で、変数を決定論的に更新するように設定できます。コンテキストまたはツールが実行されるたびに、Chatbot Studio は最新の出力を記録し、LLM がストリーミングを終了すると、マッピングされたアプリケーション変数を出力値に更新します。LLM の混乱を避けるため、非決定論的な更新ではなく、決定論的な更新を適用することを推奨します。場合によっては、変数の値を LLM から完全に非表示にすることもできます。

アクションおよび関数ツールは、LLM が動的に生成する入力の代わりに、アプリケーション変数からの入力を使用するように設定できます。この機能により、事前に決めた値をツールに直接渡すことができ、一貫性の向上とトークン使用量の削減につながります。
この機能がサポートする入力のデータ型は、文字列とオブジェクトセットのみです。渡される値は、推論ループの開始時点での変数の初期値に固定されます。そのため、同じクエリ内の以前のツール呼び出しによる更新は、決定論的な入力として渡される値には反映されません。

LLM に更新対象の新しい変数を設定させたい場合や、現在のユーザークエリに基づいて条件付きで更新を適用させたい場合は、アプリケーション変数を更新ツールを追加します。このツールでは、LLM が更新できる変数の一覧を指定できます。

ユーザーが引用を選択したときに、オブジェクトセット変数を更新するように設定することもできます。設定したオブジェクトセット変数は、引用されたオブジェクトを含む静的オブジェクトセットに更新されます。

AIP Chatbot にアプリケーションの状態が設定されている場合は、Workshop でチャットボットのアプリケーション変数を設定できます。詳細については、AIP Chatbot ウィジェットのドキュメントを参照してください。
