Comment nous avons simplifié la création d'agents — Andrew Qu, Vercel
AAI Engineer
Computing/SoftwareSmall Business/StartupsInternet Technology
Transcript
00:00:00Salut à tous, merci d'être venus. Je m'appelle Andrew, je suis directeur des logiciels chez Vercel, et je suis là pour
00:00:20vous parler de la façon dont nous avons résolu la création d'agents chez Vercel. Je suis directeur des logiciels, donc je travaille sur
00:00:26un mélange d'ingénierie interne, d'expérimentation externe, et de manière générale, je me tiens à la
00:00:30pointe pour concevoir de nouvelles bibliothèques, de nouveaux frameworks et technologies. Pour ceux d'entre vous qui ne
00:00:36connaissent pas Vercel, Vercel développe une infrastructure pour agents afin que chacun puisse bâtir le futur. Nous avons commencé
00:00:42dans le monde du web, en aidant les gens à déployer des sites et des applications web sans avoir à se soucier de l'
00:00:47infrastructure qui n'apporte rien de plus à leur application. Celle-ci peut monter en charge jusqu'à un million et redescendre à
00:00:50zéro sans effort. Mais nous constatons une évolution dans ce que les gens veulent créer. Les utilisateurs ont commencé par
00:00:56concevoir des pages, mais maintenant nous voyons qu'ils veulent créer des agents, et nous nous sommes engagés dans une voie
00:01:01similaire pour leur faciliter la création d'agents et d'applications agentiques. Nous avons créé
00:01:08ce truc appelé l'AISCK, donc au lieu d'avoir à remplacer 300 ou 400 lignes de code spécifique à un fournisseur,
00:01:13vous pouvez changer une seule ligne de code, et nous disposons de la même interface de modèle sous-jacente pour tous ces
00:01:19différents fournisseurs. Nous avons conçu de nombreux autres outils pour faciliter les solutions de secours de modèles, l'exécution de code
00:01:25sécurisée, une meilleure tarification en cas d'inactivité en attendant les réponses, ainsi que pour la durabilité et
00:01:30la possibilité de reprise. Et je suis ici pour vous raconter comment je me suis lancé dans cette expérience folle il y a environ un an, qui a mené à
00:01:38une explosion agentique chez Vercel et a débouché sur un projet formidable que nous avons récemment construit.
00:01:46À l'époque, en 1980, Bill Gates, bien avant mon époque, a eu cette citation disant qu'il imaginait qu'il y aurait un ordinateur
00:01:53sur chaque bureau et dans chaque foyer. Vous savez, c'était probablement assez provocateur à l'époque, et aujourd'hui cela semble tout à fait
00:01:59normal que cela se produise. Et le directeur technique et moi-même avons eu cette réflexion : au lieu d'un ordinateur sur chaque bureau, pourrions-nous
00:02:07potentiellement avoir un agent sur chaque bureau ? Vous savez, aujourd'hui, nous n'utilisons vraiment les agents que pour le code et les charges de travail
00:02:15techniques, mais nous commençons à voir une expansion vers des domaines tels que le design, la gestion de produit et d'autres
00:02:20secteurs. C'était il y a environ un an, donc je dirais que nous étions plutôt précurseurs. Mais c'était à l'époque où il y avait
00:02:27Sonnet 4 et où les choses n'étaient pas aussi sophistiquées qu'aujourd'hui. Et j'ai essayé d'explorer tout cela, de voir ce que nous pouvions
00:02:33faire. Je suis allé voir divers départements chez Vercel : marketing, ventes, finance, juridique. Et je leur ai demandé : qu'est-ce que vous détestez
00:02:42le plus dans votre travail ? Et le cas d'usage le plus convaincant que j'aie entendu venait de l'équipe data. Elle grandissait, c'était une équipe très restreinte,
00:02:50mais Vercel grandissait encore plus vite. Vous savez, ils avaient tellement plus de données provenant des clients, des analyses, des métriques, des ventes. Ils devaient sans cesse tout agréger et rendre ces informations disponibles pour eux-mêmes.
00:03:02à utiliser. Et à cette époque, si l'on pense à ce que les équipes de science des données doivent faire, chaque fois que quelqu'un du marketing ou des ventes a une
00:03:11question sur un client ou un produit, l'équipe data doit tout lâcher, rédiger la requête, la traiter, faire une analyse et revenir avec des
00:03:19recommandations sur la marche à suivre. C'était un véritable frein à la productivité. L'équipe data ne voulait pas tout abandonner pour passer ses journées à écrire des requêtes. J'ai donc travaillé avec notre vice-président de la data pour essayer de trouver un meilleur moyen de faire.
00:03:31pour essayer de leur offrir une meilleure façon de fonctionner. Si vous pensez à la toute première chose que vous feriez pour utiliser l'IA
00:03:40afin de résoudre un problème, c'est peut-être de concevoir un énorme méga-prompt. Vous posez une question, vous la transmettez à un LLM, vous attendez sa réponse, et c'est tout. C'est honnêtement à ça que ressemblait la première version.
00:03:52Je leur ai demandé un export du schéma Snowflake. Je l'ai collé dans un prompt système avec une question. Et lorsque le code SQL a été généré, je l'ai en fait
00:04:01copié-collé pour l'exécuter moi-même. Je voulais juste voir si les modèles actuels sont assez performants pour écrire du SQL valide à partir d'une
00:04:09structure correcte. Cela nous a donné un peu d'assurance quant au fait que, même si les modèles d'aujourd'hui ne sont pas parfaits, nous pouvons peut-être faire de l'ingénierie de contexte ou améliorer l'environnement pour lui donner plus de garde-fous et le faire mieux fonctionner.
00:04:21Si l'on réfléchit à ce qu'un data scientist doit réellement faire lorsqu'il reçoit une question, il doit traiter cette question.
00:04:28Il doit parfois explorer la couche sémantique et comprendre les schémas de jointure. Ensuite, il exécute le SQL.
00:04:35Il peut recommencer si le SQL ne s'est pas exécuté ou s'il s'est avéré trop coûteux. Et il finit par faire un rapport, ce qui inclut la visualisation des
00:04:42données, la rédaction de quelques paragraphes, peut-être un compte-rendu ou d'autres tâches. En pensant à ces différentes phases, le vice-président de la data et moi
00:04:50avons essayé de les transposer en charges de travail spécifiques pour des agents. La deuxième version de cet agent
00:04:57de science des données, appelé D0 (je l'appellerai ainsi désormais), fonctionne ainsi : vous posez une question, nous avons un agent de requête qui transmet la demande à un
00:05:05agent de planification, qui passe ensuite le relais à un agent d'exécution, et ainsi de suite. Enchaîner tout cela permet d'obtenir
00:05:11un système où chaque agent possède un prompt système dédié et axé sur sa tâche, avec des outils strictement limités à cette fonction.
00:05:20Par exemple, pour le premier, l'agent de planification dispose d'un outil de lecture d'entité YAML et de recherche de schémas. Il n'utilisera donc que ces
00:05:31capacités jusqu'à ce qu'il obtienne une réponse à transmettre à l'agent de planification, puis à l'agent SQL, et enfin au rapport. C'était de
00:05:38mieux en mieux. Nous n'avions plus besoin de faire des copier-collés de SQL ni de revenir sans cesse pour faire des rapports
00:05:44dessus. L'outil gérait désormais toute la boucle de bout en bout, de la question à la réponse. Mais nous avons commencé à nous heurtés à certaines limites avec cette
00:05:54architecture. Vers cette période, nous sommes arrivés à la conclusion qu'en réalité, ce dont on a besoin, c'est d'un
00:06:01unique agent doté d'un méga-contexte global et capable de gérer sa propre mémoire. C'est à peu près au moment
00:06:07où nous avons réalisé qu'il fallait permettre à l'agent de repenser à ce qu'il a fait, de s'analyser et de
00:06:13comprendre les étapes qui l'ont mené ici. Avec le modèle précédent, vous avez peut-être remarqué que la seule chose transmise au
00:06:19nouvel agent était un résumé et un petit extrait de ce qui venait d'être fait. Désormais, vous pouvez
00:06:25imaginer disposer d'un méga-agent qui gère son propre état en interne. Parfois il planifie,
00:06:30parfois il construit, parfois il exécute, et parfois il fait des rapports. Voilà à quoi cela
00:06:36ressemblait. Un seul grand appel à l'IA, avec un maximum de 100 étapes par exemple, et on lui donne la capacité de gérer son propre
00:06:43état selon sa progression dans le parcours d'exécution. La structure reste similaire en termes d'
00:06:48outils. Mais le meilleur dans tout ça, c'est que s'il rencontrait une erreur lors de l'exécution ou
00:06:54d'une jointure, il pouvait revenir en arrière pour explorer davantage, ou relire pour comprendre ce qu'il faisait de travers.
00:07:00À ce stade, il était très performant. Nous avions pas mal confiance dans le système en place, et nous l'avons
00:07:06même ouvert à quelques membres de confiance de notre équipe. C'était un outil très puissant et nous ne voulions pas vraiment le confier
00:07:11à de mauvaises personnes ou à des utilisateurs gérant des charges de travail critiques. Nous l'avons donc mis entre quelques mains et la réaction
00:07:17immédiate a été de dire que c'était affreux. Nous pensions pourtant avoir fait du bon travail. Nous croyions que cela
00:07:23réussissait 30 % de nos évaluations. Mais nous ne pouvions pas anticiper certains types de questions posées.
00:07:28Et passer plus de temps à cartographier manuellement ces scénarios ne semblait pas être une méthode très évolutive.
00:07:33Puis Claude Code et Opus 4.5 sont sortis, ou plutôt Opus 4.5 est sorti, et couplé à Claude Code, c'était tout simplement d'une puissance incroyable.
00:07:44Ils ont en quelque sorte démocratisé le concept d'agent de système de fichiers. De notre côté, nous nous sommes dit : wow, Claude Code et Opus 4.5, c'est pratiquement l'AGI comparé à ce qu'on avait avant.
00:07:56Il répondait à la plupart de nos questions sans hésiter, loin devant notre agent fait maison.
00:08:04Et en prenant du recul pour comprendre ce qu'on faisait de travers et pourquoi c'était tellement mieux, nous avons réalisé que la clé résidait dans l'utilisation d'un simple système de fichiers.
00:08:13Il disposait d'un ensemble d'outils minimal : lister un fichier, lire un fichier, exécuter une commande bash, et nous en avons ajouté quelques autres pour notre propre cas d'usage d'agent de données.
00:08:24Mais le plus important, c'est qu'il pouvait utiliser les outils avec lesquels les agents sont bien entraînés, tout en explorant et en écrivant là où il en avait besoin.
00:08:32Nous ne lui donnions pas — Claude Code ne lui fournissait pas un ensemble d'outils trop directif.
00:08:37On le laissait plutôt s'en donner à cœur joie et explorer un comportement émergent.
00:08:41Ainsi, nous avons compris qu'on pouvait vraiment s'appuyer sur le système de fichiers.
00:08:44Nous avons vu les enseignements tirés de Claude Code et toute sa puissance du fait qu'il s'exécute en local.
00:08:50Et nous avons essayé de le reconstruire dans un esprit très proche de Claude Code.
00:08:54Il allait maintenant s'exécuter dans un bac à sable (sandbox).
00:08:57Ce bac à sable y chargerait toute la couche sémantique.
00:09:00L'agent serait capable d'utiliser bash, de lire ou d'écrire des fichiers un peu partout pour trouver ce dont il a besoin.
00:09:05Et nous ajouterions juste quelques outils par-dessus pour nous assurer qu'il puisse accomplir toutes les tâches spécifiques à Vercel.
00:09:10C'a été le plus grand déclic de tous les temps.
00:09:14Le passage d'un agent unique au SDK Claude Code, puis du SDK Claude Code à un agent de système de fichiers en général, affiné ou conçu sur mesure pour notre cas d'usage, a été un bond extraordinaire.
00:09:27À ce stade, nous commencions à nous préparer à le mettre entre les mains d'autres collaborateurs chez Vercel.
00:09:31Et à ce moment précis, le score d'évaluation a pour ainsi dire doublé.
00:09:36J'ai écrit ceci — voici à quoi cela ressemble.
00:09:39C'est très simple.
00:09:40Vous lui donnez simplement un outil bash.
00:09:41Nous avons un super assistant appelé bash tool sur NPM.
00:09:44Et vous le connectez à un bac à sable.
00:09:45Vous pouvez y joindre des fichiers pour qu'il puisse les lire, les écrire et les exécuter.
00:09:50Et après cette révélation, et après avoir constaté que nous réussissions tant de questions qui échouaient auparavant, j'ai rédigé cet article de blog du tonnerre.
00:09:59Il est d'ailleurs en ligne aujourd'hui.
00:10:00Et la semaine où je l'ai publié, il a généré 70 % de notre trafic sur Vercel.com.
00:10:05Autant dire que c'est une sacrée réussite.
00:10:07Ensuite, la logique voulait que nous cherchions à identifier nos cas d'usage les plus fréquents.
00:10:14À ce stade, nous l'avions déjà en quelque sorte lâché sur l'ensemble de Vercel.
00:10:18Et nous recevions des milliers de requêtes par jour de personnes voulant tout, des métriques clients, des chiffres de vente, des métriques numériques, aux téléchargements NPM.
00:10:27Il s'avère qu'une grande partie de ces requêtes ont en fait la même structure.
00:10:30Il n'y a après tout qu'un nombre limité de façons d'effectuer une agrégation.
00:10:33Seulement un nombre limité de façons de rechercher un produit.
00:10:35Seulement un nombre limité de façons de consulter des informations de facturation.
00:10:37Nous avons donc mis en place une tâche récurrente qui analyse les requêtes les plus récentes pour les condenser en une compétence.
00:10:43À l'heure actuelle, nous disposons d'environ 100 compétences couvrant des tâches allant de l'agrégation globale à la recherche de données spécifiques sur certaines personnes.
00:10:50Et nous avons trouvé cela très efficace.
00:10:52Car si l'on y pense, chaque nouvelle exécution d'agent part de zéro.
00:10:56Il n'y a vraiment aucun contexte préétabli, mis à part la couche sémantique et le system prompt.
00:11:01Mais avec une compétence, l'agent bénéficie déjà d'une base de connaissances contextuelles acquise au préalable.
00:11:09Et voici grosso modo à quoi cela ressemble.
00:11:11C'est très similaire à la précédente.
00:11:12Mais l'ajout d'un dossier de compétences s'avère extrêmement puissant.
00:11:15Nous avons également créé cet outil chez Vercel appelé Skills SH.
00:11:18C'est le moyen le plus populaire de trouver des compétences d'agent et de les exécuter soi-même.
00:11:22Et je dis tout cela parce que ce parcours est probablement celui que la plupart d'entre vous connaîtront tôt ou tard.
00:11:28Là où l'on commence par quelque chose de simple pour y ajouter progressivement de la complexité jusqu'à déployer en production.
00:11:34Et je vous dis cela parce qu'à chaque étape de la création de cet agent, quelqu'un chez Vercel s'est pris de passion pour les agents.
00:11:42Ils ont essayé de bifurquer à partir de mon agent D0 pour créer le leur.
00:11:46Et à chaque fois, nous avons trouvé de meilleures manières de faire des choses jusque-là inconnues.
00:11:50Nous nous sommes demandé : et si les gens d'aujourd'hui pouvaient partir directement de la toute dernière découverte sans jamais avoir à repartir d'un simple prompt ou à réinventer les principes de base ?
00:12:04Nous nous sommes donc dit : et si nous créions le Next.js des agents ?
00:12:09Pour ceux qui l'ignorent, Next.js est un framework web populaire créé par Vercel qui a inventé le concept d'infrastructure définie par le système de fichiers.
00:12:18Plus besoin de se soucier de l'emplacement des fichiers.
00:12:20Il suffit de les écrire en respectant les bonnes conventions.
00:12:23Et le framework déclare automatiquement où ils doivent aller.
00:12:26Vos pages vont sur le CDN.
00:12:27Vos fonctions serverless y sont hébergées.
00:12:29Votre mise en cache se fait au milieu.
00:12:31Et nous nous sommes dit que créer des agents devait être tout aussi simple.
00:12:34Il devrait suffire de créer un dossier de compétences, un dossier d'outils, un dossier de canaux.
00:12:38Et de pouvoir déclarer tout cela très facilement.
00:12:40Le framework doit savoir exactement comment en faire un agent.
00:12:44C'est pourquoi, il y a deux semaines, nous avons lancé Eve.
00:12:47Eve est un framework d'agents, tel un Next.js pour agents, qui permet de passer facilement d'un simple modèle d'exemple à un agent prêt à l'emploi, tout en y intégrant vos propres connaissances, vos propres outils
00:12:59et même de l'intégrer aux canaux que vous connaissez bien.
00:13:03Voici grosso modo à quoi ressemble un agent selon nous.
00:13:06Un agent possède un moteur d'exécution et des canaux.
00:13:09Et dans ce moteur, vous aurez besoin de durabilité.
00:13:11Vous voudrez exécuter des tâches dans un environnement isolé.
00:13:13Vous voudrez faire appel à différents modèles.
00:13:15Et vous voudrez disposer de connexions.
00:13:17Nous avons conçu tout cela en pensant à l'open source.
00:13:19Nous avons bâti Eve pour que vous puissiez y brancher vos propres adaptateurs open source pour Postgres, l'API Responses d'OpenAI, Docker et d'autres connecteurs.
00:13:29Mais nous avons aussi fait en sorte qu'il soit incroyablement facile de le déployer sur Vercel.
00:13:31La seule différence ici, c'est que tout repose sur des produits Vercel que nous concevons depuis des années pour simplifier la création de ces expériences.
00:13:39Vercel Workflows pour la durabilité, Sandbox pour l'exécution sécurisée, et Vercel Connect, une nouveauté que nous venons de lancer pour générer facilement des jetons OADC à courte durée de vie pour les connexions.
00:13:51Nous avons d'ailleurs réécrit l'intégralité de l'agent D0 dans Eve pendant son développement.
00:13:55Et par rapport aux structures alambiquées en coulisses qui n'apparaissaient pas dans le code, voici à peu près à quoi ressemble le système de fichiers.
00:14:01C'est très simple.
00:14:02Vous disposez d'un ensemble d'instructions système, de quelques compétences, de quelques outils, et il est très facile de composer le tout pour former un véritable agent.
00:14:09Et c'est très facile d'itérer.
00:14:11Nous l'avons confié à quelques clients bêta avant son lancement complet il y a deux semaines lors de notre événement à Londres.
00:14:17Et cette entreprise qui collabore étroitement avec nous, Aura, a reconstruit son agent, une sorte de mini-claw, pour tester les services des utilisateurs.
00:14:26Il visite les sites web, les installe et essaie de les utiliser.
00:14:29Ils ont obtenu un succès incroyable en créant leur propre agent de zéro avec Eve, par rapport à l'utilisation d'un cloud code standard du commerce.
00:14:38Moins d'étapes, de meilleurs résultats, ainsi que de meilleures analyses.
00:14:42Et lorsque vous déployez Eve sur Vercel, vous bénéficiez d'une observabilité clé en main.
00:14:49Comme vous pouvez le voir, vous obtenez toutes les exécutions de l'agent, tous les appels d'outils, chaque étape franchie, ainsi que des estimations de coûts et des pistes d'optimisation potentielles.
00:15:00Vous pouvez commencer dès aujourd'hui sur Eve.dev.
00:15:02Il vous suffit de le cloner, de lancer un modèle, de déployer facilement et de l'auto-héberger si nécessaire.
00:15:07Et si j'aborde ce sujet, c'est parce que j'espère voir émerger de plus en plus d'agents dédiés à des cas d'usage métiers spécifiques.
00:15:14Avant de créer D-Zero, nous avons mis à l'épreuve bon nombre de startups bien financées du secteur qui proposaient ces agents verticaux.
00:15:23Celles qui s'efforçaient de s'approprier votre instance Snowflake pour permettre à leur agent d'y exécuter des requêtes.
00:15:30Mais nous avons réalisé ce qui rend réellement un agent performant : il doit posséder des connaissances d'entreprise très spécifiques.
00:15:38Puisque Vercel est une entreprise axée sur le web, nous avons de nombreux clients qui possèdent des sites et des propriétés web.
00:15:45Cela va beaucoup plus loin pour savoir quoi interroger, à quel moment et comment les éléments sont liés entre eux.
00:15:51Beaucoup de ces agents prêts à l'emploi sont formidables et utiles à tester, mais si vous voulez vraiment en tirer le meilleur parti,
00:15:58je pense qu'il faut vraiment essayer de créer son propre agent et d'y injecter un maximum de connaissances propres à son entreprise.
00:16:03Aujourd'hui chez Vercel, nous avons environ 20 agents ayant atteint une adéquation produit-marché (PMF) satisfaisante, allant des rétrospectives marketing pour identifier de nouveaux prospects
00:16:14jusqu'à la toute première relecture de contrat par le service juridique lors d'une nouvelle négociation, en passant par mon agent de science des données pour les requêtes.
00:16:24Cela montre bien que chez Vercel, nous baignons dans une culture d'agents.
00:16:28Tout cela nous fait réellement gagner un temps précieux.
00:16:32L'équipe de data science n'a jamais été aussi productive.
00:16:34Elle dispose de plus de temps pour améliorer les performances de Snowflake et ajouter de nouvelles sources de données manquantes,
00:16:40afin de combler les lacunes qu'elle n'avait pas le temps de traiter auparavant, occupée qu'elle était à rédiger des requêtes.
00:16:46Et je pense qu'il n'a jamais été aussi facile pour votre grande, petite ou moyenne entreprise d'automatiser certaines tâches que vous ne souhaitez plus faire
00:16:55ou sur lesquelles vous passez trop de temps.
00:16:58Je pense qu'une grande partie des RH, de la finance et des ventes peut être en partie automatisée grâce aux agents, et qu'Eve est aujourd'hui le meilleur moyen de les concevoir.
00:17:09Voici mes réseaux sociaux.
00:17:11Merci à tous d'être venus et d'avoir écouté.
00:17:13Je m'appelle Andrew et je serai dans les parages si vous souhaitez discuter dehors.
Community Posts
No posts yet. Be the first to write about this video!
Write about this video