次の方法で共有


Azure Logic Apps で人間の対話を使用しない自律エージェント ワークフローを作成する (プレビュー)

適用対象: Azure Logic Apps (Standard)

Important

この機能はプレビュー段階にあり、「Microsoft Azure プレビューの追加使用条件」が適用されます。

シナリオで自然言語をサポートし、大規模言語モデル (LLM) に接続されたエージェントを使用して、人間の操作なしで意思決定を行い、タスクを完了するワークフローが必要な場合は、Azure Logic Apps で 自律的 なエージェント ワークフローを作成します。 このワークフローの種類は、エージェントが人間の介入なしで作業する必要があり、長時間実行する必要があり、より強力なガバナンス、分離、自動ロールバックまたは補正戦略が必要になるシナリオに最適なオプションです。

すべてのエージェント ワークフローは、LLM に接続されたエージェントを使用してタスクを実行します。 エージェントは、反復的なループ 処理を使用して、複雑な複数ステップの問題を解決します。 LLM は、パターンを認識し、人間の操作なしでジョブを実行するトレーニング済みのプログラムです。 エージェント ワークフローを使用すると、LLM、プロンプト、オーケストレーションを含むエージェントの意思決定ロジックを、統合コンポーネントとタスク実行コンポーネントから分離できます。

エージェントは、モデルに接続するときに次の機能と利点を提供します。

  • エージェントの役割、操作方法、および応答方法に関する指示を受け入れます。
  • 要求またはプロンプトを受信して応答 します
  • 使用可能な情報に基づいて、入力を処理し、データを分析し、選択を行います。
  • 要求を処理するために必要なタスクを完了するためのツールを選択します。 ツールは、タスクを完了する 1 つ以上のアクションを含むシーケンスです。
  • 柔軟性を必要とし、流動的、動的、予測不能、不安定な環境に適応します。

エージェントが使用するツールを作成するために使用できるアクションを提供する 1,400 以上のコネクタ を備えた自律エージェント ワークフローでは、AI 機能から大きなメリットを得られるさまざまなシナリオがサポートされています。

次のスクリーンショットは、このガイドで作成する自律エージェント ワークフローの例を示しています。 ワークフローでは、エージェントを使用して天気予報を取得し、その予測を電子メールで送信します。 次の図は、エージェントを設定するエージェント情報ペインを示し、エージェントが従うために人間の操作を必要としない指示を提供します。

Azure portal、Standard ワークフロー デザイナー、自律エージェントの例を示すスクリーンショット。

エージェントの動作を説明する手順の概要と、エージェント ワークフローの概要については、 Azure Logic Apps の AI エージェント ワークフローに関するページを参照してください。

このガイドでは、 自律エージェント の種類を使用して標準ロジック アプリ ワークフローの例を作成する方法と、人間の操作や入力なしで動作する方法、およびエージェントを含むように既存のステートフル ワークフローを更新する方法を示します。 エージェントは要求を満たすために、構築したツールを使用して、実際のサービスとシステムで必要なタスクを完了します。

[前提条件]

  • Azure アカウントとサブスクリプション。 サブスクリプションをお持ちでない場合には、無料の Azure アカウントにサインアップしてください。

  • 新規または既存の Standard ロジック アプリのリソースまたはプロジェクト。 次のいずれかの開発環境で作業できます。

    このガイドの例では、Azure portal を使用します。 ただし、ワークフロー デザイナーを開いた後、デザイナーを使用する手順は、ポータルと Visual Studio Code の間でほとんど似ています。 一部の操作には小さな違いがあります。

  • モデル ソースには、次のいずれかのソースが必要です。

    モデル ソース Description
    Azure OpenAI サービス リソース でデプロイされた Azure OpenAI サービス モデル ワークフロー内のエージェントから Azure OpenAI Service でデプロイされたモデルへの接続を作成するときに、リソース名が必要です。 このリソースとモデルがない場合は、次の記事を参照してください。

    - Azure OpenAI サービス リソースを作成してデプロイする

    - モデルをデプロイする

    エージェント ワークフローでは、特定のモデルのみがサポートされます。 詳細については、「 サポートされているモデル」を参照してください。
    Azure AI Foundry プロジェクトに接続された Azure OpenAI Service リソースと、Azure AI Foundry にデプロイされた Azure OpenAI モデル ハブ ベースのプロジェクトではなく、Foundry プロジェクトがあることを確認します。 このプロジェクト、リソース、モデルがない場合は、次の記事を参照してください。

    - Azure OpenAI サービス リソースを作成してデプロイする

    - Azure AI Foundry のプロジェクトを作成する

    - プロジェクトを作成した後、または Azure AI Foundry ポータルで新しい接続を作成した後に Azure AI サービスを接続する

    - モデルをデプロイする

    エージェント ワークフローでは、特定のモデルのみがサポートされます。 詳細については、「 サポートされているモデル」を参照してください。

    Important

    Azure Logic Apps ではエージェント ワークフローに追加料金は発生しませんが、モデルの使用には料金が発生します。 詳細については、Azure 料金計算ツールを参照してください。

  • エージェントとデプロイされたモデルの間に新しい接続を作成するときに使用する認証。

    Azure AI Foundry プロジェクトの場合は、マネージド ID 認証を使用する必要があります。

    • マネージド ID の認証

      この接続では、 マネージド ID で Microsoft Entra ID を使用した認証がサポートされます。 運用環境のシナリオでは、このオプションは追加料金なしで最適で優れたセキュリティを提供するため、可能な場合はマネージド ID を使用することを強くお勧めします。 この ID は Azure によって自動的に管理されるため、資格情報やシークレットなどの機密情報を提供したり管理したりする必要はありません。 この情報は、個々のユーザーがアクセスすることもできません。 マネージド ID を使用して、Microsoft Entra 認証をサポートするすべてのリソースのアクセスを認証できます。

      マネージド ID 認証を使用するには、Standard ロジック アプリ リソースでシステム割り当てマネージド ID を有効にする必要があります。 既定では、システム割り当てマネージド ID は Standard ロジック アプリで有効になっています。 現在、このリリースでは、ユーザー割り当てマネージド ID の使用はサポートされていません。

      システム割り当て ID が無効になっている場合は、 ID を再び有効にします

      システム割り当て ID には、 最小特権の原則に基づいて、Microsoft Entra ロールベースのアクセス制御 (RBAC) に対して次のいずれかのロールが必要です。

      モデル ソース Role
      Azure OpenAI サービス リソース - Cognitive Services OpenAI ユーザー (最小特権)
      - Cognitive Services OpenAI 共同作成者
      Azure AI Foundry プロジェクト Azure AI ユーザー

      マネージド ID のセットアップの詳細については、次のリソースを参照してください。

    • URL とキーベースの認証

      この接続では、デプロイされたモデルのエンドポイント URL と API キーを使用した認証がサポートされます。 ただし、接続を作成する前に、これらの値を手動で検索する必要はありません。 モデル ソースを選択すると、値が自動的に表示されます。

      Important

      この認証オプションは、このガイドの例、探索的シナリオ、非運用環境シナリオ、または組織のポリシーでマネージド ID 認証を使用できないことが指定されている場合にのみ使用します。

      一般に、資格情報、シークレット、アクセス キー、接続文字列、証明書、拇印などの機密データと個人データを、使用可能なレベルまたはサポートされている最高レベルのセキュリティで保護し、保護してください。 機密データをハードコーディングしたり、他のユーザーと共有したり、他のユーザーがアクセスできる場所でプレーンテキストで保存したりしないでください。 侵害された場合にシークレットをローテーションまたは取り消す計画を設定します。 詳細については、次のリソースを参照してください。

  • この例に従うには、電子メールを送信するための電子メール アカウントが必要です。

    このガイドの例では、Outlook.com アカウントを使用します。 独自のシナリオでは、Office 365 Outlook、Microsoft Teams、Slack など、Azure Logic Apps でサポートされている任意の電子メール サービスまたはメッセージング アプリを使用できます。 他のメール サービスまたはアプリのセットアップは例に似ていますが、小さな違いがあります。

エージェント ワークフローでサポートされるモデル

次の一覧は、エージェント ワークフローに使用できるモデルを示しています。

  • gpt-5
  • gpt-4.1
  • gpt-4.1-mini
  • gpt-4.1-nano
  • gpt-4o
  • gpt-4o-mini
  • gpt-4
  • gpt-35-turbo

制限事項と既知の問題

次の表では、現在の制限事項と、このリリースの既知の問題について説明します。

制限事項 Description
サポートされているワークフローの種類 自律エージェント ワークフローを作成するには、自律エージェント ワークフローの種類を選択するか、既存のステートフル ワークフローにエージェント アクションを追加します。 ステートレス ワークフローの種類を使用して、エージェントを追加することはできません。
Authentication マネージド ID 認証では、現時点ではシステム割り当てマネージド ID のみを使用できます。 現在、ユーザー割り当てマネージド ID のサポートは利用できません。

: Azure AI Foundry プロジェクトの場合は、マネージド ID 認証を使用する必要があります。
エージェント ツール - ツールを作成するには、トリガーではなくアクションのみを使用できます。

- ツールはアクションで始まり、常に少なくとも 1 つのアクションを含みます。

- ツールは、そのツールが存在するエージェント内でのみ機能します。

- 制御フロー アクションはサポートされていません。
Documentation このガイドでは、自律エージェント ワークフローを作成するための基本的な手順について説明します。 高度な機能に関するドキュメントが進行中です。
全般的な制限 Azure OpenAI Service、Azure AI Foundry、Azure Logic Apps の制限に関する一般的な情報については、次の記事を参照してください。

- Azure OpenAI サービスのクォータと制限
- Azure AI Foundry のモデルにおける Azure OpenAI のクォータと制限
- Azure Logic Apps の制限と構成

自律エージェント ワークフローを作成する

新しいワークフローから開始するか、 エージェントを非エージェント ステートフル ワークフローに追加できます。

新しいワークフローを作成する

空の エージェントで部分的なワークフローを作成するには、次の手順に従います。

  1. Azure portal で、Standard ロジック アプリ リソースを開きます。

  2. ロジック アプリのメニューの [ ワークフロー] で、[ ワークフロー] を選択します。

  3. [ ワークフロー ] ページのツール バーで、[ 追加>追加] を選択します。

  4. [ ワークフローの作成 ] ウィンドウで、次の手順を実行します。

    1. [ ワークフロー名] に、使用するワークフローの名前を指定します。

    2. [自律エージェント>作成] を選択します。

      [ワークフロー] ページが開いている Standard ロジック アプリ リソースと、[ワークフロー名を含むワークフローの作成] ウィンドウ、選択した [自律エージェント] オプション、および [作成] ボタンを示すスクリーンショット。

      デザイナーが開き、部分的なワークフローが表示されます。これには、後で設定する必要がある空の エージェント アクションが含まれます。

      [トリガーの追加] と [空のエージェント] を含むワークフロー デザイナーを示すスクリーンショット。

    ワークフローを保存する前に、 エージェント アクションの次のセットアップ タスクを完了する必要があります。

    • デプロイされたモデルへの接続を作成します。 このタスクは、後のセクションで完了します。

    • エージェントが果たす役割、エージェントが実行できるタスク、およびその他の情報を説明するシステム命令を提供して、エージェントの操作方法をより深く理解できるようにします。 このタスクは、後のセクションでも完了します。

  5. ワークフローにトリガーを追加します。

    ワークフローには、ワークフローの実行を開始するタイミングを制御するトリガーが必要です。 シナリオに合った任意のトリガーを使用できます。 詳細については、「 トリガー」を参照してください。

    1. デザイナーで、[トリガーの 追加] を選択します。

    2. [ トリガーの追加 ] ウィンドウで、次の 一般的な手順 に従って、シナリオに最適なトリガーを追加します。

      この例では、HTTP 要求受信したときにという名前の要求トリガーを使用します。 この記事では、他のトリガーのセットアップは必要ありません。

      要求トリガーとエージェント アクションを含むワークフロー デザイナーを示すスクリーンショット。

    3. エージェントとモデルの間の接続を設定できるように、次のセクションに進みます。

      ワークフローを今すぐ保存しようとすると、デザイナー ツール バーの [エラー ] ボタンに赤い点が表示されます。 変更を保存する前にエージェントがセットアップを必要とするため、デザイナーによってこのエラー状態が通知されます。 ただし、今すぐエージェントを設定する必要はありません。 引き続きワークフローを作成できます。 ワークフローを保存する前に、必ずエージェントを設定してください。

      スクリーンショットは、エージェントのアクション情報ペインに赤いドットとエラーが表示された [エラー] ボタンを含むワークフロー デザイナーのツール バーを示しています。

エージェントを非エージェント ワークフローに追加する

既存の ステートフル ワークフローの場合は、次の手順に従って、自律エージェントと LLM 機能を含める エージェント アクションを 追加できます。

  1. Azure portal で、Standard ロジック アプリ リソースを開きます。

  2. ロジック アプリのメニューの [ ワークフロー] で、[ ワークフロー] を選択します。

  3. [ ワークフロー ] ページで、エージェントを追加する ステートフル ワークフローを選択します。

  4. デザイナーが開いたら、 一般的な手順に従って 、エージェント という名前のアクションをワークフローに追加します。次に例を示します。

    Azure portal、Standard ワークフロー デザイナー、既存のワークフロー、およびエージェントを追加するオプションを示すスクリーンショット。

  5. 次のセクションに進み、エージェントをモデルに接続します。

エージェントをモデルに接続する

次に、次の手順に従って、エージェントとデプロイされたモデルの間に接続を作成します。

  1. デザイナーで、[ エージェント ] アクションのタイトル バーを選択して、[接続の 作成 ] ウィンドウを開きます。

    このウィンドウは、既存の作業接続がない場合にのみ開きます。

  2. [ 新しい接続の作成 ] セクションで、次の情報を指定します。

    パラメーター 必須 価値 Description
    接続名 イエス < 接続名> デプロイされたモデルへの接続に使用する名前。

    この例では 、fabrikam-azure-ai-connection を使用します。
    エージェント モデル ソース イエス - Azure OpenAI
    - ファウンドリーエージェントサービス
    デプロイされたモデルのソース。
    認証の種類 イエス - マネージド ID

    - URL とキーベースの認証
    デプロイされたモデルへの ID のアクセスの検証と承認に使用する認証の種類。

    : Azure AI Foundry プロジェクトの場合は、マネージド ID 認証を使用する必要があります。

    - マネージド ID では、 Standard ロジック アプリでマネージド ID を有効にし、ロールベースのアクセスに必要なロールを設定する必要があります。 詳細については、「前提条件」を参照してください。

    - URL とキーベースの認証 には、デプロイされたモデルのエンドポイント URL と API キーが必要です。 これらの値は、モデル ソースを選択すると自動的に表示されます。

    重要: 例と探索の場合のみ、 URL とキーベースの認証を使用できます。 運用シナリオでは、 マネージド ID を使用します
    Subscription イエス < Azure-subscripton> Azure OpenAI Service リソースに関連付けられている Azure サブスクリプションを選択します。
    Azure OpenAI リソース はい(エージェント モデル ソースAzure OpenAI の場合のみ) < Azure-OpenAI-Service-resource-name> Azure OpenAI Service リソースを選択します。
    AI Foundry プロジェクト はい(エージェント モデル ソースFoundry Agent Service の場合のみ) < Azure AI Foundry プロジェクト名> Azure AI Foundry でプロジェクトを選択します。

    : プロジェクトに必要なロールを最近割り当てた場合、ロールのアクセス許可が有効になるまでに遅延が発生する可能性があります。 一方、プロジェクトに対する適切なアクセス許可がないことを示すエラー メッセージが表示されます。
    API エンドポイント イエス 自動的に設定 Azure OpenAI サービスにデプロイされたモデルのエンドポイント URL。

    この例では、https://fabrikam-azureopenai.openai.azure.com/を使用します。
    API キー はい(認証の種類URL とキーベースの認証の場合のみ) 自動的に設定 Azure OpenAI サービスにデプロイされたモデルの API キー。

    たとえば、モデル ソースとして Azure OpenAI を選択し、認証用 にマネージド ID を 選択した場合、接続情報は次の例のようになります。

    Azure OpenAI サービスにデプロイされたモデルの接続の詳細の例を示すスクリーンショット。

    認証のためにマネージド ID を持つモデル ソースとして Foundry Agent Service を選択した場合、接続情報は次のサンプルのようになります。

    Azure AI Foundry にデプロイされたモデルの接続の詳細の例を示すスクリーンショット。

  3. 完了したら、[ 新規作成] を選択します。

    別の接続を作成する場合は、[ パラメーター ] タブで下にスクロールし、[ 接続の変更] を選択します。

  4. 次のセクションに進みます。

エージェントの名前を変更する

次の手順でエージェント名を更新して、エージェントの目的を明確に特定します。

  1. エージェント情報ウィンドウが開いていない場合は、デザイナーでエージェント のタイトル バーを選択してウィンドウを開きます。

  2. エージェント情報ウィンドウで、エージェント名を選択し、新しい名前 ( Weather エージェントなど) を入力します。

    ワークフロー デザイナー、ワークフロー トリガー、名前が変更されたエージェントを示すスクリーンショット。

    モデルへの接続が正しくない場合は、[ Deployment Model Name]\(デプロイ モデル名 \) の一覧は使用できません。

  3. 次のセクションに進んで、エージェントへのシステム指示を提供してください。

エージェントのシステム指示を設定する

エージェントには、エージェントが実行できるロールと、エージェントが実行できるタスクを記述する システム命令 が必要です。 エージェントがこれらの責任を学習して理解できるように、次の情報を含めることもできます。

  • ワークフロー構造
  • 使用可能なアクション
  • 制限事項または制約事項
  • 特定のシナリオまたは特殊なケースの相互作用

最良の結果を得るには、システム命令が規範的であり、複数の反復でこれらの命令を調整する必要があることを確認します。

  1. [ エージェントの指示] の [ システム指示 ] ボックスに、エージェントがその役割とタスクを理解するために必要なすべての情報を入力します。

    自律エージェントは、実行時にチャット インターフェイスを介して入力を受け付けられません。

    この例では、気象エージェントの例では、次のサンプル手順を使用します。この例では、後でテスト用に独自のメール アドレスをサブスクライバー リストに指定します。

    あなたは天気予報を生成する AI エージェントであり、一覧の各サブスクライバーに電子メールで送信します。 この一覧には、使用する各サブスクライバーの名前、場所、メール アドレスが含まれます。

    必要に応じて、天気予報を箇条書きで書式設定します。 簡潔で便利な応答を作成しますが、会話的でフレンドリーなトーンを使用します。 「傘を運ぶ」や「レイヤーに着せ替える」などの提案を含めることができます。

    この例は、エージェントのシステム指示にどのように表示されるかを次に示します。

    ワークフロー デザイナーと、システム命令を含むエージェントを示すスクリーンショット。

  2. 必要に応じて、エージェントで、エージェントがプロンプトまたは質問として使用できるユーザー指示を提供できます。

    より良い結果を得るには、次に例を示す特定のタスクに各ユーザー命令を集中させます。

    1. エージェント情報ウィンドウの [ ユーザーの指示 ] セクションで、[ 新しい項目の追加] を選択します。

    2. [ ユーザー指示項目 - 1 ] ボックスに、エージェントに質問する質問を入力します。

    3. 別の命令を追加するには、[ 新しい項目の追加] をもう一度選択します。

    4. [ ユーザー指示項目 - 2 ] ボックスに、エージェントに質問する別の質問を入力します。

    5. エージェントに質問するすべての質問の追加が完了するまで繰り返します。

  3. これで、ワークフローを保存できます。 デザイナーのツール バーで、 [保存] を選択します。

  4. この段階でワークフローにエラーがないことを確認するには、次の手順に従います。

    1. デザイナーのツール バーで、[ 実行>実行] を選択します。

    2. ワークフローのメニューの [ツール] で、[実行履歴] を選択します。

    3. [ 実行履歴 ] ページの [ 実行履歴 ] タブの [ 識別子 ] 列で、最新のワークフロー実行を選択します。

      ページに実行が表示されない場合は、ツールバーの 再読み込み を選択します。

      [状態] 列に [実行中] 状態が表示されている場合、エージェント ワークフローは引き続き動作しているか待機しています。 後者の動作は、以前のリリースでエージェントでチャット チャネルを有効にした場合に発生します。 現在のリリースにはチャット チャネルは含めなくなりました。

      監視ビューが開き、ワークフロー操作とその状態が表示されます。 [エージェント ログ] ウィンドウが開き、前に指定したシステム指示が表示されます。 ペインには、エージェントの応答も表示されます。 自律エージェント ワークフローの場合、チャット ボックスは使用できず、準備完了モードになります。

      監視ビュー、操作の状態、エージェント ログを示すスクリーンショット。

      ただし、現時点ではエージェントに使用するツールはありません。つまり、エージェントがタスクを完了するために必要なツールを作成するまで、エージェントは実際にメールをサブスクライバー リストに送信するなど、特定のアクションを実行できません。 メール サーバーがメッセージを拒否したというメールが届く場合もあります。

  5. デザイナーに戻る 監視ビューのツール バーで、[ 編集] を選択します。

天気予報を取得するツールを作成する

エージェントが Azure Logic Apps で使用できる事前構築済みアクションを実行するには、エージェントが使用する 1 つ以上のツールを作成する必要があります。 ツールには、少なくとも 1 つのアクションとアクションのみを含める必要があります。 エージェントは、特定の引数を使用してツールを呼び出します。

この例では、エージェントには天気予報を取得するツールが必要です。 このツールは、次の手順に従ってビルドできます。

  1. デザイナーで、エージェント内と [追加] ツールでプラス記号 (+) を選択し、使用可能なアクションを参照できるウィンドウを開きます。

  2. [ アクションの追加 ] ウィンドウで、次の 一般的な手順 に従って、シナリオのアクションを追加します。

    この例では、今日の予測を取得という名前の MSN Weather アクションを使用します。

    アクションを選択すると、 ツール とアクションの両方がデザイナーのエージェント内に同時に表示されます。 両方の情報ウィンドウも同時に開きます。

    スクリーンショットは、名前が変更されたエージェントを含むワークフロー デザイナーを示しています。これには、今日の予測の取得という名前のアクションを含むツールが含まれています。

  3. ツール情報ウィンドウで、目的を説明するようにツールの名前を変更します。

    この例では 、Get Weather を使用します

  4. [ 詳細 ] タブの [ 説明] に、ツールの説明を入力します。

    次の使用例は 、指定した場所の天気を取得します。

    [ 説明] の [ エージェント パラメーター] セクションは、特定のユース ケースにのみ適用されます。 詳細については、「 エージェント パラメーターの作成」を参照してください。

  5. 次のセクションに進み、これらのユース ケースに基づいて、エージェント パラメーターとそのユース ケース、および作成方法の詳細を確認します。

"予測の取得" アクションのエージェント パラメーターを作成する

通常、アクションには、使用する値を指定する必要があるパラメーターがあります。 ツールのアクションは、1 つの違いを除いてほぼ同じです。 エージェントがツールのアクションのパラメーター値を指定するために使用するエージェント パラメーターを作成できます。 モデル生成の出力、モデル以外のソースからの値、または組み合わせを指定できます。 詳細については、「 エージェントパラメーター」を参照してください。

次の表では、エージェント パラメーターを作成するためのユース ケースと、そのユース ケースに基づいてそれらを作成する場所について説明します。

移行先 エージェント パラメーターを作成する場所
モデル生成の出力のみを使用します。
同じツール内の他のアクションと共有します。
アクション パラメーターから開始します。 詳細な手順については、「 モデル生成出力のみを使用する」を参照してください。
モデル以外の値を使用します。 エージェント パラメーターは必要ありません。

このエクスペリエンスは、Azure Logic Apps の通常のアクション セットアップ エクスペリエンスと同じですが、「 モデル以外のソースからの値を使用する」で便宜上繰り返されます。
モデル生成の出力をモデル以外の値と共に使用します。
同じツール内の他のアクションと共有します。
ツールの [ エージェント パラメーター] セクションから開始します。 詳細な手順については、「 モデル出力とモデル以外の値を使用する」を参照してください。
モデル生成の出力のみを使用する

モデルで生成された出力のみを使用するアクション パラメーターの場合は、次の手順に従ってエージェント パラメーターを作成します。

  1. ツールで、アクションを選択して情報ウィンドウを開きます。

    この例では、アクションは 今日の予測の取得です

  2. [ パラメーター ] タブで、パラメーター ボックス内を選択して、パラメーター オプションを表示します。

  3. [ 場所 ] ボックスの右端にある星ボタンを選択します。

    このボタンには、次のヒントがあります。 エージェント パラメーターを生成する場合に選択します

    パラメーター ボックス内のマウス カーソル、パラメーター オプション、およびエージェント パラメーターを生成するための選択したオプションを示すアクションを示すスクリーンショット。

    [ エージェント パラメーターの作成 ] ウィンドウには、[ 名前]、[ 種類]、[ 説明] フィールドが表示され、ソース アクション パラメーターから事前に設定されます。

    次の表では、エージェント パラメーターを定義するフィールドについて説明します。

    パラメーター 価値 Description
    名前 < agent-parameter-name> エージェント パラメーター名。
    タイプ < エージェントパラメータデータ型> エージェント パラメーターのデータ型。
    説明 < agent-parameter-description> パラメーターの目的を簡単に識別するエージェント パラメーターの説明。

    Microsoft では、アクションの Swagger 定義に従うことをお勧めします。 たとえば、グローバルなマルチテナント Azure でホストおよび管理されている MSN Weather "共有" コネクタからの今日の予測の取得アクションについては、MSN Weather コネクタのテクニカル リファレンス記事を参照してください。

  4. 準備ができたら、 [作成] を選択します。

    次の図は、Location エージェント パラメーターを使用した今日の天気予報の取得アクションの例を示しています。

    スクリーンショットには、天気予報エージェント、Get Weather ツール、および [今日の予測の取得] という名前の選択されたアクションが示されています。Location アクション パラメーターには、作成されたエージェント パラメーターが含まれます。

  5. ワークフローを保存します。

モデル以外のソースの値を使用する

モデル以外の値のみを使用するアクション パラメーター値の場合は、ユース ケースに最適なオプションを選択します。

ワークフローで以前の操作からの出力を使用する

これらの出力から参照して選択するには、次の手順に従います。

  1. パラメーター ボックス内を選択し、稲妻アイコンを選択して動的コンテンツ リストを開きます。

  2. 一覧の [トリガーまたはアクション] セクションで、目的の出力を選択します。

  3. ワークフローを保存します。

式の結果を使用する

式を作成するには、次の手順に従います。

  1. パラメーター ボックス内を選択し、関数アイコンを選択して式エディターを開きます。

  2. 使用可能な関数から選択して式を作成します。

  3. ワークフローを保存します。

詳細については、 Azure Logic Apps のワークフロー式関数のリファレンス ガイドを参照してください。

モデル出力とモデル以外の値を使用する

一部のシナリオでは、モデルで生成された両方の出力と非モデル値を使用するアクション パラメーター値を指定する必要がある場合があります。 たとえば、静的テキスト、ワークフロー内の以前の操作からのモデル以外の出力、モデルによって生成された出力を使用する電子メール本文を作成できます。

これらのシナリオでは、次の手順に従って、ツールでエージェント パラメーターを作成します。

  1. デザイナーで、エージェント パラメーターを作成するツールを選択します。

  2. [ 詳細 ] タブの [ エージェント パラメーター] で、[ パラメーターの作成] を選択します。

  3. [ 新しいエージェント パラメーター] を展開し、次の情報を指定しますが、アクション パラメーターの詳細と一致します。

    この例では、例のアクションは今日の予報を取得することです

    Microsoft では、アクションの Swagger 定義に従うことをお勧めします。 たとえば、 今日の予測の取得 アクションに関するこの情報を確認するには、 MSN Weather コネクタのテクニカル リファレンス記事を参照してください。 このアクションの例は、グローバルなマルチテナント Azure でホストおよび実行される MSN Weather マネージド "共有" コネクタによって提供されます。

    パラメーター 価値 Description
    名前 < agent-parameter-name> エージェント パラメーター名。
    タイプ < エージェントパラメータデータ型> エージェント パラメーターのデータ型。
    説明 < agent-parameter-description> パラメーターの目的を簡単に識別するエージェント パラメーターの説明。 次のオプションから選択するか、それらを組み合わせて説明を指定できます。

    - パラメーターの目的、許可される値、制限、制限などの詳細を含むプレーン リテラル テキスト。

    - ワークフロー内の以前の操作からの出力。 これらの出力を参照して選択するには、[ 説明 ] ボックス内を選択し、稲妻アイコンを選択して動的コンテンツ リストを開きます。 一覧から、目的の出力を選択します。

    - 式の結果。 式を作成するには、[ 説明 ] ボックス内を選択し、関数アイコンを選択して式エディターを開きます。 使用可能な関数から選択して式を作成します。

    完了すると、[ エージェント パラメーター] の下に新しいエージェント パラメーターが表示されます。

  4. デザイナーのツールで、アクションを選択してアクション情報ウィンドウを開きます。

  5. [ パラメータ ]タブで、パラメータボックス内を選択してパラメータオプションを表示し、ロボットアイコンを選択します。

  6. [エージェント パラメーター] ボックスの一覧から、前に定義したエージェント パラメーターを選択します。

    たとえば、完成した Get Weather ツールは次の例のようになります。

    スクリーンショットは、エージェントと選択されているツール (現在の名称は Get weather) が表示されているワークフロー デザイナーを示しています。

  7. ワークフローを保存します。

電子メールを送信するツールを作成する

多くのシナリオでは、通常、エージェントには複数のツールが必要です。 この例では、エージェントには、天気予報を電子メールで送信するツールが必要です。

このツールをビルドするには、次の手順に従います。

  1. デザイナーのエージェント内で、既存のツールの横にあるプラス記号 (+) を選択してアクションを追加します。

  2. [ アクションの追加 ] ウィンドウで、次の 一般的な手順 に従って、新しいツールの別のアクションを選択します。

    例では、電子メールの送信 (V2) という名前の Outlook.com アクションを使用します。

    前と同様に、アクションを選択すると、新しい ツール とアクションの両方が、デザイナーのエージェント内に同時に表示されます。 両方の情報ウィンドウが同時に開きます。

    Weather エージェント、Get Weather ツール、および [電子メールの送信 ] (V2) という名前のアクションを含む新しいツールを含むワークフロー デザイナーを示すスクリーンショット。

  3. ツール情報ウィンドウで、ツール名を更新してツールの目的を明確にします。

    例では、[ 電子メールの送信] を使用します

  4. [ 詳細 ] タブで、次の情報を入力します。

    1. [ 説明] に、ツールの説明を入力します。

      この例では、 電子メールで天気予報を送信します。

"電子メールの送信 (V2)" アクションのエージェント パラメーターを作成する

このセクションの手順は、[ 予測の取得] アクションのエージェント パラメーターの作成とほぼ同じですが、[ 電子メールの送信 (V2)] アクションのさまざまなパラメーターを除きます。

  1. 前の手順に従って、[ 電子メールの送信 ( V2)] というアクションのアクション パラメーター値に対して次のエージェント パラメーターを作成します。

    アクションには、 ToSubjectBody という名前の 3 つのエージェント パラメーターが必要です。 アクションの Swagger 定義については、「 メールの送信 (V2)」を参照してください。

    たとえば、[ 電子メールの送信 (V2)] アクションは次の例のようになります。

    完了すると、アクションの例では、次に示すように、前に定義したエージェント パラメーターが使用されます。

    スクリーンショットには、[Send an email V2]\(電子メールの送信 V2\) という名前のアクションの情報ペインと、To、Subject、Body という名前の以前に定義されたエージェント パラメーターが示されています。

    2 つ目のツールの例が完成し、次の例のようになります。

    スクリーンショットは、エージェント内の完成した 2 番目のツールを示しています。

サブスクライバー リストを提供するツールを作成する

最後に、この例では、 Get サブスクライバー という名前のツールを作成して、使用するエージェント パラメーター値のサブスクライバー リストを提供します。 このツールでは、 Compose アクションを使用して、サブスクライバー名、メール アドレス、および場所を指定します。 または、BLOB ストレージまたはデータベースからこれらの入力をソースにすることもできます。 Azure Logic Apps には、データ ソースとして使用できる多くのオプションが用意されています。

次の例は、 サブスクライバーの取得 ツールの外観を示しています。

登録者情報を含むComposeアクションを備えた、登録者を取得するという名前の新しいツールを持ったエージェントを示すスクリーンショット。

エージェントとツールのベスト プラクティス

次のセクションでは、より優れたエージェントとツールの構築に役立つ推奨事項、ベスト プラクティス、およびその他のガイダンスについて説明します。

Agents

次のガイダンスでは、エージェントのベスト プラクティスを示します。

"Compose" アクションを使用したエージェントとツールのプロトタイプ作成

実際のアクションとライブ接続を使用してエージェントとツールのプロトタイプを作成するのではなく、 Compose アクション を使用して実際のアクションを "モック" またはシミュレートします。 この方法には次のような利点があります。

  • 作成 アクションでは副作用が発生しないため、これらのアクションはイデーション、設計、テストに役立ちます。

  • ライブ接続を設定して使用しなくても、システム命令、プロンプト、ツール名、説明、エージェントのパラメーターと説明の下書きと調整を行うことができます。

  • エージェントとツールが Compose アクションでのみ動作することを確認すると、実際のアクションを入れ替える準備が整います。

  • 実際のアクションに切り替えるときは、エージェント パラメーターを再ルーティングまたは再作成して、実際のアクションを操作する必要があります。時間がかかる場合があります。

チャット履歴コンテキストの長さを管理する

ワークフロー エージェントは、次の対話のために保持してモデルに渡すトークンまたはメッセージの数に関する現在の制限に基づいて、ツール呼び出しを含むチャット履歴またはコンテキストを保持します。 時間の経過と同時に、エージェントの履歴が拡大し、最終的にモデルの コンテキスト長 の制限または入力トークンの最大数を超えます。 モデルはコンテキストの長さが異なります。

たとえば、 gpt-4o では 128,000 個の入力トークンがサポートされています。各トークンの文字数は 3 から 4 文字です。 エージェント履歴がモデルのコンテキスト長に近づく場合は、古いメッセージまたは無関係なメッセージを削除して制限を超えないようにすることを検討してください。

エージェント履歴を減らす方法を次に示します。

  • [作成] アクションを使用して、ツールの結果のサイズを小さくします。 詳細については、「 ツール - ベスト プラクティス」を参照してください。

  • システム命令とプロンプトを慎重に作成して、モデルの動作を制御します。

  • 試験段階の機能: チャット履歴に保持してモデルに渡すトークンまたはメッセージの最大数を減らすことができるように、チャットの削減を試すことができます。

    ワークフロー エージェントには、 Azure OpenAI 組み込みのサービス プロバイダー コネクタとほぼ同じ高度なパラメーターがあります。ただし、 エージェント履歴の縮小の種類 の高度なパラメーターは、エージェントにのみ存在します。 このパラメーターは、トークンまたはメッセージの最大数に基づいて、エージェントが保持する履歴を制御します。

    この機能はアクティブな開発段階にあり、すべてのシナリオで動作しない場合があります。 [エージェント履歴の削減の種類] オプションを変更して、トークンまたはメッセージの制限を減らすことができます。 次に、必要な数値の制限を指定します。

    この機能を試すには、次の手順に従います。

    1. デザイナーで、エージェントのタイトル バーを選択して情報ウィンドウを開きます。

    2. [ パラメーター ] タブで、[ 高度なパラメーター ] セクションを見つけます。

    3. Agent History Reduction Type という名前のパラメーターが存在するかどうかを確認します。 そうでない場合は、[ 詳細パラメーター ] ボックスの一覧を開き、そのパラメーターを選択します。

    4. [エージェント履歴の削減の種類] ボックスの一覧から、次のいずれかのオプションを選択します。

      Option Description
      トークン数の削減 [最大トークン数] という名前のパラメーターを表示します。 エージェント履歴に保持し、次の対話のためにモデルに渡すトークンの最大数を指定します。 既定値は、Azure OpenAI サービスで現在使用されているモデルによって異なります。 既定の制限は 128,000 です
      メッセージ数の削減 Message Count Limit という名前のパラメーターを表示します。 エージェント履歴に保持し、次の対話のためにモデルに渡すメッセージの最大数を指定します。 既定の制限はありません。

Tools

次のガイダンスでは、ツールのベスト プラクティスを示します。

  • この名前は、ツールにとって最も重要な値です。 名前が簡潔でわかりやすいものになっていることを確認します。

  • ツールの説明では、ツールに役立つ便利なコンテキストが提供されます。

  • ツール名と説明の両方に文字制限があります。

    一部の制限は、ワークフロー内のエージェントに変更を保存する場合ではなく、実行時に Azure OpenAI Service のモデルによって適用されます。

  • 同じエージェント内のツールが多すぎると、エージェントの品質に悪影響を及ぼす可能性があります。

    適切な一般的なガイドラインでは、エージェントに含まれるツールは 10 個以下にすることをお勧めします。 ただし、このガイダンスは、Azure OpenAI サービスから使用するモデルによって異なります。

  • ツールでは、アクションがすべての入力をモデルから取得する必要はありません。

    モデル以外のソースからのアクション入力と、モデルからの入力を細かく制御できます。 たとえば、ツールに電子メールを送信するアクションがあるとします。 プレーンでほとんど静的な電子メール本文を提供できますが、その電子メール本文の一部にはモデル生成の出力を使用します。

  • モデルに渡す前に、ツールの結果をカスタマイズまたは変換します。

    作成アクションを使用して、モデルに渡す前にツールから結果を変更できます。 この方法には次のような利点があります。

    • モデルに渡される無関係な コンテキスト を減らすことで、応答の品質を向上させます。 大きな応答から必要なフィールドのみを送信します。

    • モデルに渡されるトークンの課金料金を減らし、モデルに渡されるトークンの最大数である コンテキスト長に対するモデルの制限を超えないようにします。 必要なフィールドのみを送信します。

    • ツール内の複数のアクションの結果を結合します。

    • ツールの結果をモックして、実際のアクションから予想される結果をシミュレートできます。 モック アクションは、データをソースで変更せず、Azure Logic Apps の外でのリソース使用に対する料金も発生しません。

エージェント パラメーター

次のガイダンスでは、エージェント パラメーターのベスト プラクティスを示します。

  • 名前は、エージェント パラメーターの最も重要な値です。 名前が簡潔でわかりやすいものになっていることを確認します。

  • エージェント パラメーターの説明は、ツールに役立つ便利なコンテキストを提供します。

問題の診断

このセクションでは、エージェント ワークフローをビルドまたは実行するときに発生する可能性のあるエラーや問題のトラブルシューティングに役立つガイダンスについて説明します。

ツールの実行データを確認する

ワークフロー実行履歴には、特定の実行中に何が起こったかを知るのに役立つ有用な情報が用意されています。 エージェント ワークフローの場合、特定のエージェント ループイテレーションのツール実行の入力と出力を見つけることができます。

  1. ワークフロー メニューの [ ツール] で [ 実行履歴 ] を選択し、[ 実行履歴 ] ページを開きます。

  2. [ 実行履歴 ] タブの [ 識別子 ] 列で、目的のワークフロー実行を選択します。

    監視ビューが開き、各ステップの状態が表示されます。

  3. 検査するエージェントを選択します。 右側に、[ エージェント ログ ] ウィンドウが表示されます。

    このウィンドウには、操作中のツールの実行を含むエージェント ログが表示されます。

  4. 特定の時点でツール実行データを取得するには、エージェント ログでそのポイントを見つけて、ツール実行参照を選択します。次に例を示します。

    エージェント ログと選択したツール実行リンクを示すスクリーンショット。

    このアクションにより、監視ビューの一致するツールに移動します。 エージェントは現在のイテレーション数を表示します。

  5. 監視ビューで、確認する入力、出力、およびプロパティを含むエージェントまたはアクションを選択します。

    次の例は、以前に選択したツールの実行に対して選択したアクションを示しています。

    監視ビュー、現在のエージェント ループイテレーション、選択したアクションと、この時点での入力と出力を示すスクリーンショット。

    エージェントを選択した場合、モデルに渡され、モデルから返される次の情報を確認できます。たとえば、次のようになります。

    • モデルに渡される入力メッセージ。
    • モデルから返された出力メッセージ。
    • モデルがエージェントに呼び出しを求めたツール。
    • モデルにフィードバックされたツールの結果。
    • 各要求で使用されたトークンの数。
  6. 別のエージェント ループイテレーションを確認するには、エージェントで左矢印または右矢印を選択します。

Application Insights のログ

ワークフローの Application Insights または高度なテレメトリを設定した場合は、他のアクションと同様に、エージェント イベントのログを確認できます。 詳細については、「 Azure Logic Apps の標準ワークフローの Application Insights で拡張テレメトリを有効にして表示する」を参照してください。

モデルの最大コンテキスト長を超えました

エージェントのログ履歴がモデルの コンテキスト長または入力トークンの最大数を超えている場合は、次の例のようなエラーが発生します。

このモデルの最大コンテキスト長は 4097 トークンです。 ただし、4927 トークン (メッセージでは 3927、完了時は 1000) を要求しました。 メッセージまたは完了の長さを短くしてください。

エージェントがログに保持し、次の対話のためにモデルに渡すトークンまたはメッセージの数の制限を減らしてみてください。 この例では、[ トークン数の削減 ] を選択し 、[最大トークン数 ] をエラーの指定された最大コンテキスト長 ( 4097) より下の数値に設定できます。

詳細については、「 チャット履歴のコンテキスト長の管理」を参照してください。

サンプル リソースをクリーンアップする

例用に作成したリソースが不要な場合は、引き続き課金されないようにリソースを削除してください。 これらの手順に従って、これらのリソースを含むリソース グループを削除することも、各リソースを個別に削除することもできます。

  1. Azure 検索ボックスに「 リソース グループ」と入力し、[ リソース グループ] を選択します。

  2. この例のリソースを含むリソース グループを見つけて選択します。

  3. [ 概要 ] ページで、[ リソース グループの削除] を選択します。

  4. 確認ウィンドウが表示されたら、リソース グループ名を入力し、[削除] を選択 します