2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Facbric Data Agentを呼び出すCopilot Studio マルチエージェント x Code Interpreterでグラフも作成!

Last updated at Posted at 2025-10-01

はじめに

みなさん、こんにちは。
マイクロソフト佐々木です。
本日は、Facbric Data Agentを呼び出すCopilot Studio マルチエージェント を題材に、生成オーケストレーションモードのエージェントの開発方法についてご紹介します。

image.png

紹介する内容

  • AI ToolsのCode Interpreterでグラフを作成する
  • Fabric Data Agent をマルチエージェントとして呼び出す

開発の流れ

  1. AI ToolsのCode Interpreterのモデルを作成する
  2. エージェントフローから呼び出す
  3. Copilot Studioでテストする(結合)
  4. Fabric Agentを作成する
  5. Copilot Studioから呼び出しテストする(最終結合)

開発する!

AI ToolsのCode Interpreterのモデルを作成する

グラフを作成するCode Interpreterの作成方法は様々ありますが、今回はAI Toolsから作成したいと思います。
Copilot StudioのToolから新規作成します。

image.png

カスタムプロンプトが作成されたら、[コードインタプリタ―を有効化する]にチェックを入れます。
もし、こちらが表示されない場合は、Power Platform管理センターの設定で制御されている可能性が高いです。
image.png

今回はこちらのプロンプトをテスト的に入力して、グラフ生成をテストします。

指示文
## 目的
財務データ(Actual vs Budget)の比較を経営層向けに可視化する。  
単月推移と累計の両方を一目で理解できる単一のグラフを生成する。


## 出力形式
- グラフは PNG
- Markdown に埋め込み可能な形式で返す(Base64)


## グラフ要件
1. **月次推移(Apr, May, Jun)**
   - X軸: 月(Apr, May, Jun)
   - Y軸: 金額(億円単位 or 10^9 表記、数値範囲は見やすいように)
   - 表示要素:
     - 棒グラフ: Actual(金額)
     - 折れ線: Budget(金額)
   - 注釈:
     - 達成率(%)を折れ線上にラベル表示
   - グラフ表記はすべて英語


2. **デザイン**
   - Actual: 青系の棒
   - Budget: 灰色の折れ線
   - 達成率が100%超なら白、未達なら赤で表示
   - 経営層が一目で理解できるシンプルな見栄えにする


3. ** Summaryセクション**
 - Summaryは日本語で改行を含むマークダウン形式です。丁寧な日本語を心掛けます。各月のデータや合計値を説明します。Summaryで使われる表記は円表記にします。

image.png

入力引数にサンプルデータを投入し、テストします

サンプル
{
  "Summary": {
    "Period": "2025 Apr–Jun",
    "Metric": "Net Sales & Operating Revenues",
    "AchievementRate": 102.5,
    "Difference": 3200000000
  },
  "Figures": {
    "Monthly": {
      "Apr": {
        "Current": 40300000000,
        "Base": 40600000000,
        "Difference": -300000000,
        "AchievementRate": 99.3
      },
      "May": {
        "Current": 47800000000,
        "Base": 46500000000,
        "Difference": 1300000000,
        "AchievementRate": 102.8
      },
      "Jun": {
        "Current": 43800000000,
        "Base": 43400000000,
        "Difference": 400000000,
        "AchievementRate": 100.9
      }
    },
    "Cumulative": {
      "Period": "Apr–Jun",
      "Current": 131900000000,
      "Base": 130500000000
    }
  },
  "Calculation": {
    "Difference": 3200000000,
    "AchievementRate": 102.5
  }
}

結果を確認するとグラフがそれとなく生成されています。
裏側でPythonスクリプトが実行されています。

image.png

テキストでは後続で取り扱えないので、JSONにします。
本来だと入れ子構造のJSON形式で出てくるのですが、取り扱いが面倒なので、今回は形式を変えてしまいます。
image.png

image.png

image.png

エージェントフローから呼び出す

エージェントフローを作成し、前の手順で作成したAI Toolsを呼び出すフローを作成します。
今回は最低限の処理だけを実行します。
最終的に作成したエージェントフローです。
image.png

作成したエージェントフローをエージェントに追加します。説明などはお任せします。
image.png

重要なのは出力の形式でBase64形式のイメージで直接扱うため、アダプティブカードで表示させる必要があります。トピック内で処理させてもいいですが、今回はアダプティブカードのImageとして表示させたいと思います。
image.png

Copilot Studioでテストする(結合)

Copilot Studioからテストします。
生成オーケストレーションモードなので、指示文を書きますが、今回は最低限にグラフを作成できるエージェントフローが実行する指示文でOKです。
※ データは後続のFabric Agentからもらうので、今回は直接Copilot Studioのエージェントに渡しちゃいます

いい感じに出力されました。
image.png

Fabric Agentを作成する

Fabricに実績vs予算のデータを用意する

FabricにCSVデータを投入し、セマンティックモデルを用意します。グラフに必要な列は最低限用意してあげます。
image.png

image.png

image.png

Fabric Agentを作成する

データエージェントを作成し、さきほど作成したセマンティックモデルをデータソースとして指定します。
image.png

AIへの指示文も適宜変更します。今回は最低限だけです。
場合によっては、JSON形式に出力させるなどした方が後続で扱いやすいと思います。

AIへの指示
あなたは売上データ集計アシスタントです。

[条件]
- FY = 2025
- SCENARIO = "ACT" と "BGT"
- 粒度はユーザーの質問に応じる:
  ・「Apr」「May」など単月指定なら、その月だけ集計
  ・「Q1」「Q2」「Q3」「Q4」指定なら、定義に従って3ヶ月を集計
    - Q1 = Apr, May, Jun
    - Q2 = Jul, Aug, Sep
    - Q3 = Oct, Nov, Dec
    - Q4 = Jan, Feb, Mar
- 集計値 = SUM(AMOUNT)
- 出力値:
  - Current = ACT
  - Base = BGT
  - Difference = Current - Base
  - AchievementRate = Current / Base * 100

いい感じにアウトプットが得られました。
このエージェントをCopilot Studioから呼び出しましょう。
こちらの手順で忘れずにFabricのデータエージェントを公開します。
image.png

Copilot Studioから呼び出しテストする(最終結合)

うえの手順で作成したFabricのデータエージェントをCopilot Studioから呼び出します。
マルチエージェントとして呼び出しますが、実態はMCPです。
image.png

image.png

設定ができたら、Copilot Studioの指示文です。こちらも最低限で忖度気味に書きたいと思います。

AIへの指示
企業経営者向けに PL データ分析を支援します。
FabricAgent を呼び出してデータを取得・整形します。
最終返答は FabricAgentの出力をベースに簡潔化したMarkdown形式 で提示します。必要に応じて、比較分析やグラフ生成を行い、経営層が理解しやすい形に変換します。

# タスクの流れ

## Step1|PL データ取得(PL_FabricAgent 呼び出し)
入力文を 英語1000字未満に要約翻訳し、userQuestion_en を作成
返答は FabricAgent の Markdown をそのまま返す。ただし冗長な表現は省き、経営層が理解しやすいように整形可

## Step2|比較分析・グラフ作成
その数値をそのまま利用し、 エージェントフロー_グラフ作成 を呼び出し実行します

image.png

テストしてみましょう。
Fabricからのデータをエージェントフローを利用して、Code Interpreterを実行するAI Toolsを呼び出すことに成功しました。
image.png

おわり

今回はFabricのデータを分析するFabricエージェントをCopilot Studioから呼び出す方法、グラフを作成するCode Interpreter機能の紹介、その呼び出し方についてご説明しました。
お役にたてれば幸いです。

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?