typespec-create-agent

Par github · awesome-copilot

Générer un agent déclaratif TypeSpec complet avec des instructions, des capacités et des amorces de conversation pour Microsoft 365 Copilot

npx skills add https://github.com/github/awesome-copilot --skill typespec-create-agent

Créer un agent déclaratif TypeSpec

Créer un agent déclaratif TypeSpec complet pour Microsoft 365 Copilot avec la structure suivante :

Exigences

Générer un fichier main.tsp avec :

  1. Déclaration de l'agent

    • Utiliser le décorateur @agent avec un nom et une description explicites
    • Le nom doit faire 100 caractères ou moins
    • La description doit faire 1 000 caractères ou moins
  2. Instructions

    • Utiliser le décorateur @instructions avec des directives comportementales claires
    • Définir le rôle, l'expertise et la personnalité de l'agent
    • Spécifier ce que l'agent doit et ne doit pas faire
    • Limiter à 8 000 caractères
  3. Conversation Starters

    • Inclure 2-4 décorateurs @conversationStarter
    • Chacun avec un titre et une requête d'exemple
    • Les rendre diversifiés et montrer différentes capacités
  4. Capacités (selon les besoins de l'utilisateur)

    • WebSearch - pour le contenu web avec limitation de site optionnelle
    • OneDriveAndSharePoint - pour l'accès aux documents avec filtrage d'URL
    • TeamsMessages - pour l'accès aux canaux et chats Teams
    • Email - pour l'accès aux e-mails avec filtrage de dossiers
    • People - pour la recherche de personnes dans l'organisation
    • CodeInterpreter - pour l'exécution de code Python
    • GraphicArt - pour la génération d'images
    • GraphConnectors - pour le contenu du connecteur Copilot
    • Dataverse - pour l'accès aux données Dataverse
    • Meetings - pour l'accès au contenu des réunions

Structure de template

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]>;
}

Bonnes pratiques

  • Utiliser des noms d'agent descriptifs basés sur le rôle (par ex. « Assistant de support client », « Aide à la recherche »)
  • Rédiger les instructions à la deuxième personne (« You are... »)
  • Être spécifique sur l'expertise et les limitations de l'agent
  • Inclure des conversation starters diversifiés qui montrent différentes fonctionnalités
  • Inclure seulement les capacités dont l'agent a réellement besoin
  • Limiter les capacités (URLs, dossiers, etc.) quand possible pour de meilleures performances
  • Utiliser des chaînes entre guillemets triples pour les instructions multilignes

Exemples

Poser à l'utilisateur :

  1. Quel est l'objectif et le rôle de l'agent ?
  2. De quelles capacités a-t-il besoin ?
  3. Quelles sources de connaissances doit-il consulter ?
  4. Quelles sont les interactions utilisateur typiques ?

Puis générer la définition complète de l'agent TypeSpec.

Skills similaires