typespec-create-agent について
Microsoft 365 Copilot の TypeSpec 宣言型エージェントを作成するスキルです。役割や要件をもとに、機能設定と会話のきっかけを含む `main.tsp` を生成します。
主な機能
- 01`main.tsp` のエージェント定義を生成
- 02エージェント名と説明を設定
- 03動作ガイドラインを作成
- 04会話のきっかけを2~4件追加
- 05必要な機能を選択して範囲を設定
活用シーン
- 01Microsoft 365 Copilot エージェントの草案作成
- 02役割と動作方針の定義
- 03データやツール機能の選択と範囲設定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ github/ awesome-copilot --skill typespec-create-agentインストール後、Claude Code で/typespec-create-agentを入力して読み込まれたか確認します。
詳細
TypeSpec 宣言型エージェントの作成
Microsoft 365 Copilot 用の完全な TypeSpec 宣言型エージェントを、次の構造で作成します:
要件
次の内容を含む main.tsp ファイルを生成します:
-
エージェント宣言
- 説明的な名前と説明を指定して
@agentデコレーターを使用する - 名前は 100 文字以下にする
- 説明は 1,000 文字以下にする
- 説明的な名前と説明を指定して
-
指示
- 明確な行動ガイドラインを指定して
@instructionsデコレーターを使用する - エージェントの役割、専門知識、パーソナリティを定義する
- エージェントが行うべきことと行うべきでないことを指定する
- 8,000 文字未満に保つ
- 明確な行動ガイドラインを指定して
-
会話スターター
- 2〜4 個の
@conversationStarterデコレーターを含める - それぞれにタイトルとクエリ例を付ける
- 多様な内容にし、さまざまな機能を紹介する
- 2〜4 個の
-
機能 (ユーザーのニーズに基づく)
WebSearch- オプションのサイトスコープ付きの Web コンテンツ用OneDriveAndSharePoint- URL フィルタリング付きのドキュメントアクセス用TeamsMessages- Teams チャネル/チャットアクセス用Email- フォルダーフィルタリング付きのメールアクセス用People- 組織内のユーザー検索用CodeInterpreter- Python コード実行用GraphicArt- 画像生成用GraphConnectors- Copilot コネクターコンテンツ用Dataverse- Dataverse データアクセス用Meetings- 会議コンテンツアクセス用
テンプレート構造
import "@typespec/http";
import "@typespec/openapi3";
import "@microsoft/typespec-m365-copilot";
using TypeSpec.Http;
using TypeSpec.M365.Copilot.Agents;
@agent({
name: "[Agent Name]",
description: "[Agent Description]"
})
@instructions("""
[Detailed instructions about agent behavior, role, and guidelines]
""")
@conversationStarter(#{
title: "[Starter Title 1]",
text: "[Example query 1]"
})
@conversationStarter(#{
title: "[Starter Title 2]",
text: "[Example query 2]"
})
namespace [AgentName] {
// Add capabilities as operations here
op capabilityName is AgentCapabilities.[CapabilityType]<[Parameters]>;
}
ベストプラクティス
- 説明的で役割ベースのエージェント名を使用する (例: 「カスタマーサポートアシスタント」、「リサーチヘルパー」)
- 指示は二人称 (「あなたは...です」) で記述する
- エージェントの専門知識と制限について具体的に記述する
- さまざまな機能を紹介する多様な会話スターターを含める
- エージェントが実際に必要とする機能のみを含める
- パフォーマンス向上のため、可能な場合は機能にスコープ (URL、フォルダーなど) を設定する
- 複数行の指示には三重引用符文字列を使用する
例
ユーザーに質問します:
- エージェントの目的と役割は何ですか?
- どのような機能が必要ですか?
- どのナレッジソースにアクセスすべきですか?
- 典型的なユーザーとのやり取りはどのようなものですか?
その後、完全な TypeSpec エージェント定義を生成します。
コメント
Markdown 対応