0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Azure Logic Apps での AI エージェントとモデルを使用したワークフロー を試す

Posted at

Azure Logic Apps に新登場したエージェント ワークフローで遊んでみた記録です。このワークフローのポイントとしてはエージェント自身が指示に従い、取るべきアクションを考えて遂行してくれるところのようです。

およそこちらのドキュメントに従います。
AI エージェントとモデルを使用してワークフローを作成する - Azure Logic Apps | Microsoft Learn

エージェント ワークフローとは

image.png

All the benefits of Stateful, plus the option to build AI agents.

AI エージェントとモデルを使用したワークフロー - Azure Logic Apps | Microsoft Learn

エージェントを使用するワークフローは、エージェント以外のワークフローに課せられる制限を超えて進化する可能性があります。

ワークフローを作成してみる

Workflow type が Agentic になります。

image.png

デザイナー上はこんな感じです。

image.png

コードはこんな感じです。まっさらです。

{
    "definition": {
        "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
        "actions": {},
        "contentVersion": "1.0.0.0",
        "outputs": {},
        "triggers": {}
    },
    "kind": "Agentic"
}

エージェントに接続する

エージェントを動かすために、接続を作成します。以下があらかじめ必要です。

Azure OpenAI サービス リソース。
Azure OpenAI サービス リソース用にデプロイされた Azure OpenAI サービス モデル。

image.png

AI エージェントとモデルを使用してワークフローを作成する - Azure Logic Apps | Microsoft Learn

詳細は上記ドキュメントにありますが、以下ではマネージド ID を使用します。

image.png

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

システム割り当て ID が無効になっている場合は、 ID を再び有効にします。
システム割り当て ID には、 最小特権の原則に基づいて、Microsoft Entra ロールベースのアクセス (RBAC) に対して次のいずれかのロールが必要です。

  • Cognitive Services OpenAI ユーザー (最小特権)
  • Cognitive Services OpenAI 共同作成者

エージェントに指令する

image.png

チャットに投稿するよう設定する

image.png

ここでは以下をパラメータとして送ってみます。

{"text":"おなかがすいたよ"}

実行する

ペイロードで実行してみます。

image.png

入力文が見えます。

image.png

以下のように投稿してくれました。

image.png

「アイスが食べたいよ」

image.png

無事 文 と合わせて 絵文字 を投稿してくれました。

image.png

コード

コード全文は以下のようになりました。

{
    "definition": {
        "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
        "actions": {
            "Default_Agent": {
                "type": "Agent",
                "inputs": {
                    "parameters": {
                        "agentModelType": "AzureOpenAI",
                        "deploymentId": "gpt-4o",
                        "messages": [
                            {
                                "role": "system",
                                "content": "以下に入力された文に従って感情を判断してそれを絵文字のみで表現し Teams で投稿してください。@{triggerBody()?['text']}"
                            }
                        ],
                        "agentModelSettings": {
                            "agentHistoryReductionSettings": {
                                "agentHistoryReductionType": "maximumTokenCountReduction",
                                "maximumTokenCount": 128000
                            },
                            "deploymentModelProperties": {
                                "name": "gpt-4.1",
                                "format": "OpenAI",
                                "version": "2025-04-14"
                            }
                        }
                    },
                    "modelConfigurations": {
                        "model1": {
                            "referenceName": "agent"
                        }
                    }
                },
                "tools": {
                    "Tool": {
                        "actions": {
                            "チャットまたはチャネルでメッセージを投稿する": {
                                "type": "ApiConnection",
                                "inputs": {
                                    "host": {
                                        "connection": {
                                            "referenceName": "teams-1"
                                        }
                                    },
                                    "method": "post",
                                    "body": {
                                        "recipient": {
                                            "groupId": "<Teams の Group ID>",
                                            "channelId": "<Teams の Channel ID>"
                                        },
                                        "messageBody": "<p class=\"editor-paragraph\">@{triggerBody()?['text']} @{agentParameters('メッセージ')}</p>"
                                    },
                                    "path": "/beta/teams/conversation/message/poster/Flow bot/location/@{encodeURIComponent('Channel')}"
                                }
                            }
                        },
                        "description": "Agent の答えをチャットに渡します",
                        "agentParameterSchema": {
                            "type": "object",
                            "properties": {
                                "メッセージ": {
                                    "type": "string",
                                    "description": "Agent の出力"
                                }
                            },
                            "required": [
                                "メッセージ"
                            ]
                        }
                    }
                },
                "runAfter": {},
                "limit": {
                    "count": 100
                }
            }
        },
        "contentVersion": "1.0.0.0",
        "outputs": {},
        "triggers": {
            "When_a_HTTP_request_is_received": {
                "type": "Request",
                "kind": "Http",
                "inputs": {
                    "schema": {
                        "text": "<text>"
                    }
                }
            }
        }
    },
    "kind": "Agentic"
}

まとめ

AI エージェントとモデルを使用してワークフローを作成する # エージェントのシステム指示を設定する に以下説明があります。

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

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

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

命令がテキトウだったり、関連するアクションが用意されていなかったりすると、エージェントさんはアクションを遂行できません。

image.png

image.png

AI エージェントとモデルを使用してワークフローを作成する # エージェントとツールのベスト プラクティス にもあるように "Compose" アクションを使用してプロトタイプの形から作っていくのが良さそうです。

その他関連

📢Announcing agent loop: Build AI Agents in Azure Logic Apps 🤖 | Microsoft Community Hub
🤖 Agent Loop Demos 🤖 | Microsoft Community Hub
AI プレイブック、例、サンプル - Azure Logic Apps | Microsoft Learn

以上お試しのまとめでした!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?