Copilot Studio エージェントで変数を操作する

完了

Microsoft Copilot Studio では、変数を使用して、顧客が入力する重要な情報を後で使用するために格納できます。 たとえば、 varName という変数に顧客の名前を保存できます。 この変数を会話ノードに挿入して、メッセージ ノードに挿入して、会話が続行される際にエージェントが名前で顧客に対処できるようにするなど、顧客にとってより個人的なエクスペリエンスを作成できます。

変数を使用すると、顧客を異なる会話パスで動的にルーティングできます。 入力パラメーターとしてワークフローにフィードすることもできます。 たとえば、顧客が住んでいる市町村を変数に格納することができます。 ワークフローが実行されると、変数を入力パラメーターとして渡して、気象サービスが正しい予測を取得していることを確認できます。

多くの変数の型は、標準エンティティおよびエージェントに定義されたカスタムエンティティに関連付けられています。 参考までに、 変数型の完全な一覧 を参照してください。

変数の作成

変数は、質問ノードをトピックに追加すると自動的に作成され、[ ユーザーの応答を保存] セクションで編集できます。 既定では、質問ノードが挿入されると、複数の選択オプションを使用して作成されます。 ただし、事前構築済みエンティティまたはカスタム エンティティは、[ 識別] で選択することで使用できます。

変数名の変更

変数が自動的に作成されると、 Var1Var2 などの既定の名前が与えられ、説明的ではありません。 必要に応じて、変数の名前を変更するには、変数を選択し、[ 変数のプロパティ ] ウィンドウに新しい名前を入力します。 これにより、必要に応じて以降の識別が容易になります。

トピック間の変数の受け渡し

Microsoft Copilot Studio エージェントの一般的なアクションの 1 つは、挨拶の後、Store Hours トピックに案内するなど、あるトピックから別のトピックにリダイレクトすることです。 別のトピックにリダイレクトする場合は、コピー先のトピックの変数に値を渡すことができます。 また、元のトピックの変数に値を戻すこともできます。

トピック間で変数で渡すことは、そのトピックで必要な情報をすでに得ている場合に特に便利です。 ユーザーは、質問に再度答える必要がないことを好ましく思うでしょう。 たとえば、 既に Greeting トピックでユーザーの名前をキャプチャしていて、リダイレクト先の [ストア時間 ] トピックでユーザーの名前が使用されていることがわかっている場合は、トピックにリダイレクトするときに、ユーザーの名前を [ストア時間] トピックに簡単に渡すことができます。

他のトピックから値を受け取る

トピックで変数を定義する場合 (質問ノードの挿入など)、質問に対するユーザーの回答は、その質問に関連付けられている変数に入力されます。 既に値がわかっているため、再度質問をする理由がありません。 このような場合は、 他のトピックから値を受け取る変数を定義できます。

これは、別のトピックがこのトピックにリダイレクトされるときに、この変数に値を渡して質問をスキップできることを意味します。 エージェントと通信するときのユーザーのエクスペリエンスがシームレスになります。

リダイレクト ノードを構成する場合、コピー先のトピックに入力する変数を定義する必要があります。 コピー先のトピックで設定する変数を指定した後に、現在のトピックで使用する値を指定します。 たとえば、次の図では、 Location というトピックにリダイレクトしています。 Location トピックの UserCity 変数は、リダイレクト 元のトピックの Location というテキスト変数に設定されています。

他のトピックからの値の受け取りについての詳細およびステップ バイ ステップの手順については、他のトピックから値を受け取るを参照してください。

値を元のトピックに返す

トピックが質問を行う場合や、何らかの方法でアクションから変数を取得する場合、その変数はリダイレクトされた元のトピックに返されます。

この場合、変数は元のトピックにも含まれるため、他の変数と同様に使用できます。 これはトピックの構築に役立ち、エージェントが取得する情報をトピックに渡って使用できるため、グローバル変数の必要性を低減します。

詳細と詳細な手順については、「 元のトピックに値を返す」を参照してください。

変数の操作の詳細については、「変数 の操作」を参照してください。

グローバル変数

既定では、変数の値は、その変数が作成されたトピックでのみ使用できます。 たとえば、「天気を確認する」トピックで変数 UserCity を作成する場合、「天気を確認する」トピックにはメッセージ ノードの品目のみに含めることができます。 これらは トピック レベル の変数と呼ばれます。 ただし、複数のトピックで同じ値を使用する場合もあります。 会話が複数のトピックにまたがる場合、エージェントは変数のコンテキストを記憶できます。

たとえば、ウェルカム トピックでは、顧客の名前とメールを質問できます。 会話が予定の予約トピックなどの別のトピックに移動する際、エージェントにお客様の名前やメール アドレスを記憶してほしい場合があります。

Microsoft Copilot Studioでは、これらの変数は Global 変数と呼ばれます。 これらは、エージェント内のいずれかのトピックによってアクセスできます。

既定では、グローバル変数は現在のセッション中にのみ適用されます。 グローバル変数として扱う変数を指定して、トピック レベルの変数と区別できます。

グローバル変数を定義する

変数をグローバルとして定義するには、ノードから直接、または上部のメニュー バーの [変数] メニューで 変数 を選択します。 通常は、最初に操作する変数を参照する 質問 ノードに移動します。

[ 変数のプロパティ ] ウィンドウの [ 使用法] で、[ グローバル] (任意のトピックがアクセス可能) を選択します。

Note

変数名は、トピック レベルの変数と区別するために Global のプレフィックス文字列を取得します。

たとえば、変数 UserNameGlobal.UserName として表示されているとします。 トピック変数をグローバル変数に変換する場合は、変数名がすべてのトピックで一意であることを確認してください。 名前の競合が発生した場合は、変更を保存する前に変数の名前を変更する必要があります。

グローバル変数を使用する

グローバル変数が作成されると、すべてのトピックで使用できるようになります。 メッセージまたは質問ノードの操作中に、 {x} ボタンを選択し、[ カスタム ] タブに移動します。現在のトピックで使用できるすべての変数の一覧が表示されます。 変数はアルファベット順に並べ替え、 使用法 の種類 ( グローバルトピック) でグループ化されます。

条件ノード、ワークフロー ノード、またはツール ノードを使用すると、使用可能なグローバル変数を確認することもできます。

グローバル変数の管理

複数のトピックで使用するグローバル変数を作成する場合は、適用される場所を理解することが不可欠です。 変数が最初に定義された場所を簡単に特定するには、[ 参照] をオンにし、[ すべての参照を表示] を選択して、変数を使用する他のトピックを特定します。 この機能は、新しいエージェントを開発したり、複雑なトピック ブランチ内で複数の変数を管理したりする場合に特に役立ちます。

[ 参照] セクションには、主に次の 2 つのオプションがあります。

  • 参照: 変数が現在定義されている場所を示します。

  • すべての参照を表示: 変数が使用されているすべてのトピックとノードを一覧表示します。これにより、参照されている各トピックとノードに直接移動できます。

外部ソースからグローバル変数の値を設定する

外部ソースで初期化するグローバル変数を設定できます。 これにより、エージェントは一部のコンテキストで会話を開始できます。

たとえば、顧客が Web サイトからチャットを開始するとします。 ユーザーが Web サイトにログインしている場合は、顧客の名前が既にわかっています。 会話を開始する前に、その情報をエージェントに渡すことで、顧客に再度名前を尋ねることなく、顧客とよりインテリジェントな会話を行うことができます。

変数は、その値を外部ソースから取得するよう指定できます。 [変数のプロパティ] ウィンドウを開き、[使用法] セクションで [外部ソースが値を設定できる] ボックスを選択します。

グローバル変数の操作の詳細については、「グローバル変数 の操作」を参照してください。

次に、システム トピックについて説明します。