次の方法で共有


Microsoft Visual Studio CodeでMicrosoft Copilot Studioエージェントを編集します

Microsoft Copilot Studioエージェントをローカルマシンにクローンすると、Microsoft Visual Studio Codeのテキスト編集機能を使ってコンポーネントを編集できます。 Copilot Studio拡張機能はIntelliSense、検証、YAML言語のサポートを提供し、編集を効率的かつエラーなくします。

エージェントファイル構造

ファイル構造を理解することが効率的な編集の鍵となります。

my-agent/
├── actions                   # Connectors
│   ├── DevOpsAction.mcs.yml  
│   └── GetItems.mcs.yml      
├── knowledge/files                # Knowledge sources
│   ├── source1.yaml
│   └── source2.yaml
├── topics/                   # Conversation topics
│   ├── greeting.mcs.yaml
│   ├── help.mcs.yaml
│   └── escalate.mcs.yaml
├── workflows/                    # Agent tools and actions
│   └── GetDevOpsItems
│       ├── metadata.yaml
│       └── workflow.json
│   └── GetMeetings
│       ├── metadata.yaml
│       └── workflow.json
├── trigger/                 # Event triggers
│   └── welcometrigger.mcs.yaml
├── agent.mcs.yaml                # Main agent definition
├── icon.png                      # Icon used for the agent, visible in test panel and in supported channels
├── settings.mcs.yml              # Configuration settings for the agent
└── connectioreferences.mcs.yml   # Connection References used by Connectors and other actions

メインエージェントの設定を編集してください

IntelliSenseの機能

入力中に提案が表示され、無効な値はハイライトされます。 これらの提案はノードのレベルによって変わります。

  • ノードのレベルに基づいて Ctrl+Space を使えば提案が出ます。
  • Ctrl+Fを使ってエージェント全体で変数名やその他の情報を検索し、迅速に更新しましょう

問題を見る

Visual Studio Codeの 「問題 」ペインでファイルの問題を見ることができます。 また、ファイルを開くと赤い下線で問題を示すことができます。

エディターで赤い下線の問題点を特定するスクリーンショット。

問題パネル

  1. Ctrl+Shift+Mを使って問題ペインを開くか、「問題>表示」へ行ってください。

  2. すべてのエラーと警告をご覧ください。

  3. 任意の問題を選択してその場所へジャンプします。

変化に対応する

変更が行われて保存されると、Visual Studioで異なる色で表示されるため、簡単に識別できます。

Visual Studio Codeで異なる色で変更が見えるスクリーンショットです。

編集エージェントのコンポーネント

トピック

トピックは 会話の流れや対話を定義します。 彼らは一種の AdaptiveDialogです。

GitHub Copilotや他のエージェントを使って 新しい コンポーネントを作ることもできますし、自分でトピックを書くこともできます。

トピックファイル構造

簡単な挨拶トピックの例を紹介します:

# This is the name of the topic that will appear in the 'topics' list in Copilot Studio
kind: AdaptiveDialog
beginDialog:
  kind: OnConversationStart
  id: main
  actions:
    - kind: SendActivity
      id: sendMessage_M0LuhV
      activity:
        text:
          - Hello, I'm {System.Bot.Name}. How can I help?
        speak:
          - Hello and thank you for calling {System.Bot.Name}.

高度なトピック機能

トピックには以下のような他のコンポーネントを使うことができます:

  • エンティティ:

                - kind: Question
                  id: question_1
                  alwaysPrompt: true
                  variable: init:Topic.Continue
                  prompt: Can I help with anything else?
                  entity: BooleanPrebuiltEntity
    
  • 変数:

      actions:
        - kind: Question
          id: 41d42054-d4cb-4e90-b922-2b16b37fe379
          conversationOutcome: ResolvedImplied
          alwaysPrompt: true
          variable: init:Topic.SurveyResponse
          prompt: Did that answer your question?
          entity: BooleanPrebuiltEntity
    
  • PowerFX を使った条件:

                - kind: ConditionGroup
                  id: condition-1
                  conditions:
                    - id: condition-1-item-0
                      condition: =Topic.Continue = true
                      actions:
                        - kind: SendActivity
                          id: sendMessage_4eOE6h
                          activity: Go ahead. I'm listening.
    
  • 他のノード、例えばHTTPノード

  • アダプティブ カード

エディター内の高度なトピック機能のスクリーンショット。

Tools

ツールはエージェントが実行できるアクションを定義します。 Copilot Studio Agent UIの ツール エリアで確認できます。

ツールには 以下が含まれます:

  • プロンプト
  • ワークフロー(Power Automateのフロー)
  • CUAツール
  • カスタム コネクタ
  • REST API
  • MCPコネクタ

ツールは拡張機能内のエージェントの /actions フォルダ内に表示されますが、追加のメタデータを持つ他のフォルダにも表示されることがあります。 例えば、 ワークフロートリガー はそれぞれ独自のフォルダとJSONを持っています。

編集トリガー

トリガーは トピックや行動がいつ発動するかを定義します。 スケジュール、イベント、条件型などに設定できます。 トリガーは通常、ワークフローを参照します。

kind: ExternalTriggerConfiguration
externalTriggerSource:
  kind: WorkflowExternalTrigger

リモート知識ファイルの管理

Copilot Studioのアップロード機能を使って文書をアップロードすると、 リモート知識ファイル ウィンドウで名前をクリックするとダウンロード可能です。 文書は自動的にダウンロードされるわけではなく、ウィンドウでダウンロードを選択しなければなりません。 ダウンロードが成功すると通知が表示されます。

新しいファイルをアップロードしたい場合は、エージェント定義の knowledge/files フォルダに入れることができます。 これらの変更を適用すると、エージェントのコンテンツアップロード機能を通じてアップロードされます。

リモート知識ファイルウィンドウのスクリーンショットで利用可能な文書が表示されます。

ベスト プラクティス

名前付け規則

ファイル:

  • ケバブケースを使う: create-ticket.tool.yaml
  • 説明をしましょう:product-pricing-faq.yamlfaq.yaml
  • タイプ接尾辞を使いましょう: .topic.yaml.tool.yaml.trigger.yaml

IDと変数:

  • キャメルケースを使いましょう: userOrderNumberproductDetails
  • 説明をしましょう:checkPaymentStatuscheck1
  • 略語は避けてください: customerEmail not custEmail

Comments

複雑な論理を説明するために、コメントを加えます:

nodes:
  # Check if user is within business hours and eligible for live support
  # Business hours: 9 AM - 5 PM EST, Monday-Friday
  # Eligibility: Premium tier customers only
  - id: check-live-support-availability
    type: condition

次のステップ

編集の方法を理解したところで: