Bonnes pratiques concernant WebMCP

Alexandra Klepper
Alexandra Klepper

Publié le 18 mai 2026

WebMCP doit être claire, sans que les développeurs ni les agents aient besoin d'examiner les résultats et de réessayer. Que vous utilisiez l'API impérative ou l'API déclarative, suivez ces bonnes pratiques :

  • Avant de créer un outil, définissez une stratégie.
  • Utilisez un langage clair et du code HTML sémantique.
  • Concevez vos schémas et gérez les entrées.
  • Créez des outils fiables.
  • Testez et déboguez.

Définir une stratégie d'outil

Comme pour toute application logicielle, la première étape consiste à planifier votre stratégie d'outil :

  • Chaque outil doit comporter une seule fonction. Par exemple, un outil peut diriger l'utilisateur vers un type de formulaire spécifique, tandis qu'un autre outil doit faire correspondre les champs de saisie aux informations de l'utilisateur. Veillez à ne pas créer d'outils qui se chevauchent, car l'agent risque de ne pas savoir lequel utiliser. Demandez-vous si vous pouvez couvrir plusieurs tâches avec la même fonction.
  • Gérez l'enregistrement des outils. Enregistrez les outils lorsqu'ils sont utiles dans un certain état de la page, puis annulez l'enregistrement lorsque l'outil n'est plus utilisable.
    • API impérative : vous pouvez gérer l'enregistrement de manière dynamique avec registerTool.
    • API déclarative : vous pouvez gérer l'enregistrement de manière dynamique en ajoutant ou en supprimant les attributs de l'outil dans un formulaire, avec toolname et tooldescription.
  • Réduisez la complexité : pour la plupart des applications, l'enregistrement statique doit être l'approche par défaut.
  • Faites confiance à l'agent pour effectuer la tâche. Au lieu d'écrire des instructions rigides ou négatives, partez du principe que l'agent est capable de comprendre ce qui est nécessaire pour effectuer la tâche, plutôt que de s'attendre à ce qu'il gère un flux d'étapes exact.

Bien qu'il n'y ait pas de nombre maximal d'outils autorisés, chaque outil occupe une partie de la fenêtre de contexte et augmente le temps nécessaire à l'exécution. Plus vous fournissez d'outils et plus ils se chevauchent, plus il est difficile pour l'agent de choisir correctement. Faites des tests pour déterminer ce qui convient à votre application.

Cela vous permet de créer des outils individuels, sans chevauchement, et de gérer leur disponibilité.

Utiliser un langage clair et un code sémantique

Utilisez un langage clair et direct pour nommer les outils et décrire leur utilisation. Cela permet aux agents de trouver ce dont ils ont besoin, de comprendre ce qu'ils trouvent et d'utiliser ces informations comme le développeur le souhaite.

Lorsque vous écrivez des noms d'outils, faites la distinction entre l'exécution et l'initiation, et utilisez des verbes qui décrivent exactement ce qui se passe. Par exemple, create-event est un outil de création immédiate d'événements, mais start-event-creation-process est un outil qui redirige l'utilisateur vers un formulaire pour créer l'événement.

Une description claire doit indiquer ce que fait l'outil et quand l'utiliser. Utilisez un langage et des préférences positifs plutôt qu'un langage négatif, comme des limitations.

À éviter

"N'utilisez pas cet outil pour la météo."

Les limites doivent être implicites dans une description bien rédigée.
À faire

"Cet outil peut créer un événement d'agenda, programmé pour une date et une heure spécifiques."

Réduire le calcul cognitif

Tout comme vous devez réduire la charge cognitive pour les humains qui effectuent des tâches complexes, vous devez également réduire le calcul cognitif pour le modèle :

  • Acceptez les entrées utilisateur brutes. Évitez de demander à l'agent d'effectuer des calculs ou de transformer les chaînes d'entrée. Par exemple, si un utilisateur dit "11h00 à 15h00", l'outil doit accepter cette entrée comme une chaîne. Évitez de demander au modèle de calculer les minutes entre ces heures.
  • Déclarez des types spécifiques pour les paramètres, tels que chaîne, nombre ou enum.
  • Expliquez pourquoi vous avez fait certains choix. Le choix que vous avez fait doit être explicite. Le pourquoi aide les agents à faire de meilleurs choix. Par exemple, si vous gérez une boutique de commerce électronique, déclarez le type de livraison en langage naturel au lieu d'utiliser un ID ambigu : shipping="Express" au lieu de shipping_id=1.

Privilégier la fiabilité

Les agents et les humains bénéficient d'outils qui se comportent comme prévu :

  • Définissez un échec progressif pour les limites de débit. Les outils doivent autoriser une répétition raisonnable, par exemple pour la comparaison des prix. Si un outil est limité en termes de débit, renvoyez une erreur significative ou conseillez à l'utilisateur d'effectuer la tâche manuellement.
  • Mettez à jour l'état de l'interface une fois les fonctions terminées. Les agents peuvent s'appuyer sur l'interface pour planifier les étapes suivantes, tandis que les fonctions peuvent prendre plus de temps à s'exécuter que le chargement de l'interface. L'agent doit confirmer que la fonction est terminée une fois l'interface mise à jour, ou demander à nouveau une mise à jour.
  • Validez de manière stricte dans le code et de manière lâche dans le schéma. Les contraintes et les tests doivent être utilisés pour les fonctions et le code qui ont une logique binaire. Bien que les contraintes de schéma puissent être utiles, elles ne sont pas garanties. Ajoutez des erreurs descriptives au code de votre fonction pour permettre au modèle de s'auto-corriger et de réessayer avec de nouveaux paramètres valides.

Tests d'évaluation et débogage

Créez des tests d'évaluation et mettez vos outils à disposition pour le débogage. Contrairement aux tests unitaires déterministes, les évaluations ne peuvent pas être codées en dur, car les résultats peuvent prendre des formes imprévues.

  • Définissez le problème. Vous pouvez formuler votre problème comme un contrat d'API, y compris le type d'entrée, le format de sortie et toutes les contraintes supplémentaires.
  • Définissez une référence et un résultat idéal. En particulier avec les entrées de texte, il est important de comprendre quels types de résultats peuvent vous donner le résultat attendu.
  • Déterminez comment le résultat sera évalué. Vous identifiez et mesurez probablement des résultats subjectifs et qualitatifs en fonction de la qualité de l'entrée, de son utilité et de sa capacité à accomplir la tâche suivante. Vous pouvez utiliser plusieurs techniques pour évaluer la sortie, y compris des vérifications basées sur le code pour les sorties basées sur des règles (limites de caractères) et LLM-as-a-judge.

Évitez d'ajouter des règles strictes pour corriger les problèmes liés à un modèle particulier. Par exemple, si vous incluez un champ de sélection pour les titres de civilité, le modèle peut faire le mauvais choix. Au lieu d'ajouter des règles strictes pour résoudre ce problème, abstrayez et ajustez votre outil. Il est préférable de définir ce champ comme facultatif. Ensuite, demandez à l'agent de demander à l'utilisateur quel choix est le plus judicieux, afin de s'assurer qu'il est satisfait du résultat.

Interagir et partager des commentaires

WebMCP fait l'objet de discussions actives et peut être modifié à l'avenir. Si vous essayez ces API et que vous avez des commentaires, n'hésitez pas à nous en faire part.