Publié le : 18 mai 2026
La déclaration de l'outil WebMCP doit être claire, sans que les développeurs ou 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, définissez une stratégie d'outil.
- Utilisez un langage clair et le HTML sémantique.
- Concevez vos schémas et gérez les entrées.
- Créez des outils fiables.
- Testez et déboguez.
Créer une stratégie d'outils
Comme pour toute application logicielle, votre première étape doit consister à planifier votre stratégie d'outils :
- Chaque outil doit se composer d'une seule fonction. Par exemple, un outil peut consister à rediriger l'utilisateur vers un type de formulaire spécifique, tandis qu'un autre outil doit faire correspondre les champs de saisie aux informations utilisateur. Veillez à ne pas créer d'outils qui se chevauchent, car l'agent pourrait ne pas savoir lequel utiliser. Posez-vous la question suivante : puis-je couvrir plusieurs tâches avec la même fonction ?
- Gérer l'enregistrement des outils Enregistrez les outils lorsqu'ils sont utiles dans un certain état de page, puis désinscrivez-les lorsqu'ils ne sont plus utilisables.
- API impérative : vous pouvez gérer dynamiquement l'enregistrement avec
registerTooletunregisterTool. - API déclarative : vous pouvez gérer dynamiquement l'enregistrement en ajoutant ou en supprimant les attributs de l'outil sur un formulaire, avec
toolNameettoolDescription.
- API impérative : vous pouvez gérer dynamiquement l'enregistrement avec
- Réduisez la complexité : pour la plupart des applications, l'enregistrement statique doit être l'approche par défaut.
- Faites confiance à l'agent pour accomplir la tâche*. Au lieu de rédiger des instructions rigides ou négatives, partez du principe que l'agent est capable de comprendre ce qui est nécessaire pour accomplir 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 faire le bon choix. Faites des tests pour déterminer ce qui convient le mieux à votre application.
Cela vous permet de créer des outils individuels, sans chevauchement d'objectif, 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 aide les agents à trouver ce dont ils ont besoin, à comprendre ce qu'ils trouvent et à utiliser ces informations comme le développeur le souhaite.
Lorsque vous rédigez 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 d'événements immédiate, tandis que start-event-creation-process est un outil qui redirige l'utilisateur vers un formulaire pour créer l'événement.
Une description claire doit expliquer ce que fait l'outil et quand il doit être utilisé. Privilégiez un langage et des préférences positifs plutôt qu'un langage négatif, comme des limites.
"N'utilise pas cet outil pour la météo."
Les limites doivent être implicites dans une description bien rédigée."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 minimiser la charge cognitive pour les humains qui effectuent des tâches complexes, vous devez également minimiser 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 "de 11h à 15h", l'outil doit accepter cette chaîne. Évitez de demander au modèle de calculer le nombre de minutes entre ces heures.
- Déclarez des types spécifiques pour les paramètres, tels que string, number 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 en ligne, déclarez le type de livraison en langage naturel au lieu d'utiliser un ID ambigu :
shipping="Express"au lieu deshipping_id=1.
Priorité à 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 de prix. Si un outil est limité en termes de fréquence, renvoyez une erreur pertinente 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 prochaines étapes, 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 une nouvelle mise à jour.
- Validez strictement le code et de manière moins stricte 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'autocorriger et de réessayer avec de nouveaux paramètres valides.
Tests et débogage de l'évaluation
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 inattendues.
- 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 toute contrainte supplémentaire.
- 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 évaluer le résultat. Vous identifiez et mesurez probablement des résultats subjectifs et qualitatifs en fonction de la qualité des entrées, de leur utilité et de leur capacité à accomplir la tâche suivante. Vous pouvez utiliser différentes techniques pour évaluer les résultats, y compris des vérifications basées sur le code pour les résultats basés sur des règles (limites de caractères) et LLM-as-a-judge.
Évitez d'ajouter des règles trop spécifiques pour résoudre les problèmes liés à un modèle particulier. Par exemple, si vous incluez un champ de sélection pour les titres, le modèle peut faire le mauvais choix. Au lieu d'ajouter des règles spécifiques pour résoudre ce problème, abstrayez et ajustez votre outil. Il est peut-être préférable de définir ce champ comme facultatif. Demandez ensuite à l'agent de demander à l'utilisateur quel choix lui semble le plus judicieux, pour s'assurer qu'il est satisfait du résultat.
Participer et envoyer des commentaires
WebMCP fait l'objet de discussions actives et est susceptible d'être modifié à l'avenir. Si vous testez ces API et que vous avez des commentaires, n'hésitez pas à nous les faire part.
- Lisez l'explication de WebMCP, posez des questions et participez à la discussion.
- Consultez l'implémentation pour Chrome sur Chrome Status.
- Rejoignez le programme de preview anticipée pour découvrir en avant-première les nouvelles API et accéder à notre liste de diffusion.
- Si vous avez des commentaires sur l'implémentation de Chrome, signalez un bug Chromium.