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: 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と変数:
- キャメルケースを使いましょう:
userOrderNumber、productDetails - 説明をしましょう:
checkPaymentStatuscheck1 - 略語は避けてください:
customerEmailnotcustEmail
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
次のステップ
編集の方法を理解したところで:
- 同期について学びましょう。