AgentKit d'OpenAI : comment on n'est pas (encore) arrivé à créer notre agent
Lancée le 6 octobre dernier par OpenAI, AgentKit est une suite numérique pour créer, déployer et optimiser des agents IA. Son premier composant, AgentBuilder, à l'instar de n8n ou Zapier, permet la création de workflows intuitifs. L'utilisateur connecte des "briques" numériques par glisser-déposer. L'interface doit garantir un débogage rapide et intégré. Il est également possible de valider instantanément le résultat grâce à une fonction de prévisualisation. AgentKit s'agrémente d'outils comme des connecteurs MCP ou des modules de guardrails pour sécuriser et encadrer son agent.
Deuxième composant d'AgentKit, ChatKit met en place des interfaces de chat personnalisables dans des applications et sites web. Enfin, Connector Registry centralise la gestion des données dans le workflow agentique.
AgentBuilder pour lire les emails
Afin de tester AgentKit, nous créons un workflow sur AgentBuilder. L'agent créé doit comprendre les requêtes en langage naturel, utiliser un connecteur pour interagir avec l'Api Gmail, rechercher les messages correspondants et présenter les résultats à l'utilisateur.
La première étape consiste à accéder à l'Agent Builder. Celui-ci est en version bêta et est déployé progressivement. L'accès à Agent Builder n'est pas disponible via un compte ChatGPT classique. Il est nécessaire d'avoir un compte sur la plateforme de développeur d'OpenAI avec l'accès à l'API et des informations de facturation valides.
La simplicité étant recommandée, nous n'allons créer que deux nœuds pour ce workflow. Pour cela, nous cliquons sur "Create", situé au milieu de l'interface. Nous glissons le nœud "Start" de la gauche vers le workflow. Dans le panneau de configuration à droite, nous choisissons la variable input_as_text.
Nous connectons ce nœud à un module "Agent". Nous le nommons "Agent de recherche Gmail".
Pour les instructions de l'agent, nous faisons en sorte qu'il transforme les données brutes en texte lisible.
Notre prompt :
"Tu es un assistant Gmail intelligent. Tu as accès à l'outil "search_emails" pour chercher dans Gmail. Quand l'utilisateur demande de chercher des emails : 1. Convertis sa demande en requête Gmail 2. Appelle search_emails avec UNIQUEMENT query et max_results 3. N'envoie PAS les champs tag et next_page_token 4. Présente les résultats clairement SYNTAXE GMAIL : - from:nom (expéditeur) - after:YYYY/MM/DD (date) - newer_than:Xd (X jours) - is:unread (non lu) - in:inbox (boîte de réception) EXEMPLES D'APPEL : "dernier mail" → search_emails(query="in:inbox", max_results=1) "emails de bruno" → search_emails(query="from:bruno", max_results=10) "emails d'aujourd'hui" → search_emails(query="after:2024/10/13", max_results=10) IMPORTANT : - N'utilise QUE les paramètres query et max_results - Ne mets PAS tag ou next_page_token PRÉSENTATION DES RÉSULTATS : **Email X** • Expéditeur : [nom] <[email]> • Sujet : [sujet] • Date : [date] • Extrait : [extrait] Sois concis et professionnel."
Dans les "Tools" de nœud, nous choisissons "Gmail". Ce connecteur permet d'accéder à nos emails. Attention à bien renseigner la clé API pour s'identifier. Nous allons sur la page OAuth 2.0 Playground de Google En bas, dans le champ "Input your own scopes", nous tapons : https://www.googleapis.com/auth/gmail.readonly. Nous cliquons sur "Authorize APIs" en bas à gauche. Après avoir accordé les autorisations, nous allons sur " Exchange authorization code for tokens ", où se trouve l'Access token.
Dans le module Gmail, nous cochons les différentes options, qui comprennent notamment read_email et search_emails
Voilà, c'est fait, le workflow est prêt !
Pour tester notre scénario, nous passons par "Preview", en haut à droite de l'interface. L'accès à cette fonctionnalité nécessite une authentification assez poussée. Une fois cela effectué, nous demandons à l'agent dans le chat de trouver les 3 derniers mails reçus à une certaine heure de la journée. L'agent analyse la demande et appelle l'outil Gmail.
On voit une réponse correcte. Les mails envoyés sont structurés. L'agent demande même si l'on veut pouvoir ouvrir directement l'un d'eux. Cette tâche est ensuite réalisée par l'agent. Il cherche aussi des liens à l'intérieur de l'e-mail et les affiche dans le chat. Il peut aussi générer une réponse mais il ne la mentionne pas directement dans le mail.
Le test étant concluant, nous publions le flux. Signalons que cette action ne rend pas le workflow public. Nous pouvons continuer à modifier le flux de travail en mode en brouillon et publier de nouvelles versions ensuite.
Un workflow à déployer
Pour déployer l'agent, OpenAI propose deux approches principales. Les agents SDK s'adressent surtout aux développeurs. Le principe est de télécharger le code de l'agent et de programmer soi-même.
Relativement plus simple à mettre en place, mais tout de même assez technique, le ChatKit permet d'intégrer un widget de chat sur un site web. Alors que la version de l'outil est encore instable, nous essayons tout de même d'installer et de configurer l'environnement de développement. Pour cela, nous allons créer un serveur backend, un frontend React, nous allons faire communiquer les deux et allons charger le composant ChatKit.
Dans les grandes lignes, nous créons d'abord un squelette de site web, avec un outil appelé "Vite". Intérêt : création un projet de site web. Nous installons les dépendances de base du projet. Un dossier "mon-agent-web" sur notre ordinateur contient plusieurs sous-dossiers ("src", "public"…). C'est la structure de base de notre site.
Ensuite, nous mettons en place un petit serveur qui protégera notre clé API. Objectif, sécuriser le backend. Par l'intermédiaire du Terminal, dans le dossier `mon-agent-web`, nous installons les outils pour notre serveur. Nous concevons ensuite le fichier qui contiendra le code de notre serveur. Nous élaborons le fichier .env, toujours dans le dossier mon-agent-web. Nous y mettons notre clef API OpenAI : OPENAI_API_KEY=sk-xxxx. Après cela, dans le terminal, nous installons le kit ChatKit pour React. Le but, mettre en place le frontend.
Nous lançons désormais le serveur et le site web. Dans le terminal, nous tapons à l'adresse de notre dossier mon-agent-web la commande "node server.js". Une session est créée.
Sur un autre terminal, dans notre dossier mon-agent-web, nous tapons ces commandes : npm run dev. Une adresse Localhost apparaît.

En nous rendant sur l'adresse localhost, un message "Mon agent IA" apparaît. Malheureusement, ce qui pourrait être causé par le manque de stabilité d'AgentKit ne nous permet pas encore d'avoir accès au chat de notre workflow. La meilleure option pour tester et utiliser son agent demeure d'utiliser Agent Builder directement, en attendant que ChatKit soit pleinement documenté et accessible.
AgentKit s'avère être un SDK solide et prometteur pour construire des agents IA directement dans OpenAI. Agent Builder lui-même fonctionne remarquablement bien. Cependant, la mise en production reste une véritable épreuve : la documentation lacunaire de ChatKit et les problèmes de déploiement bien documentés sur GitHub par de nombreux utilisateurs rendent cette étape fastidieuse et frustrante. C'est une situation normale pour un SDK aussi jeune, les équipes d'OpenAI étant, par ailleurs, engagées sur plusieurs fronts simultanément. L'outil devrait considérablement s'améliorer dans les prochains mois.
Enfin, il est bon de rappeler qu'AgentKit ne vise pas à remplacer n8n ou Zapier : son cœur de cible est plutôt de démocratiser la création d'agents IA en production pour des cas d'usage à moyenne échelle, en offrant une expérience plus accessible que de développer manuellement avec les APIs brutes.