Paul Asjes a passé des années à développer des SDK chez Stripe et WorkOS. Aujourd’hui, en tant que DevX Lead chez ElevenLabs, il repense ce que signifie l’éducation des développeurs quand l’apprenant est l’agent d’un développeur !

Cet article est adapté de un entretien avec Paul Asjes, DevX Lead chez ElevenLabs.


Ce qui préoccupe toutes les entreprises d’outils pour développeurs en ce moment, c’est que les modèles sur lesquels tournent les agents sont entraînés sur des données figées dans le temps. Résultat : ils peuvent générer du code en toute bonne foi en s’appuyant sur des connaissances obsolètes. L’agent d’un ingénieur peut générer du code contre une surface d’API qui n’existe plus depuis trois versions, lui livrant une expérience cassée avant de passer à l’outil suivant. En résumé, l’expérience de l’agent est désormais l’expérience du développeur.

Paul Asjes, DevX Lead chez ElevenLabs, travaille sur ce problème avec une approche en trois volets : skills qui apprennent aux agents à raisonner sur votre produit, MCP tools qui leur donnent des actions déterministes à exécuter, et MCP apps qui offrent aux développeurs des interfaces plug-and-play à présenter aux utilisateurs. « Mon objectif, c’est moins l’éducation des développeurs que l’éducation des agents », a confié Paul à RL Nabors lors d’un récent entretien pour la série MCP MVP d’Arcade. « Parce que ce sont les agents qui écrivent une grande partie du code. »

Paul a passé des années chez Stripe et WorkOS, à construire des SDK et à rédiger le type de documentation que lisent les humains. L’audience a changé. Voici ce qu’il a appris en construisant pour la nouvelle.

Le problème du déficit de connaissances

Quand un agent ne sait pas comment faire quelque chose, il cherche rarement à se documenter. En raison de la façon dont les LLM sont entraînés, ils font des suppositions.

Paul a cité des recherches d’OpenAI montrant que les LLM abordent les questions comme un QCM. Tout comme pour le SAT ou d’autres tests standardisés dans les lycées américains, il est statistiquement préférable pour le modèle de deviner une réponse plutôt que de n’en donner aucune. Ne rien répondre est toujours faux, alors qu’une supposition peut être juste. C’est fondamental dans le fonctionnement des modèles actuels, pas un bug que l’on peut corriger ou éliminer par l’entraînement.

Pour les entreprises proposant des API, cela signifie qu’un agent non entraîné sur votre dernier SDK va générer en toute confiance du code contre une surface d’API qui n’existe peut-être plus. Quiconque a demandé à Claude de construire quelque chose avec React et s’est vu retourner des patterns React 18 (alors que React 19 est la version actuelle) a vécu cette frustration.

Le secteur a exploré plusieurs approches. llms.txt permet aux sites de documentation de servir du markdown brut que les agents peuvent ingérer. MCP servers donnent aux agents des outils déterministes à appeler. Mais Paul et son équipe ont découvert quelque chose de contre-intuitif : donner à un agent un énorme dump de toute votre documentation le fait en réalité performer moins bien que de lui fournir un sous-ensemble soigneusement sélectionné.

Tessl, une entreprise qui évalue les agent skills, a confirmé ce résultat dans un entretien avec son CEO. Les agents disposant d’instructions concises et bien sélectionnées surpassent les agents auxquels on a donné une documentation exhaustive. Il existe bel et bien un trop-plein d’informations pour un LLM.

Skills : de la documentation pour les agents

Un agent skill est un fichier markdown avec des instructions concises optimisées pour que les agents les suivent. Si ça semble décevant, Paul est d’accord : « Ça me surprend un peu qu’on n’y ait pas pensé avant. »

Le format Agent Skills a été développé à l’origine par Anthropic et adopté depuis par Microsoft, OpenAI, GitHub et d’autres. Il standardise la façon dont ces instructions sont packagées. ElevenLabs a publié un ensemble de skills couvrant leurs produits phares : text-to-speech, speech-to-text, agents vocaux, effets sonores et configuration de clé API.

Ce qui distingue les skills de la documentation classique, c’est à la fois ce qu’elles incluent et ce qu’elles omettent. Les skills disent explicitement aux agents ce qu’il ne faut PAS faire : « ne codez PAS la clé API en dur ! »

Les agents, contrairement aux développeurs humains, ne déduiront pas ça du contexte ou de l’expérience. Les skills sont écrites pour un lecteur brillant à suivre des instructions, mais mauvais en jugement.

Tools : appels de fonctions déterministes pour les agents

Paul trace une ligne claire entre les skills et les MCP tools : « Les skills apprennent à l’agent comment accomplir une tâche. Les MCP tools lui donnent des actions déterministes à exécuter. » Un MCP tool dit : « appelle cette fonction avec ce schéma JSON. » Un skill dit : « voilà comment réfléchir à la construction d’une intégration text-to-speech, voici les étapes, voici les pièges. » L’un gère l’exécution, l’autre le raisonnement.

MCP Tools et Agent Tools sont complémentaires. Un MCP tool peut empêcher un agent d’halluciner le mauvais endpoint d’API, mais pas de passer des paramètres absurdes. Un skill peut apprendre à l’agent à quoi ressemble une requête sensée, mais l’agent doit quand même l’exécuter.

MCP apps : une UI pour l’utilisateur final

ElevenLabs a aussi travaillé sur l’autre face de l’expérience agent. Paul a construit le ElevenLabs MCP Player, un MCP app disponible dans Claude Desktop’s extensions library. C’est un MCP server avec une UI en React : quand Claude génère de l’audio, au lieu de retourner un simple chemin de fichier, il affiche un lecteur audio. Avec des contrôles lecture, pause, défilement, vitesse, répétition.

C’est possible grâce aux MCP Apps (appelées « MCP bundles » dans l’implémentation de Claude), une évolution récente du protocole MCP qui permet aux serveurs de rendre une UI aux côtés de leurs réponses d’outils. Avant ça, chaque interaction MCP était texte en entrée, texte en sortie. Maintenant, ça peut être texte (ou voix !) en entrée, interface en sortie.

Paul pense que c’est la clé pour faire passer MCP au-delà du public de passionnés. « Les MCP apps ouvrent ce monde aux non-techniciens », dit-il. « Vous n’avez pas vraiment besoin de savoir ce qu’est un MCP server. Tout ce que vous devez savoir, c’est que ça fait faire des choses mieux à Claude. »

Il imagine quelque chose comme un app store pour les capacités des agents. En ce moment, si vous voulez que Claude passe des appels téléphoniques via ElevenLabs, il vous faut un compte ElevenLabs, peut-être un compte Twilio, et les compétences techniques pour tout connecter. Une MCP app pourrait tout packager en une seule application qu’un non-développeur peut installer pour 99 centimes. « Si vous ajoutez de l’argent dans l’équation », dit Paul, « c’est là qu’un écosystème prospère vraiment. »

La découverte reste un défi, cependant. Le processus de vérification est quasi inexistant pour ce qui entre dans les registres de skills comme skills.sh, ce qui signifie que l’injection de prompts est un risque réel sur des marketplaces comme OpenClaw. Le versioning des skills est mal documenté, et si un skill devient obsolète ou nécessite un correctif de sécurité, il n’existe aucun mécanisme pour notifier les utilisateurs. « Si vous ne faites pas tourner npx skills update vous ne saurez jamais que votre skill est obsolète. » Et les standards concurrents restent un problème, avec Anthropic, OpenAI, Cursor et d’autres qui font tourner leurs propres variantes de la même idée.

« Ça me rappelle ce classique de XKCD, » dit Paul. « Il y a 14 standards concurrents, alors on en crée un qui couvre tous les cas d’usage. Vite, il y en a 15. »

L’abstraction continue

Paul voit le passage de l’écriture de code à la gestion d’agents comme la dernière d’une longue série d’abstractions : cartes perforées, claviers, interfaces graphiques, langage naturel. « Pendant toute une génération, on s’est penché en avant pour communiquer avec l’ordinateur à ses conditions », dit-il. « Pour la première fois, les ordinateurs se penchent dans la direction opposée. »

Il ne serait pas surpris que l’écriture de code devienne une activité de relecture dans quelques années et que le rôle « d’ingénieur logiciel » se transforme en « gestion d’agents ». C’est une affirmation qui mettra certains ingénieurs mal à l’aise, et Paul le sait. « Je pense que ça va s’amplifier, en bien ou en mal, selon votre point de vue. »

Que vous partagiez ou non ce calendrier, les implications concrètes pour les équipes developer experience sont déjà là. Si les agents écrivent la majeure partie du code d’intégration, la qualité de votre documentation, de vos skills, de vos MCP tools et de vos messages d’erreur orientés agents compte au moins autant que vos vidéos et tutoriels pour humains. Peut-être plus.

Essayez par vous-même

L’ElevenLabs MCP Player est disponible dès maintenant en extension dans Claude Desktop. Cherchez « ElevenLabs » dans les paramètres, sous extensions. Le code source est ouvert sur github.com/elevenlabs/elevenlabs-mcp-player.

Pour installer les agent skills d’ElevenLabs pour votre agent de code, lancez npx @anthropic-ai/agent-skills install github:elevenlabs/skills Le dépôt des skills est sur github.com/elevenlabs/skills. Si vous souhaitez évaluer des skills avant de les adopter, le registre de Tessl fournit des scores de qualité sur la structure, l’implémentation et la découvrabilité.

Suivez ElevenLabs sur Bluesky et X pour les actualités, et retrouvez Paul sur Bluesky et X.


MCP MVP est une série vidéo d’Arcade.dev avec RL Nabors qui met en lumière les builders qui façonnent l’écosystème agentique. Regarder l’interview complète avec Paul Asjes →

Vous voulez donner à vos agents un accès authentifié aux API sans gérer vous-même les tokens ? Découvrez comment Arcade gère OAuth pour les MCP tools.