Skip to main content
AGOAGO

Voir ce que les agents du navigateur font dans votre produit

Avec WebMCP activé, le SDK AGO remonte chaque appel qu'un agent externe fait à vos fonctions. Usage, échecs et sessions sont visibles dans AGO.

3 min read

Le SDK AGO place un agent dans votre produit. Vous déclarez des fonctions, par exemple ouvrir une page, filtrer une liste ou remplir un formulaire, et votre agent intégré les appelle pour agir à la place de votre client, au lieu de lui expliquer la marche à suivre.

Le même SDK rend votre produit automatiquement compatible WebMCP. Avec webmcp: true, chaque fonction déclarée pour votre agent AGO devient aussi un outil pour les agents que vos clients amènent, dans un navigateur compatible WebMCP. Aucune seconde intégration à construire. L'agent intégré et WebMCP font partie des trois façons de piloter une page web avec l'IA, et avec le SDK votre produit propose les deux.

Deux types d'agents travaillent donc dans votre produit, et jusqu'ici vous n'en voyiez qu'un. Depuis la version 1.13.2 de @useago/sdk, chaque appel qu'un agent externe fait via WebMCP remonte dans AGO, à côté des appels de votre agent intégré.

Un agent du navigateur ne laisse aujourd'hui aucune trace dans votre produit

Quand votre agent AGO appelle une fonction, le résultat repart vers AGO pour poursuivre la conversation : l'appel est donc déjà enregistré. Un agent du navigateur fonctionne autrement. Il exécute votre fonction dans la page et garde le résultat pour lui. Sa conversation avec votre client reste chez l'éditeur du navigateur ou de l'agent, et rien n'arrive à votre backend, sauf si la fonction elle même l'appelle.

Vous livrez WebMCP, et vous ne savez pas répondre aux premières questions de votre équipe produit : est ce que des agents s'en servent, sur quelles fonctions, et est ce que ces appels aboutissent ?

Le SDK remonte chaque appel, puisque c'est lui qui sert l'outil

Les outils WebMCP sont servis par le SDK AGO, qui voit donc passer chaque appel. Avec webmcp: true, il envoie désormais un rapport par appel :

  • Le nom de la fonction et les arguments passés par l'agent
  • Ce que votre handler a renvoyé, ou l'erreur qu'il a levée
  • Le temps d'exécution du handler
  • Un identifiant d'onglet qui regroupe la série d'appels d'un même agent
const client = new AgoClient({
  baseUrl: "https://YOUR-DOMAIN.useago.com",
  agent: "your-agent",
  webmcp: true, // active aussi la remontée des appels
});

Il n'y a pas d'option séparée. L'envoi se fait sans attente : rien ne bloque l'appel, et un rapport qui échoue est abandonné au lieu d'être renvoyé, pour qu'un appel ne soit jamais compté deux fois. Les fonctions déclarées avec navigates l'envoient en keepalive, si bien que le rapport arrive même quand la page se décharge.

La déclaration de la fonction accompagne les rapports de chaque onglet jusqu'à ce qu'AGO l'ait enregistrée. Une page dont les fonctions ne sont appelées que par des agents externes y apparaît donc aussi, même si votre agent intégré ne les a jamais utilisées.

AGO ne reçoit pas la conversation de l'agent. Vous voyez ce qu'il a fait dans votre produit, pas ce que votre client lui a demandé.

La page Fonctions client répond aux questions de votre équipe produit

Dans AGO, les appels arrivent sur la page Fonctions client, sous Paramètres / Outils développeur. Elle couvre les deux types d'appelants, votre agent intégré et WebMCP, et permet d'isoler l'un ou l'autre.

Onglet Ce qu'il vous apprend
Utilisation Volume d'appels par jour, taux d'échec et d'appels sans réponse, appels par fonction et pages vers lesquelles les agents ont navigué
Appels Chaque appel, filtrable par période, agent, utilisateur, fonction et résultat
Santé des déclarations La déclaration de chaque fonction comparée aux limites de taille de WebMCP

Chaque appel reçoit l'un de quatre résultats. Échec : le handler a levé une erreur ou renvoyé success: false. Refusé : votre client a décliné une action qui demandait son accord. Sans réponse : le handler n'a jamais renvoyé de résultat. Tout le reste est OK. Un résultat qui dépasse maxResultBytes est marqué Tronqué, car l'agent n'en a reçu qu'un aperçu.

Une session montre le parcours complet d'un agent

Un appel en échec, pris seul, explique rarement grand chose. La page de session reprend tous les appels d'un même parcours dans l'ordre, du plus ancien au plus récent, avec leur durée, leurs arguments et un aperçu du résultat. Pour votre agent intégré, une session correspond à une conversation. Pour WebMCP, c'est un onglet du navigateur, regroupé grâce à l'identifiant envoyé par le SDK.

C'est là qu'un schéma apparaît, par exemple un agent qui demande à navigateToPage une page qui n'existe pas, lit les données du mauvais écran, puis s'arrête.

La santé des déclarations repère les fonctions que les agents auront du mal à utiliser

Un agent du navigateur choisit entre les outils en lisant leur nom et leur description. Les recommandations WebMCP de Chrome fixent des limites : 30 caractères pour un nom, 500 pour une description, 30 pour un nom de paramètre, 150 pour la description d'un paramètre, et 1 500 octets pour un résultat. Le SDK affiche déjà un avertissement dans la console en cas de dépassement.

L'onglet mesure la dernière déclaration reçue par AGO pour chaque fonction au regard de ces mêmes limites, fait remonter en tête celles qui les dépassent et affiche la taille du dernier résultat renvoyé. Il aide à trouver la fonction trop longue pour être choisie de façon fiable. Il ne dit pas si une description est bonne : pour ça, il faut toujours quelqu'un pour la lire.

Les appels montrent ce que vos clients délèguent aux agents

Les questions auxquelles cela répond relèvent du produit, pas seulement du débogage :

  • Les fonctionnalités que les agents externes utilisent vraiment, et celles qu'ils ne trouvent jamais
  • Les fonctions qui échouent le plus souvent, et dans quelles sessions
  • Les pages vers lesquelles les agents naviguent, qui indiquent ce que vos clients leur délèguent

L'Assistant de l'administration peut aussi piloter la page : demandez lui quelle fonction échoue le plus cette semaine, il applique les filtres et vous donne la réponse.

Pour commencer, passez à @useago/sdk 1.13.2 ou plus récent et activez webmcp: true. Le guide des fonctions détaille le pont WebMCP, et notre page WebMCP explique ce qu'il change pour vos clients.

Share this article
Maxime Thoonsen

Maxime Thoonsen

Co-founder

Expert in AI and customer operations with over 10 years of experience in building scalable solutions.