ファンリピート社のブログFR note

Visual Studio Code(VS Code)の拡張機能Copilot Studioで作る!エージェント開発ガイド

⚠️こちらの記事は2026年1月27日に作成した記事です。
Microsoft Copilot Studio VS Code拡張機能は継続的にアップデートされていくと考えられるため、本記事の内容と実際の動作が異なる場合があります。
最新の仕様や手順については、公式ドキュメントをご参照ください。

Copilot Studioの拡張機能はまだ新しく、筆者自身も試行錯誤しながら検証しました。
そのため、記載内容に誤りがある可能性があります
「ここ違うよ!」という箇所がありましたら、ぜひコメントで教えていただけますと幸いです。

目次

はじめに

Microsoft Copilot StudioのVisual Studio Code拡張機能が一般提供(GA)されました。

これにより、従来のWebベースのCopilot Studio UIに加えて、使い慣れたVS Codeでエージェント開発が可能になりました。

本記事では、SharePointリストをナレッジソースとした有給申請QAエージェントを、VS Code拡張機能を使って開発する手順を解説します。

この記事で学べること

  • VS Code拡張機能のセットアップ
  • SharePointリストをナレッジソースとして設定
  • YAMLベースでのエージェント編集

1. 前提条件と準備

必要なもの

項目要件
Visual Studio Code最新版推奨
Microsoft 365 ライセンスCopilot Studio利用権限
Power Platform 環境開発用環境
SharePoint サイトリストを作成済み

SharePointリストの構造

今回使用する有給申請リストの列構成は以下の通りです:

列名データ型説明
氏名1行テキスト従業員の氏名
Email1行テキストメールアドレス
従業員コード1行テキスト社員ID(例: E10433)
所属店1行テキスト勤務地(東京本店、大阪支店など)
所属部署1行テキスト部署名(営業部、人事部など)
最新有給申請日日付と時刻直近の申請日
最新有給使用開始日日付と時刻有給取得開始日
最新有給使用終了日日付と時刻有給取得終了日
最新有給残日数数値残りの有給日数

SharePointリストURL例
https://your-tenant.sharepoint.com/sites/CopilotStudio/Lists/List/XXXXXX.aspx

2. VS Code拡張機能のインストール

2.1 拡張機能のインストール

  1. VS Codeを起動します
  2. 拡張機能パネルを開きます(Ctrl + Shift + X
  3. 検索バーに「Copilot Studio」と入力し、CopilotStudioを選択(Microsoftが発行していることを確認)
  4. インストールボタンをクリック
  1. インストール完了後、アクティビティバーにCopilot Studioアイコンが表示されることを確認

参考: Install the Microsoft Copilot Studio extension for Microsoft Visual Studio Code
https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/visual-studio-code-extension-install-configure

2.2 Microsoftアカウントでサインイン

  1. Copilot Studioアイコンをクリック
  2. Sign in to Copilot Studioをクリック
  1. ブラウザが開き、Microsoft 365アカウントでサインイン
  1. 認証完了後、VS Codeに戻る

3. Copilot Studioでエージェントを作成(Web UI)

VS Codeでクローンする前に、まずCopilot Studio Web UIでベースとなるエージェントを作成します。

3.1 新規エージェント作成

  1. Copilot Studio にアクセス
  2. エージェントを作成したい環境を選択する
  3. 左メニューから「エージェント」→「+ 新しいエージェント」をクリック
  1. エージェント名を入力:有給申請QAエージェント
  2. 説明を入力
従業員の有給申請状況、有給残日数、申請方法などの質問に回答するエージェントです。
SharePointリストに登録された有給情報をもとに回答します。

3.2 SharePointリストをナレッジソースとして追加

  1. エージェント編集画面で「ナレッジ」タブをクリック
  2. + ナレッジを追加」をクリック
  1. 「SharePoint」を選択
  1. アイテムを参照」をクリック、または直接URLを入力
  1. SharePointリストを選択(有給申請一覧リスト)して追加をクリック

重要: 説明は詳細に記載してください。生成AIがナレッジソースを選択する際の判断材料となります。
参考: Add SharePoint as a knowledge source
https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/knowledge-add-sharepoint

3.3 システムプロンプトの設定

  1. 「指示」の編集をクリック
  1. 以下を入力
あなたは社内の有給休暇に関する質問に答えるアシスタントです。

## 対応可能な質問
- 特定の従業員の有給残日数の確認
- 最新の有給申請状況の確認
- 部署・支店ごとの有給取得状況
- 有給申請の方法や手続きに関する一般的な質問

## 回答時のルール
1. 従業員を特定する際は、氏名または従業員コードで検索してください
2. 個人情報を含む回答は、質問者が本人または人事担当者であることを確認してください
3. データが見つからない場合は「該当するデータが見つかりませんでした」と回答してください
4. 有給残日数が0または少ない場合は、人事部への相談を促してください

## 回答フォーマット
- 簡潔に箇条書きで回答
- 日付は「YYYY年MM月DD日」形式で表示

  1. 保存をクリック

4. VS Codeでエージェントをクローン

4.1 ローカルフォルダの準備

# 作業用フォルダを作成
mkdir ~/copilot-agents-paid-leave
cd ~/copilot-agents-paid-leave

4.2 エージェントのクローン

  1. 左サイドバーの「COPILOT STUDIO」アイコンをクリック
  2. 「AGENTS」パネルで環境を展開(今回はサンドボックス環境で作成したため、Sandbox Environments を選択)
  3. 有給申請QAエージェントを作成した環境を選択
  4. 有給申請QAエージェントを選択
  1. クローンしたいエージェントを右クリック →「Clone Agent」を選択
  1. クローン先のフォルダを選択(さっき作成したcopilot-agents-paid-leave を選択する)

4.3 フォルダ構造の確認

クローン後、以下のようなフォルダ構造が生成されます

有給申請QAエージェント/
│
├── agent.mcs.yml                  # エージェント定義(メイン)
├── settings.mcs.yml               # エージェント設定
├── icon.png                       # エージェントアイコン
│
├── .mcs/                          # 拡張機能の内部ファイル(編集不要)
│   ├── .gitignore                 # 全ファイル除外(*)
│   ├── botdefinition.json
│   ├── changetoken.txt
│   ├── conn.json
│   └── filechangetrack.json
│
├── knowledge/                     # ナレッジソース
│   └── copilots_header_XXXXX.topic.List_XXXXXXXXXX.mcs.yml
│
└── topics/                        # トピック(13ファイル)
    ├── ConversationStart.mcs.yml
    ├── EndofConversation.mcs.yml
    ├── Escalate.mcs.yml
    ├── Fallback.mcs.yml
    ├── Goodbye.mcs.yml
    ├── Greeting.mcs.yml
    ├── MultipleTopicsMatched.mcs.yml
    ├── OnError.mcs.yml
    ├── ResetConversation.mcs.yml
    ├── Search.mcs.yml
    ├── Signin.mcs.yml
    ├── StartOver.mcs.yml
    └── ThankYou.mcs.yml

参考: Clone your Microsoft Copilot Studio agent in Microsoft Visual Studio Code
https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/visual-studio-code-extension-clone-agent


5. VS Codeでエージェントを編集

5.1 agent.mcs.yml の確認と編集

agent.mcs.ymlはエージェントの中核となる設定ファイルです。

# Name: 有給申請QAエージェント
# 従業員の有給申請状況、有給残日数、申請方法などの質問に回答するエージェントです。
kind: GptComponentMetadata
displayName: 有給申請QAエージェント
instructions: |
  あなたは社内の有給休暇に関する質問に答えるアシスタントです。

  ## 対応可能な質問
  - 特定の従業員の有給残日数の確認
  - 最新の有給申請状況の確認
  - 部署・支店ごとの有給取得状況
  - 有給申請の方法や手続きに関する一般的な質問

  ## 回答時のルール
  1. 従業員を特定する際は、氏名または従業員コードで検索してください
  2. 個人情報を含む回答は、質問者が本人または人事担当者であることを確認してください
  3. データが見つからない場合は「該当するデータが見つかりませんでした」と回答してください
  4. 有給残日数が0または少ない場合は、人事部への相談を促してください

  ## 回答フォーマット
  - 簡潔に箇条書きで回答
  - 日付は「YYYY年MM月DD日」形式で表示

gptCapabilities:
  webBrowsing: false

aISettings:
  model:
    modelNameHint: GPT5Auto

💡 ポイント: modelNameHint: GPT5AutoでGPT-5モデルが指定されています。GPT4oやGPT41に変更することも可能です。

5.2 settings.mcs.yml の確認

settings.mcs.ymlにはエージェントの詳細設定が含まれます。

displayName: 有給申請QAエージェント
schemaName: copilots_header_XXXXX
accessControlPolicy: GroupMembership
authenticationMode: Integrated
authenticationTrigger: Always
configuration:
  settings:
    GenerativeActionsEnabled: true
  aISettings:
    useModelKnowledge: true
    isFileAnalysisEnabled: true
    isSemanticSearchEnabled: true
template: default-2.1.0
language: 1041  # 日本語
設定項目説明
authenticationMode: IntegratedMicrosoft認証を使用
authenticationTrigger: Always常に認証を要求
isSemanticSearchEnabled: trueセマンティック検索有効
language: 1041日本語(LCID)

5.3 ナレッジソースの確認

SharePointリストのナレッジソースは、knowledge/フォルダ内に保存されます。

ファイル: knowledge/copilots_header_XXXXX.topic.List_XXXXXXXXXX.mcs.yml

# Name: List
# このナレッジ ソースは SharePoint の List にある情報を提供します。
kind: KnowledgeSourceConfiguration
source:
  kind: FederatedStructuredSearchSource
  connectionProperties:
    mode: Invoker
  skillConfiguration: List_XXXXXXXXXX

📝 注意: ナレッジソースのファイル名は自動生成されるため、copilots_header_XXXXX.topic.List_XXXXXXXXXX.mcs.ymlのような長い名前になります。

5.4 トピックの確認

topics/フォルダには、エージェントの会話フローを定義するトピックが含まれます。

主要なトピック:

ファイル名説明
Greeting.mcs.ymlユーザーへの挨拶
Goodbye.mcs.yml会話終了時のメッセージ
Search.mcs.yml検索機能
Fallback.mcs.yml回答できない場合の対応
Escalate.mcs.yml人間へのエスカレーション
Signin.mcs.ymlサインイン処理
OnError.mcs.ymlエラー処理

5.5 カスタムトピックの作成

実際にカスタムトピックを作成して、Copilot Studioに反映してみましょう。

作成するトピック: 「有給申請方法案内」トピック

  • ユーザーが有給の申請方法を聞いたときに、手順を案内するトピック

Step 1: topics/フォルダを右クリック →「新しいファイル」

Step 2: ファイル名を入力: HowToApply.mcs.yml

Step 3: 以下のYAMLを入力

# Name: 有給申請方法案内
# ユーザーが有給休暇の申請方法を質問したときに案内するトピック
kind: AdaptiveDialog
beginDialog:
  kind: OnRecognizedIntent
  id: main
  intent:
    displayName: 有給申請方法案内
    triggerQueries:
      - 有給の申請方法を教えて
      - 有給休暇はどうやって申請するの
      - 有給を取りたい
      - 休暇申請の手順
      - 有給届の出し方

  actions:
    - kind: SendActivity
      id: sendMessage_guide
      activity:
        text:
          - |
            有給休暇の申請方法をご案内します。

            **📝 申請手順**
            1. 社内ポータルにログイン
            2. 「勤怠管理」→「有給申請」を選択
            3. 希望日と理由を入力
            4. 上長を選択して申請

            **⏰ 申請期限**
            - 通常:希望日の3営業日前まで
            - 緊急時:当日朝9時まで(事後申請可)

            **📞 お問い合わせ**
            人事部:内線1234

- kind: Question
      id: question_checkDays
      alwaysPrompt: true
      variable: init:Topic.WantToCheck
      prompt: 有給残日数も確認しますか?
      entity: BooleanPrebuiltEntity

    - kind: ConditionGroup
      id: condition_check
      conditions:
        - id: wantCheck
          condition: =Topic.WantToCheck = true
          actions:
            - kind: SendActivity
              id: sendMessage_askName
              activity:
                text:
                  - 確認したい方の氏名または従業員コードを教えてください。

    - kind: SendActivity
      id: sendMessage_end
      activity:
        text:
          - 他にご質問があればお気軽にどうぞ!

Step 4: Ctrl + Sで保存

💡 ポイント:

  • triggerQueriesに複数のフレーズを登録すると、類似の質問でもトピックが起動します
  • Questionで選択肢を提示し、ConditionGroupで分岐処理ができます

6. ローカルの変更をCopilot Studioに反映(Apply)

先ほど作成した「有給申請方法案内」トピックをCopilot Studioに反映してみましょう。

💡 重要: VS Codeで保存しただけでは、Copilot Studioには反映されません。必ず「Apply」が必要です。

6.1 Applyの実行手順

方法1: Agent Changesパネルから(推奨)

  1. 左サイドバーの「COPILOT STUDIO」アイコンをクリック
  2. AGENT CHANGES」パネルを展開
  3. Local Changes」に HowToApply.mcs.yml が表示されていることを確認
  4. Apply ボタンをクリック

6.2 Apply完了の確認

Applyが成功すると、VS Codeに完了メッセージが表示されます。

📝 注意:

  • Apply ≠ Publish(公開) です。Applyは開発環境への反映で、本番公開は別途Web UIから行います。
  • リモートに未取得の変更がある場合、Applyがブロックされることがあります。その場合は「Get」で先にリモート変更を取得してください。

参考: Synchronize your changes – Microsoft Learn
https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/visual-studio-code-extension-synchronization

6.3 Web UIでトピックが反映されたか確認

Step 1: Copilot Studio Web UIを開く

Step 2: 左メニューから「トピック」を選択

Step 3: 「有給申請方法案内」トピックが追加されていることを確認

6.4 SharePointコネクタへ接続させる

Step 1: 右側の「テスト」パネルを開く

Step 2: 「…」をクリック

Step 3: 接続の管理をクリック

Step 4: SharePointの接続をクリック

Step 5: 「…」をクリックして、自分の接続を選択し、送信をクリック

Step 6: 状態が接続済みになっているのを確認したら、元のエージェントの画面に戻る

6.5 テストチャットで動作確認

Step 1: 右側の「テスト」パネルを開く

Step 2: 「有給の申請方法を教えて」と入力

Step 3: 作成したトピックの回答が表示されることを確認

追加のテストケース:

#入力期待される結果
1有給の申請方法を教えて申請手順が表示される
2有給を取りたい同上(triggerQueriesで設定した別フレーズ)
3山田 太郎001の有給残日数は?SharePointリストから検索して回答
4営業部の有給状況営業部所属者の一覧を表示

VS Codeで作成したトピックがCopilot Studioに反映されました!
これで、ローカルでの開発 → クラウドへの反映 → 動作確認の一連のフローが完了です。

まとめ

本記事では、VS Code拡張機能を使ったCopilot Studioエージェント開発の工程を解説しました。

🎯 ポイントまとめ

ステップ使用ツール概要
1. 環境準備VS Code拡張機能インストール
2. ベース作成Web UIエージェント作成、ナレッジソース設定
3. クローンVS Codeローカルに取得
4. 編集VS CodeYAMLでトピック追加・編集
5. 同期VS CodeApply Changesで反映

🚀 VS Code拡張機能を使うべき場面

  • ✅ トピックが10個以上ある大規模エージェント
  • ✅ 複雑なトピックの編集・管理

📚 参考リンク

項目URL
VS Code拡張機能概要https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/visual-studio-code-extension-overview
SharePointナレッジhttps://learn.microsoft.com/ja-jp/microsoft-copilot-studio/knowledge-add-sharepoint
Copilot Studio新機能https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/whats-new

⚠️こちらの記事は2026年1月27日に作成した記事です。
Microsoft Copilot Studio VS Code拡張機能は継続的にアップデートされていくと考えられるため、本記事の内容と実際の動作が異なる場合があります。
最新の仕様や手順については、公式ドキュメントをご参照ください。

この記事を書いた人

株式会社ファンリピートのアバター

株式会社ファンリピート

FRnoteは株式会社ファンリピートのメンバーによって運営されている社内ブログです。ノーコード・ローコードの技術ブログを始めとして、最新のIT技術、業務で役立つノウハウなど様々なトピックをまとめています。


目次
閉じる