スキルとは、エージェントができることを拡張する再利用可能な能力です。 ツールが外部サービスに接続するのとは異なり、スキルは自己完結型の指示やロジックのセットであり、エージェント間で作成・共有・再利用できます。
Note
この記事の機能は、GitHub Copilot harnessを搭載するエージェントやワークフローで使用されています。
使用率に基づく請求は、エージェントの使用、構築、テスト、評価に適用されます。 これらの行動はCopilotクレジットを消費することがあります。 詳細は「GitHub Copilot harnessで動くエージェントのコスト管理」をご覧ください。
スキルとは
スキルは、名前、説明、そしてMarkdown形式で記述された命令セットによって定義される機能です。 スキルは、特定の種類のタスクやシナリオの処理方法をエージェントに指示します。 オーケストレーションランタイムは、ユーザーのリクエストがスキルの目的と一致する場合、そのスキルを呼び出します。 スキルは、必要に応じてエージェントが有効化できる特化した「ロール」や「モード」と考えてください。
スキルを使用する理由
- 再利用性: スキルを一度作成すれば、複数のエージェントに追加できます。
- モジュール性: 複雑なエージェントの挙動を、焦点を絞った管理しやすい部分に分解します。
- 共有可能性: スキルをMarkdownファイルまたはパッケージとしてエクスポートし、他のユーザーと共有できます。
- 明確さ: 各スキルには明確な目的があり、エージェントの動作の理解や保守が容易になります。
スキルと他のエージェント構成要素の違い
| コンポーネント | Purpose | 管理されている |
|---|---|---|
| インストラクション | 一般的なエージェントの行動と性格 | ID の構成 |
| 知識 | エージェントが参照できるデータ | ナレッジ ソース |
| Tools | 外部サービスによるアクション | コネクタ、API、MCPサーバー |
| スキル | 再利用可能なタスク固有の能力 | スキルファイルまたはパッケージ(Markdownベース) |
エージェントがスキルを活用する方法
オーケストレーションランタイムは、ユーザーのメッセージとスキルの説明に基づいて、スキルをいつ起動するかを決定します。 ランタイムがスキルを起動すると、そのスキルの指示がエージェントの特定のタスクにおける行動をガイドします。 スキルはツールや知識と共に機能します。 例えば、スキルはエージェントに特定のツールを特定の方法で使うよう指示することもあります。 適切に記述されたスキルの説明は、オーケストレーターが適切なタイミングで適切なスキルを呼び出すのに役立ちます。
スキルファイルとパッケージ
スキルは標準フォーマット(YAMLフロントマター[名前、説明]と指示)で構成されており、Markdownファイルとして簡単に共有・移植できます。 Copilot Studio で作成することも、お気に入りのテキストエディターで作成してからエージェントにアップロードすることもできます。
スキルパッケージには、ZIPファイル内に以下の要素が含まれます:
- YAML 形式のフロントマター(名前、説明)とMarkdown形式の指示を含む
SKILL.mdファイル。 - スクリプト、テンプレート、参照文書などの任意の補助ファイル。
既存のスキルパッケージのZIPファイルをアップロードして、エージェントにスキルを追加することもできます。 この標準フォーマットにより、スキルの移植性と共有のしやすさが向上します。