アクションを使って AIアシスタントを構築する
AIアシスタントビルダー において、 _アクション _とは、ユーザーの要求に応じて AIアシスタントに実行させたい具体的な成果を指します。 アクションはステップで構成されており、これらは顧客と AIアシスタントとの会話のためにあらかじめ定義されたプロンプトです。 この会話は、 アクションを開始するユーザー入力(例: I want to withdraw money)から始まります。その後、 AIアシスタントがさらに情報を収集するにつれてやり取りが続くこともあり、 AIアシスタントが依頼されたタスクを完了するか、顧客の質問に回答した時点で終了します。
AIアシスタントビルダー を使えば、まるで人間のパーソナルアシスタントのように振る舞う AIアシスタントを作成できます。 、 スキルベースの アクションs、または を作成 AIアシスタント することで AIによる アクション特注 アクションの、自分の を作成できます。
このトピックの例は、資金引き出しのためのアクションの作成に関するユース・ケースに関連しています。 ユース・ケースに合ったアクションを作成するために、サンプル値を調整します。
AIによるアクションの作成
SaaS
AI ガイド付きアクションを作成して、プリロードされた知識と指示に基づいて、アシスタントが特定の一連の照会に応答するのを支援することができます。
IBM watsonx Orchestrate の「能動的体験」モードでは、AIによる行動の提案が利用できない場合があります。
AIによるアクションを作成するには、以下の手順に従ってください:
watsonx Orchestrate で 「AIアシスタントビルダー 」のタイルをクリックすると、 AIアシスタントビルダー に移動します。
AIアシスタントビルダー で、 「アクション 」>「 新しいアクション 」>「 AIガイド付きアクション」 の順に選択します。
「 新しいアクション 」ダイアログで、顧客が対話を開始するために入力する必要があるフレーズを入力します。
保存 をクリックします。
「AI ガイド付きアクション (AI-guided action)」 ページで、 「モデルの選択 (Select a model)」 ドロップダウンから大規模言語モデル (LLM) を選択します。 モデルの詳細については、「異なるコンポーネントのサポート対象の基礎モデル 」を参照してください。
オプション: 「知識の追加 (Add knowledge)」 フィールドに、AI ガイド・アクションの知識参照であるコンテンツを追加できます。 この情報は、プロンプトとともに LLM に送信されます。
:知識参照テキストとセッション変数の値を連結することができます。 そのためには、「${}構造体を使ってセッション変数を参照する。 例えば、${sessionVariable} などです。 実行する際は、変数が空でないことを確認してください。空の場合、変数名がAIアシスタントのチャットに表示されてしまいます。
「プロンプト指示の追加 (Add prompt instructions)」 セクションで、アシスタントのデフォルト・プロンプトの指示を追加する場合は、 「指示の追加 (Add instructions)」 ボタンをクリックします。
「プロンプト指示 (Prompt instruction)」 フィールドにプロンプト指示を入力します。これは、アシスタントの LLM がより洗練された応答を行い、明瞭かつ具体的に会話をガイドするのに役立ちます。
:プロンプト指示テキストとセッション変数の値を連結することができる。 そのためには、「${}構造体を使ってセッション変数を参照する。 例えば、${sessionVariable} などです。 実行する際は、セッション変数が空でないことを確認してください。空の場合、 変数名がAIアシスタントのチャットに表示されてしまいます。
スキルベースのアクションを作成する
スキルベースのアクション(会話スキルアクションとも呼ばれる)とは、 特定の会話のシーケンスを実現するためにAIアシスタントに追加するスキルのことです。 IBM ( watsonx Orchestrate )で利用可能なスキルから、API またはユーザーインターフェースを使用してアクションを作成します。
IBM watsonx Orchestrate の「主体的体験」の状態にある場合、スキルに基づく行動は利用できない可能性があります。
始めに
スキルベースのアクションを作成する前に、必要に応じて以下の要件を満たしてください。
スキルベースのアクションを作成するための要件
スキルベースのアクションのオプションとして表示されるには、そのスキルのアプリに接続する必要があります。 詳細については、 「接続の管理」 を参照してください。
スキルベースのアクションには、その使用に影響を与える既知の問題や制限があるかもしれない。 詳細については、「スキルに基づくアクション」を参照してください。
スキルフローからスキルベースのアクションを作成するための要件
スキルフローからスキルベースのアクションを作成するには、スキルフローのコンポーネントスキルを以下の基準に適合するように調整する必要があります:
デフォルトでは、x-ibm-conversational-skillという注釈がfalseに設定されていない限り、すべてのスキルは会話型です。 スキルフローには、スキルベースのアクションとして利用可能にするプロパティ x-ibm-conversational-skill がありません。 アクションを作成するためのスキルフローを作成するには、コンポーネントスキルが前述の基準に従っていることを確認します。
すべてのコンポーネントスキルは、スキルセットに接続されている必要があります。 wo-identity ベースのオートメーションビルダースキルは、デフォルトで接続されているとみなされます。
すべての構成スキルは、スキルセットで公表されなければならない。
デフォルトでは、作成されたすべてのスキルフローは、表示されているスキルのみを使用することができます。
API を使用してスキルベースのアクションを作成する
APIを使用してスキルベースのアクションを作成するには、まずスキルの仕様( OpenAPI )を作成する必要があります。
その後、 watsonx Assistant API の 「Import skills 」エンドポイントを使用して、そのスキルをインポートできます。 それが終わったら、アシスタントのスキルを使うことができる。
UI を使用してスキルベースのアクションを作成する
UIを使用してスキルベースのアクションを作成するには、以下の手順に従ってください:
watsonx Orchestrate で 「AIアシスタントビルダー 」のタイルをクリックすると、 AIアシスタントビルダー に移動します。
AIアシスタントビルダー で、「 アクション 」>「 新しいアクション 」>「 スキルベースのアクション」 の順に選択します。
「 スキルからアクションを作成 」ページで、 アクションをリンクさせたいスキルをクリックし、 そのスキルをアクションの基盤として設定します。 スキルが表示されない場合は、お使いのアシスタントに対応するスキルセットで、そのスキルが接続されていることを確認してください。
「アクションの名前」 フィールドに、 アクションの名前を入力してください。
「アクション条件の追加」で、アクション・トリガーの条件を追加または編集できます。
詳しくは、 スキルのアクションをトリガーするための条件の追加または編集 を参照してください。
「フレーズを入力」 フィールドに、 watsonx Orchestrate スキルでアクションをトリガーするために、顧客が入力または発話する必要があるフレーズを入力してください。 例えば、
I want to pay my electricity billsなどです。ページの右上にある以下のオプションを使用して、 AIアシスタントの利便性を向上させることができます:
アクション応答モード
AI アシスタントの応答モード (「確認型」や 「自信型」など)を設定します。
アクションノート
「アクションのメモ 」ウィンドウを開き、 アクションの作成中に作業の進捗を把握するのに役立つ説明、ドキュメント、コメント、その他の注釈を追加できます。
アクション設定
「アクション設定 」ウィンドウを開き、アクション内の 「確認の質問をする」 および 「会話の話題を変更する」 の設定を有効または無効にします。
「保存 」ボタンをクリックして、アクションを保存してください。
ユーザーがスキルベースのアクションを実行すると、その回答はフォーム形式または複数回のやり取りによる会話形式で返されます。 チャット上でユーザーがスキルベースのアクションとどのようにやり取りするかを定義する方法の詳細については、 「会話内でスキルへの誘導方法を定義する」 を参照してください
カスタムアクションの作成
会話の中でアクションの各ステップを定義したい場合は、アクションを最初から作成します。 条件付きまたは条件なしでステップを定義できます。これは、顧客の回答を制御するのに役立ちます。
作成したAIガイド付きアクションやスキルベースのアクションを、ステップのサブアクションとして使用することもできます。 これにより、生成された値をこれらのアクション間で渡して、自由に利用できるようになります。 AIによる提案やスキルに基づくアクションをサブアクションとして使用する方法の詳細については、 「サブアクションに移動する」 を参照してください。
アクションを最初から作成するには、以下の手順に従ってください:
[ ]内のタイル AIアシスタントswatsonx Orchestrate をクリックして、[ ]に移動します AIアシスタント作成ツール。
で AIアシスタント作成ツール、[ > アクション ] 作成 アクション > 特注品 アクション [ ] を選択します。
「 新しいアクション 」ダイアログで、顧客が対話を開始するために入力する必要があるフレーズを入力します。 例えば、
I want to withdraw moneyなどです。
}" caption-side="bottom"}
「 保存 」ボタンをクリックして、新しいエントリを保存し、 アクションを構築します。
まず、 アクションを開始する典型的なユーザー入力の例を1つだけ指定する必要があります。 後でユーザー入力の例を追加できます。
アクションの手順を定義する
アクションは、1つ以上の「ステップ」で構成されます。 アクション内のステップは、アクションのトリガーフレーズが入力された後にユーザーとの会話の流れを定義する一連のプロンプトを形成します。 単純なケースでは、ステップは、顧客からの質問に対する直接的な回答で構成される場合があります。 たとえば、顧客が「」と尋ねると What are your business hours?、 ワンステップアクションに対応した AIアシスタントは「」と返答します We are open Monday through Friday from 9 AM to 5 PM.。
顧客の要望を完全に把握するには、いくつかの手順を踏む必要があります。 たとえば、ユーザーが入力した内容に対して I want to withdraw money、 AIアシスタントは以下の追加情報を必要とします:
どの口座からお金を引き出せばいいですか?
引き出し金額はいくらですか?
それぞれの追問は、 その行動の一歩を表しています。
AIアシスタントビルダー では、 アクション内のステップを追加、編集、または複製することができます。 1 つのステップ内で以下のことを定義します。
ステップの実行内容を説明するステップ・タイトル。 ステップ・タイトルはオプションです。
ステップが実行時に処理されるかどうかを決定するすべての条件。 (デフォルトでは、ユーザー入力が一致する場合、ステップは常に処理されます。)
ステップの処理時にアシスタントが顧客に伝える内容。
アシスタントが伝える内容に顧客がどのように応答できるのかに関するルール (応答が予期される場合)。
ステップの終了後にすべきこと。
アクション内のステップの追加、編集、複製に関する詳細については、以下のトピックをご覧ください:
新規ステップの追加
対話を開始するためのフレーズを入力したら、会話の流れを作成するためにアクションにステップを追加する必要があります。 ステップを追加するには、以下の手順を使用します。
AIアシスタントビルダーで、 「ホーム」 > 「アクション」 に移動します。
「Conversation ステップ」 ペインの 「新規ステップ」 ボタンをクリックして、ステップを追加します。
ステップの編集

「ステップ・タイトルの編集」 アイコンをクリックし、 「アカウントの決定」というタイトルを入力します。
「取得済み (Is taken)」 フィールドで、デフォルト値の 「条件なし (without conditions)」を使用します。 このステップは、すべての引き出しに必ず必要です。
「アシスタントが伝える内容 (Assistant says)」フィールドに
Withdraw from which account?と入力します。「顧客の反応を定義 」をクリックします。

事前定義された選択項目をリストから選択するようにユーザーに要求するため、「オプション」をクリックします。 「応答の編集」ウィンドウが開きます。
「オプション 1」フィールドに
Savingsと入力します。 オプション 1 に値を入力すると、オプション 2 のフィールドが表示されます。

オプション 2 をクリックして、 Checkingと入力します。
「適用」をクリックして、顧客応答を保存します。
これで、ステップが期待どおりに機能するかどうかを確認できます。 「プレビュー」をクリックして「プレビュー」ペインを開き、
I want to withdraw moneyと入力します。

予期したとおり、アシスタントは、お金を引き出す口座を選択するように要求します。
ステップの複製
別のステップと似ているが、若干の変更が加えられたステップを作成する場合は、ステップを複製します。
ステップを複製するには、以下の手順を実行します。
複製するステップ上の「複製」アイコンをクリックします。

複製したステップの直後にステップが表示されます。 このステップは複製されたステップと同一です。ステップが重複していることを示す青い円が右上に表示されます。

必要に応じて、新しいステップにおける情報を編集します。
条件付きステップの追加
当行が当座預金からの引き出しに対して手数料を請求し、お客様が理解していることを確認する必要があるとします。 お客様がどの種類のアカウントを選択するかによって、当社のアクションは多少異なる動作をする必要があります。 これは、ステップ条件を使用して処理できます。
ステップでユーザーからの入力を求める場合、ユーザーの回答は_アクション変数_として保存されます。前のステップで保存されたアクション変数を参照することで、顧客の過去の回答に基づいてステップの条件を設定することができます。
「新規ステップ」をクリックします。
「ステップ 2 の実行 (Step 2 is taken)」フィールドで「条件付き (with conditions)」を選択します。 「条件」セクションが展開されます。

デフォルトでは、前のステップ (
Withdraw from which account?) で保管されたアクション変数に基づいて、条件が自動的に作成されます。 ただし、デフォルトでは、Savingsの値が検査されますが、これは必要な値ではありません。 代わりに値フィールドをクリックしてCheckingを選択します。

「アシスタントが伝える内容 (Assistant says)」フィールドに
Withdrawals from checking accounts might incur a fee. Do you want to continue?と入力します。「顧客応答の定義」 をクリックし、 「確認」を選択します。これには、
YesとNoの選択項目があります。
「適用」をクリックして、顧客応答を保存します。
お客様が常に明示的に同意することを確認するため、 「設定」 アイコンをクリックして 「お客様の応答の設定」を開き、 「以前のメッセージにかかわらず、常にこの情報を確認する」を選択します。

次に、お客様が継続しないことを決定した状況に対処するために、もう 1 つの条件付きステップが必要です。
「新規ステップ」をクリックします。
「ステップ 3 の実行 (Step 3 is taken)」フィールドで「条件付き (with conditions)」を選択します。
ステップ 2 に対する顧客の応答が
Noであったことを確認するように条件を編集します。

「アシスタントが伝える内容 (Assistant says)」フィールドに
Canceling transaction.と入力します。「処理 (And then)」フィールドで「アクションの終了」を選択します。 このステップが実行された場合 (つまり、お客様が続行しないことを決定した場合)、アクションの後続のステップは実行されません。
ステップ 2 では、 Yes の応答を処理するための条件付きステップは必要ありません。その状況では、処理は通常どおり続行されるからです。
アクションエディタの使用方法
アクションを作成すると、アクション・エディターが開きます。

エディター・ウィンドウにアクションが部分部分で表示されます。
表示名 :曖昧さ回避のボタンテキストとして表示されるアクションタイトルを上書きする表示名を設定します。 曖昧さをなくすには、「 明確な質問をする 」を参照。
フレーズの例を追加します:顧客がこのアクションを開始するために使用する可能性のあるフレーズを入力します。 より多くのフレーズを入力すればするほど、アシスタントは顧客が何を求めているのかを認識しやすくなる。
「会話ステップ (Conversation steps)」の下に、アクションを構成するステップが表示されます。 ステップはアシスタントと顧客の間の対話です。ステップは最初から最後まで順番に実行されます。 リストにおいてステップをクリックしてドラッグすることで、アクションにおけるステップを並べ替えることができます。
「プレビュー」ボタンをクリックすると、アシスタントが顧客入力にどのように応答するのかを示すペインが開きます。 いつでもアシスタントをプレビューして、行った変更の影響を確認することができます。
「アクションに関する注記」 アイコンをクリックすると、説明、文書、コメント、またはその他の注釈を追加できる領域が開きます。これらの領域は、アクションの作成時に作業を追跡するのに役立ちます。
アクション・エディターは基本的な Markdown 構文をサポートします。
アクションの流れを可視化する
アクションを最初から作成した後、 「編集」 タブと 「視覚化」 タブを切り替えることができます。 視覚化タブに移動して、アクションのフローチャートを表示します。

アクションのフローチャートを表示しているときに、キャンバスをズームしたりパンしたりすることができます。

金額の取得
顧客の要求を完了するには情報がもう 1 つ必要です。それは、引き出す金額です。
「新規ステップ」をクリックします。
「アシスタントが伝える内容 (Assistant says)」フィールドに
How much do you want to withdraw?と入力します。「顧客の反応を定義 」をクリックします。 顧客が金額を指定する必要があるため、 「通貨」を選択します。
アクションの終了
これで、必要なすべての情報が得られました。 この例では、撤回を行うための実際のロジックは実装しませんが、実行していることを要約する最終メッセージを送信することができます。
この要約を行うには、アクション変数 (前のステップからの顧客の回答を表す) を応答に挿入する必要があります。 実行時に、これらのアクション変数は、お客様から提供された実際の値に置き換えられます。
「新規ステップ」をクリックします。
次に、「OK、amount を account_type アカウントから引き出します (OK, we will withdraw amount from your account_type account)」という確認メッセージを作成する必要があります。
この応答を作成するには、 「アシスタントのセリフ」 フィールドにメッセージのテキストを入力し、変数の値の代わりに 「変数を挿入 」 アイコンをクリックして、アクション変数への参照を挿入してください:
amount に関しては、「4. いくら引き出しますか? (4. How much do you want to withdraw?)」を選択します。
account_type に関しては、「1. どの口座から引き出しますか? (1. Withdraw from which account?)」を選択します。

これはアクションにおける最後のステップであるため、顧客応答を指定する必要はありません。
ステップが不要になったと判断した場合は、そのステップをアクションから削除できます。 ステップを削除するには、そのステップのタイルにある 「削除
」アイコンをクリックします。
アクションのテスト
これで、アクションをテストして動作することを確認できます。 「プレビュー」をクリックして「プレビュー」ペインを開きます。 以前のテストのテキストがまだ表示されている場合は、 「更新
」アイコンをクリックして会話を再開してください。
I want to withdraw money と入力して開始します。 さまざまな入力を試して、アシスタントの動作をテストします。
SavingsとCheckingの両方を選択してみてください。Checkingを選択した場合、アシスタントは料金の発生について警告し、続行するかどうかを尋ねますが、Savingsを選択した場合は警告なしで処理が続行されることを確認します。Checkingを選択した場合は、続行するかどうかをアシスタントから尋ねられたときに両方の応答を試してください。Noを選択した場合にアクションが終了することを確認します。初期メッセージに追加情報を含めてみてください。 例えば、
I want to withdraw $50 from my savings accountと入力してみてください。 既に指定した情報を指定するようにアシスタントから再度要求されないことを確認します。
これで完了です。 複数のステップを含む単純なアクションを作成し、アクション変数として保管する情報を収集し、顧客が選択した内容に基づいてその応答を条件付けます。 アクションではほかにも多くのことが可能ですが、そのすべてがこの基本パターンに基づいて作成されています。
アクション名の変更
アクションの名前を変更したい場合は、以下の手順を実行してください:
名前を変更したいアクションの
オーバーフロー メニューをクリックし、「 名前を変更」 を選択します。
表示されるアクションタイトルを変更するには、 アクションタイトルフィールドをクリックします。
表示名(オプション) フィールドをクリックして、ユーザーに表示されるアクションタイトルを変更します。
検索とフィルタリング・アクション
アクションを検索したい場合は、以下の手順を実行する:
アクションページの検索バーをクリックし、アクション名を入力します。
フィルター アイコンをクリックして、 サブアクション、 拡張
機能、 または変数で絞り込みます。「適用」をクリックします。