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 の問題ペインでファイルの問題を確認できます。 また、ファイルを開くと、問題箇所が赤い下線で示されます。
問題ペイン
Ctrl+Shift+Mを使用して問題ペインを開きます (表示>問題を選択します)。すべてのエラーと警告を表示する
任意の問題を選択すると、その場所に移動します。
変更の操作
変更を保存すると、Visual Studio で異なる色で表示されるため、簡単に識別できます。
エージェント コンポーネントを編集する
トピック
トピックは会話フローとダイアログを定義します。 これらは、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: BooleanPrebuiltEntityPower Fx を使用した条件:
- 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 ノード
アダプティブ カード
ツール
ツールはエージェントが実行できるアクションを定義します。 Copilot Studio エージェント 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.yamlを使用し、faq.yamlを使用しない - 接尾辞を使用します:
.topic.yaml、.tool.yaml、.trigger.yaml
ID と変数:
- camelCase を使用する:
userOrderNumber、productDetails - 説明的に記述する:
checkPaymentStatusを使用し、check1を使用しない - 略語は避けます:
customerEmail(custEmailにしない)
コメント
複雑なロジックを説明するために、コメントを加えてください:
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
次の手順
編集の方法を理解したところで: