Aller au contenu principal
Leçon 14 sur 14 · Apps SDK et plugins ChatGPT — serveurs MCP et interfaces

Optimiser : métadonnées, skills et événements

Leçon 14 sur 14 Mis à jour le 3 novembre 2026 Développeur
Sur cette page
  1. Les métadonnées, un texte produit
  2. Des skills pour les workflows récurrents
  3. MCP Events : réagir aux changements
  4. Les extensions de l’interface de ChatGPT
  5. Points clés à retenir
  6. Testez vos connaissances

Leçon réécrite le 3 novembre 2026 d’après les pages Optimize Metadata, Build skills, MCP Events et Plugin Extensions de la documentation Plugins d’OpenAI. L’ancienne leçon s’appuyait sur des modules analytics et experiment d’un SDK inexistant. Sources : Optimize Metadata · Build skills · MCP Events · Plugin Extensions.

Les métadonnées, un texte produit

ChatGPT et Codex décident d’appeler vos outils d’après les métadonnées que vous fournissez. Des noms, des descriptions et des paramètres bien rédigés font appeler l’outil quand il le faut et évitent les déclenchements intempestifs. OpenAI recommande de les traiter comme un texte produit : on les itère, on les teste, on les mesure.

Un jeu de prompts de référence

Avant de toucher aux métadonnées, constituez un jeu de prompts étiquetés :

  • des prompts directs, qui nomment votre produit ou votre source de données ;
  • des prompts indirects, qui décrivent le résultat voulu sans nommer votre outil ;
  • des prompts négatifs, que des outils intégrés ou d’autres outils doivent traiter.

Pour chacun, notez le comportement attendu : appeler votre outil, ne rien faire, ou laisser la main à une autre solution. Ce jeu servira à chaque test de non-régression.

Des métadonnées qui guident le modèle

  • Le nom associe le domaine et l’action : calendar.create_event.
  • La description commence par « À utiliser quand… » et cite les cas exclus : « Ne pas utiliser pour les rappels ».
  • Chaque paramètre est documenté, avec des exemples et la liste des valeurs permises quand l’entrée est contrainte.
  • Les annotations suivent le comportement réel (leçons 3 et 11).

Mesurer, puis itérer

Connectez le serveur, installez le plugin, passez le jeu de prompts et notez pour chacun l’outil choisi, les arguments transmis et l’affichage éventuel du composant. Suivez deux mesures : la précision — le bon outil a-t-il été appelé ? — et le rappel — l’outil a-t-il été appelé chaque fois qu’il le fallait ? Visez d’abord une grande précision sur les prompts négatifs, avant de courir après quelques points de rappel.

Changez un seul champ à la fois, pour savoir ce qui a produit l’amélioration ; tenez un journal des révisions, daté, avec les résultats ; faites relire les modifications avant de les déployer. En production, examinez chaque semaine l’usage des outils — une hausse des confirmations du « mauvais outil » signale le plus souvent une dérive des métadonnées —, recueillez les retours des utilisateurs et rejouez régulièrement vos prompts, surtout après l’ajout d’un outil ou la modification d’un champ structuré.

Des skills pour les workflows récurrents

Le serveur fournit les données, l’authentification et les actions contrôlées ; la skill fournit l’enchaînement des outils, les points de décision, le format du résultat, les exemples et les modèles. Le plus rapide pour commencer est la skill intégrée @skill-creator, à qui l’on décrit l’objectif de l’utilisateur et les outils MCP qui le servent.

Un bon SKILL.md dit quelles étapes suivre, quel résultat l’utilisateur doit recevoir, quels faits le modèle ne doit pas inventer, quand poser une question, s’arrêter ou refuser, et quels fichiers consulter. Préférez une skill ciblée à un grand ensemble d’instructions disparates, et scindez les workflows qui diffèrent par leur déclencheur, leurs entrées ou leur critère de réussite. Gardez SKILL.md concis et rangez le détail à côté : references/ pour les politiques, schémas et exemples, assets/ pour les modèles à copier ou transformer, scripts/ pour les calculs déterministes — et seulement si les instructions et les outils existants ne suffisent pas.

Si une skill dépend d’un serveur MCP, déclarez cette dépendance dans agents/openai.yaml ; elle rend l’outil disponible, mais ne remplace pas des instructions claires sur les outils à utiliser, leur ordre et la conduite à tenir face à un résultat manquant ou ambigu. Pour GPT-6 Astra, OpenAI conseille de relire ses recommandations sur le suivi d’instructions : traquez les consignes floues ou contradictoires, et rendez explicite la priorité des instructions de l’utilisateur sur celles de la skill.

Testez l’activation et la qualité du résultat avec des demandes directes, indirectes, incomplètes (qui doivent déclencher une question), hors sujet, et des cas limites où la skill doit éviter d’inventer ou d’agir hors de son périmètre. Une skill qui s’active au mauvais moment se corrige dans sa description ; une skill qui choisit le bon workflow mais produit un résultat irrégulier se corrige dans ses instructions.

MCP Events : réagir aux changements

MCP Events permet à ChatGPT de s’abonner aux mises à jour de votre serveur — nouveaux messages, contenus modifiés, changements de statut. L’utilisateur choisit ce qu’il faut surveiller et ce que ChatGPT doit faire quand une mise à jour arrive, par exemple : « Surveille ce document et applique les corrections demandées en commentaire ».

  1. Votre serveur liste les événements qu’il prend en charge.
  2. L’utilisateur dit à ChatGPT quoi surveiller et comment réagir.
  3. ChatGPT s’abonne par votre serveur MCP, en fournissant une URL de rappel et un secret de signature.
  4. Votre serveur envoie les événements correspondants à cette URL.
  5. ChatGPT reçoit l’événement dans la conversation abonnée et suit les consignes de l’utilisateur.

La fonction est disponible dans les conversations Work de ChatGPT sur le web et dans l’application de bureau avec Cloud sélectionné. ChatGPT s’appuie sur la livraison par webhook du projet de spécification MCP Events ; votre serveur doit conserver les abonnements de façon persistante et pouvoir joindre les URL de rappel en HTTPS.

Les extensions de l’interface de ChatGPT

Les OpenAI MCP Extensions permettent à un plugin de s’intégrer à des endroits clés de ChatGPT : la barre latérale, la zone de saisie, les visionneuses de fichiers. Les mentions dans la zone de saisie ne sont disponibles que dans l’application de bureau. OpenAI publie un plugin d’exemple, Bits & Bolts, qui rassemble ces extensions et suit leur déploiement : c’est le meilleur point de départ pour les découvrir.

Points clés à retenir

  • Les métadonnées se traitent comme un texte produit : jeu de prompts de référence, précision, rappel, un champ modifié à la fois
  • Descriptions en « À utiliser quand… », cas exclus explicites, paramètres documentés
  • Une skill ciblée par workflow, un SKILL.md concis, des ressources à côté, une dépendance MCP déclarée
  • MCP Events abonne ChatGPT aux mises à jour de votre serveur, livrées par webhook
  • Les extensions intègrent le plugin à la barre latérale, à la zone de saisie et aux visionneuses

Testez vos connaissances

Des outils MCP à la publication : vérifiez que les fondations sont acquises.

1. Faut-il un paquet `@openai/apps-sdk` pour créer une application dans ChatGPT ?

Réponse : Non, ce paquet n’existe pas. On construit un serveur MCP avec les SDK officiels du protocole (@modelcontextprotocol/sdk en TypeScript, mcp en Python), on ajoute au besoin une interface au standard MCP Apps, et on distribue le tout dans un plugin.

2. Un outil peut-il se passer d'interface ?

Réponse : Oui, et il le doit : un outil renvoie structuredContent et un texte court qui suffisent au modèle. L’interface, rattachée par _meta.ui.resourceUri, n’est ajoutée que lorsqu’elle aide à inspecter, comparer, modifier, confirmer ou parcourir des informations.

3. Qui décide si un utilisateur a le droit d'accéder à une donnée ?

Réponse : Le serveur MCP, à chaque requête, d’après le jeton OAuth vérifié (signature, émetteur, audience, expiration, portées). Les annotations aident ChatGPT à choisir son niveau de confirmation, mais ne remplacent jamais l’autorisation côté serveur.

4. Un plugin peut-il vendre un abonnement à son service ?

Réponse : Non. Les règles limitent le commerce aux biens physiques. Un abonné existant peut se connecter et utiliser les fonctions de sa formule ; le plugin peut expliquer qu’une fonction n’est pas incluse et renvoyer vers une page d’information, jamais vers un paiement.

5. Comment se mettent à jour les outils d'un plugin publié ?

Réponse : Sans nouveau ZIP : OpenAI réanalyse le serveur et chaque outil nouveau ou modifié devient disponible après avoir passé les contrôles automatiques, un outil supprimé disparaissant aussitôt. Les métadonnées et les skills, elles, exigent un nouveau ZIP et une nouvelle revue.

Outils bien décrits, interface facultative, autorisation côté serveur, règles respectées : c’est la grille qui fait d’un plugin un service fiable dans ChatGPT et Codex.