mcpField
T
typespec-create-agent

typespec-create-agent

github.com/githubエージェントワークフロー40.5k8.7k 回インストール今日更新
リポジトリ

typespec-create-agent について

Microsoft 365 Copilot の TypeSpec 宣言型エージェントを作成するスキルです。役割や要件をもとに、機能設定と会話のきっかけを含む `main.tsp` を生成します。

主な機能

  1. 01`main.tsp` のエージェント定義を生成
  2. 02エージェント名と説明を設定
  3. 03動作ガイドラインを作成
  4. 04会話のきっかけを2~4件追加
  5. 05必要な機能を選択して範囲を設定

活用シーン

  1. 01Microsoft 365 Copilot エージェントの草案作成
  2. 02役割と動作方針の定義
  3. 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 ファイルを生成します:

  1. エージェント宣言

    • 説明的な名前と説明を指定して @agent デコレーターを使用する
    • 名前は 100 文字以下にする
    • 説明は 1,000 文字以下にする
  2. 指示

    • 明確な行動ガイドラインを指定して @instructions デコレーターを使用する
    • エージェントの役割、専門知識、パーソナリティを定義する
    • エージェントが行うべきことと行うべきでないことを指定する
    • 8,000 文字未満に保つ
  3. 会話スターター

    • 2〜4 個の @conversationStarter デコレーターを含める
    • それぞれにタイトルとクエリ例を付ける
    • 多様な内容にし、さまざまな機能を紹介する
  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、フォルダーなど) を設定する
  • 複数行の指示には三重引用符文字列を使用する

例

ユーザーに質問します:

  1. エージェントの目的と役割は何ですか?
  2. どのような機能が必要ですか?
  3. どのナレッジソースにアクセスすべきですか?
  4. 典型的なユーザーとのやり取りはどのようなものですか?

その後、完全な TypeSpec エージェント定義を生成します。

コメント