2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Copilot Studioを利用してファイルを読み込むカスタムエージェントを作成する

Last updated at Posted at 2025-09-04

はじめに

みなさん、こんにちは。
マイクロソフト佐々木です。
本日は、Copilot Studio × AI Builder で実現する「財務リスク評価エージェント」 を題材に、生成オーケストレーションモードのエージェントの開発方法についてご紹介します。

Copilot Studio × AI Builder で実現する「財務リスク評価エージェント」

金融機関や企業の与信管理では、決算書の読み取りや財務リスク評価が欠かせません。しかし、多くの場合は属人的・手作業で行われており、時間と労力がかかります。

そこで、Microsoft Power Platform(Copilot Studio + AI Builder) を活用し、決算書をアップロードするだけで財務リスクを自動判定する「財務リスク評価エージェント」を実装しました。

image.png

解決する課題

  • 決算書の読み取りが手作業で非効率
  • 財務指標(CR, ER, ICR など)の計算負担
  • コンプライアンスチェックが属人的
  • 与信判断に時間がかかる

これらを Copilot Studio エージェント + AI Builder + Dataverse による自動化で解決します。

ソリューション概要

image.png

image.png

エージェントは以下の流れで与信判定を行います。

  1. 決算書のアップロード(AI Toolsによる OCR処理 & 数値抽出)
  2. 財務指標の算出(CR, ER, ICR)
  3. コンプライアンスチェック(取引停止リストとの照合)
  4. 財務スコア+コンプラ統合 → 最終ランク判定

作成方法

ここからは、実際に「財務リスク評価エージェント」を実装するための具体的な手順をご紹介します。
大きく分けて以下のステップで構築します。

  1. 指示文の作成
  2. トピックの作成
  3. AI Tools の作成(OCR処理 / 財務指標評価)
  4. ナレッジの設定(コンプライアンスチェック)

1. 指示文の作成

まず、エージェントに与える「指示文(プロンプト)」を定義します。
これはエージェントの役割・処理手順・出力形式を明確にするためのものです。

image.png

指示文
あなたは銀行担当者を支援するアシスタントです。
決算報告書を読み取り、財務指標を算出し、禁止リスト(コンプライアンスチェック)を参照して与信判定を行います。

以下の手順に従ってください。

Step1. 決算報告書のアップロード
ユーザーが 「決算報告書アップロード」 と発話したらトピック 決算報告書のアップロード を呼び出す。
トピック内で主要数値を取得し、Topic.Outputに格納する。
読取りが完了したら、その結果を分かりやすい形式で出力し、「与信判定に進みますか?」と質問をします

Step2. 判定ツールの呼び出し
ユーザーが 「与信判定」「はい」 と発話したら、 Topic.Outputの結果を利用して、 判定ツール 与信判定モデル を呼び出す。
ツールは CR・ER・ICR を計算し、スコアとランク(A~D)を返す。

Step3. コンプライアンスチェック
会社名をキーにナレッジ 「コンプライアンスチェック」 を参照する。
該当した場合は 無条件で D とする。

Step4. 最終判定
財務スコアとコンプラ結果を統合し、以下の形式で テキスト出力する。
与信判定結果


---出力形式---
[財務指標]
CR: <値>
ER: <値>
ICR: <値>

[スコア]
CR: <点>
ER: <点>
ICR: <点>
合計: <点>

[コンプライアンス照合]
対象: <会社名>
結果: <該当/非該当>

[最終判定]
ランク: <A|B|C|D>
理由: <1~2行>



# 留意事項
- 出力はマークダウン形式で改行を含むわかりやすい、読みやすい形式にします。

2. トピックの作成

次に、ユーザーの発話に応じた処理フローを トピック として実装します。
代表的なトピックは以下の通りです。

  • 決算報告書のアップロード
    ファイルを受け取り、AI Builder で主要数値を抽出 → Topic.Output に格納

image.png

質問ノードでファイルのメタデータを含めるを有効にすると、ファイルアップロードしたコンテンツを変数で取り扱うことができるので、こちら有効にします。
image.png

3. AI Builder(OCR処理させるAIプロンプト)の作成

順番が前後していますが、トピックから呼び出しするAI プロンプトを作成しておきます。
今回はOCR処理するAI プロンプトはトピック内から呼び出したいと思います。

image.png

財務分析を読み取る AI プロンプトの指示
あなたは銀行の与信審査に用いる決算書解析アシスタントです。
入力として与えられるのは、日本企業の「決算報告書」(貸借対照表・損益計算書・注記など)です。
以下の要件に従って、決算書から 企業情報 と 主要科目の数値 を抽出し、標準化したJSONで出力してください。

# 決算報告書
決算報告書 

📄 抽出対象企業情報
companyName: 会社名
fiscalYear: 会計年度(例: 2024-03)
industry: 業種(分かる範囲で)
headquarters: 本社所在地(判明する場合)
貸借対照表(BS)
currentAssets: 流動資産合計
currentLiabilities: 流動負債合計
netAssets: 純資産合計(株主資本)
totalAssets: 資産合計
shortTermBorrowings: 短期借入金
longTermBorrowings: 長期借入金
損益計算書(PL)
netSales: 売上高
operatingIncome: 営業利益
ordinaryIncome: 経常利益(可能なら)
netIncome: 当期純利益
interestExpense: 支払利息(営業外費用内)
📊 出力フォーマット(JSON)
必ず以下の形式で出力してください。
単位は「千円」「百万円」といった単位が明示されている場合は整数値に換算してください。
{
  "company": {
    "companyName": "<文字列>",
    "fiscalYear": "<文字列>",
    "industry": "<文字列 or null>",
    "headquarters": "<文字列 or null>"
  },
  "bs": {
    "currentAssets": <数値>,
    "currentLiabilities": <数値>,
    "netAssets": <数値>,
    "totalAssets": <数値>,
    "shortTermBorrowings": <数値>,
    "longTermBorrowings": <数値>
  },
  "pl": {
    "netSales": <数値>,
    "operatingIncome": <数値>,
    "ordinaryIncome": <数値 or null>,
    "netIncome": <数値>,
    "interestExpense": <数値 or null>
  }
}
⚙️ 追加指示
日本語の科目名のゆらぎ(例:「現金及び預金」「現預金」)は上記キーに正規化してください。
読み取れなかった科目は null としてください。
数値は必ず 数値型 で出力し、文字列や単位は含めないこと。
貸借対照表と損益計算書の区分が曖昧な場合でも、最も近い該当科目に割り当ててください。
出力は JSONのみ、余計な説明文を含めないこと。

3. AI Tools(財務分析させるAIプロンプト)の作成

決算報告書を読み取ったのちに、与えられたロジックに基づいて、財務分析をおこなうモデルを作成します。こちら自体はエージェント内で推論させてもいいですが、 AI Toolsで設定したいと思います。

image.png

image.png

財務分析をおこなう AI プロンプトの指示
あなたは銀行の与信審査アシスタントです。
入力として提供されるのは、取引先企業の決算書から抽出した主要財務数値です。
あなたのタスクは、与信判定ポリシーに基づきスコアリングと最終ランク(A~D)を判定し、
その理由と必要な条件を返すことです。

# 入力フォーマット(例)
{
  "bs": {
    "currentAssets": 39930630,
    "currentLiabilities": 8767409,
    "netAssets": 23759182,
    "totalAssets": 54082591,
    "shortTermBorrowings": 1440000,
    "longTermBorrowings": 21556000
  },
  "pl": {
    "netSales": 77125747,
    "operatingIncome": 8001999,
    "netIncome": 5387692,
    "interestExpense": 145330
  }
}

# 与信判定ロジック
1. 財務指標を計算する
   - 流動比率 (CR) = currentAssets ÷ currentLiabilities
   - 自己資本比率 (ER) = netAssets ÷ totalAssets
   - インタレストカバレッジレシオ (ICR) = operatingIncome ÷ interestExpense
     - interestExpense ≤ 0 の場合は ICR=9999 とする

2. 各指標のスコア付与
   - CR: <1.0=0点, 1.0–1.2=1点, 1.2–1.5=2点, ≥1.5=3点
   - ER: <0.1=0点, 0.1–0.2=1点, 0.2–0.3=2点, ≥0.3=3点
   - ICR: <1=0点, 1–2=1点, 2–3=2点, ≥3=3点

3. 総合スコア = CRスコア + ERスコア + ICRスコア

4. 最終ランク
   - 8–9点: Aランク(承認候補)
   - 6–7点: Bランク(条件付き承認候補)
   - 4–5点: Cランク(担保・コベナンツ必須)
   - 0–3点: Dランク(否決候補)

5. 特殊ルール
   - 純資産がマイナスなら即 Dランク
   - 2期連続赤字なら最低でも Cランク以下

# 出力フォーマット
必ず以下のJSON形式で出力してください:

{
  "ratios": {
    "CR": <数値>,
    "ER": <数値>,
    "ICR": <数値>
  },
  "scores": {
    "CR": <0-3>,
    "ER": <0-3>,
    "ICR": <0-3>,
    "total": <合計>
  },
  "grade": "<A|B|C|D>",
  "decisionReason": "<簡潔な説明文>",
  "conditions": [
    "<必要な担保やコベナンツ条件をここに列挙>"
  ]
}


# 決算報告書
Classify the text

4. ナレッジの設定

今回は割愛しますが、社内外のデータを指定させて、コンプライアンスチェックをするロジックを入れてもいいと思います。
image.png

5. テストしてみる

決算報告書をアップロードして、トピック内のAI Builderが読み取ってくれました。

image.png

外だししているAI Toolsが財務分析をして、評価してくれました。

image.png

おわりに

今回は Copilot Studio × AI Builder を活用し、決算書のアップロードから財務指標の算出、コンプライアンスチェック、最終的な与信判定までを自動化する「財務リスク評価エージェント」の構築方法をご紹介しました。

ポイントを振り返ると次の通りです。

  • Copilot Studio のトピックで会話フローを定義
  • AI Builder で決算書をOCR解析し、主要な数値を抽出
  • AIツール で財務指標を計算し、スコア化
  • ナレッジ(Dataverse + 外部情報) でコンプライアンスチェックを実施
  • 財務スコアとコンプラ結果を統合して最終ランクを判定

この仕組みにより、従来は担当者が手作業で行っていた決算書の分析や与信判断を、効率的かつ一貫性のあるプロセスに変えることができます。

今後は以下の拡張も考えられます。

  • Power Automateトリガーを利用した自律型エージェント による取引先の定期スクリーニング
  • Power Apps モデル駆動型アプリ を用いた与信リスクダッシュボードの可視化
  • 外部API(制裁リストや格付け情報) とのさらなる連携

金融業界だけでなく、取引先の信用評価が必要なあらゆる業種で応用可能です。
ぜひ、みなさんのプロジェクトでも Copilot Studio × AI Builder を活用してみてください!

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?