Quête du bâtisseur d'agents : 10 missions pour maîtriser la conception d'agents IA
Dix missions ludiques, un patron de conception d'agent chacune : de l'agent à un seul tool jusqu'à l'agent en production évalué et observable. Gagnez de l'XP.
par Patrick Kamtchueng Kom · Publié
Un bon agent, c’est un patron choisi volontairement. Cette quête vous en propose dix, chacun avec un petit projet concret, de l’appel de tool unique jusqu’à l’agent en production entièrement observable.
Les missions se débloquent dans l’ordre. Cochez-en une, gagnez de l’XP, montez de rang; votre progression reste dans ce navigateur.
🏆 Quête du bâtisseur d'agents
Apprenti du prompt
0 / 1650 XP
Mission 1 · Patron: Agent à appel de tools · +50 XP
🕒 Trouveur de plage horaire
Un agent conversationnel qui trouve un créneau de réunion pour des gens dans des villes différentes, avec trois petits tools. Vous apprenez la boucle de base : le modèle choisit un tool, votre code l'exécute, le résultat revient, jusqu'à la réponse finale.
Schémas de toolsLa boucle d'agentConditions d'arrêt
Ce que vous construisez
- Écrivez trois fonctions pures : city_to_timezone(city), convert_time(time, from_tz, to_tz), working_hours_overlap(zones).
- Décrivez chacune comme un tool avec un nom clair, une description et des paramètres typés.
- Lancez la boucle : envoyez les messages et les tools, exécutez chaque appel de tool, ajoutez le résultat, recommencez.
- Arrêtez sur une réponse texte finale ou après 6 étapes au maximum, selon ce qui arrive en premier.
- Affichez chaque appel de tool et son résultat pour pouvoir lire la trajectoire.
👾 Niveau boss: Renvoyez les erreurs de tool sous forme de messages lisibles (ville inconnue, nom ambigu) et vérifiez que le modèle se rattrape en posant une question plutôt qu'en devinant.
Prompt de départ
Construis en [LANGAGE] un agent en ligne de commande qui trouve une plage horaire de réunion, avec [FOURNISSEUR LLM AVEC APPEL DE TOOLS]. Tools : city_to_timezone(city), convert_time(time, from_tz, to_tz), working_hours_overlap(zones, start_hour, end_hour). Implémente la boucle d'agent à la main : appelle le modèle avec les tools, exécute les tools demandés, ajoute les résultats, recommence jusqu'à une réponse finale ou [MAX ÉTAPES] étapes. Journalise chaque étape. Les erreurs de tool doivent être renvoyées au modèle comme messages clairs, jamais lancées en exception.
Mission 2 · Patron: Routeur / classification et répartition · +75 XP
🔀 Standard d'aide aux devs
Une seule porte d'entrée, quatre spécialistes : un assistant regex, un générateur d'expressions cron, un explicateur SQL et un assistant de commandes git. Un classificateur peu coûteux envoie chaque demande au bon prompt spécialisé. Vous apprenez que router vaut mieux qu'un prompt géant.
ClassificationSortie structuréeRoutes de repli
Ce que vous construisez
- Écrivez un petit prompt routeur qui renvoie du JSON : route, confiance, raison courte.
- Écrivez quatre prompts spécialisés ciblés, chacun avec ses exemples et son format de sortie.
- Envoyez vers le spécialiste choisi; si la confiance est faible, posez une question de clarification.
- Ajoutez une route « non supporté » qui décline poliment tout ce qui est hors sujet.
- Créez un fichier de test de 30 demandes étiquetées et mesurez la précision du routage.
👾 Niveau boss: Utilisez un modèle plus petit et moins cher pour le routeur et un plus fort pour les spécialistes, puis comparez coût et précision avec un seul gros prompt.
Prompt de départ
Construis en [LANGAGE] un standard d'aide aux devs avec [FOURNISSEUR LLM]. Un appel routeur classe chaque demande dans : regex, cron, sql_explain, git, unsupported, et renvoie du JSON {route, confidence, reason}. Chaque route a son propre prompt spécialisé avec [N] exemples. Si la confiance est sous [SEUIL], pose une seule question de clarification. Inclus un jeu de test étiqueté de [N] demandes et un script qui affiche la précision du routage et une matrice de confusion.Mission 3 · Patron: Planificateur-exécutant · +100 XP
🧹 Brigade de nettoyage CSV
Donnez-lui un CSV en désordre et un objectif comme « une ligne par client, dates ISO ». Un planificateur rédige une liste d'étapes; un exécutant applique chaque étape avec un petit ensemble d'opérations sûres. Vous apprenez à séparer la réflexion de l'action, et quand replanifier.
Plan sous forme de donnéesOpérations contraintesReplanification
Ce que vous construisez
- Définissez une liste blanche d'opérations : rename_column, drop_column, parse_dates, trim, dedupe, split_column.
- Faites produire au planificateur un plan JSON : étapes ordonnées, chacune avec une opération et ses arguments.
- Validez le plan contre la liste blanche avant d'exécuter quoi que ce soit.
- Exécutez étape par étape sur une copie des données, en notant le nombre de lignes avant/après chaque étape.
- Si une étape échoue, renvoyez l'erreur et le schéma actuel au planificateur pour un plan révisé (2 replanifications au max).
👾 Niveau boss: Montrez le plan à l'utilisateur sous forme de liste lisible et laissez-le retirer ou réordonner des étapes avant l'exécution.
Prompt de départ
Construis en [LANGAGE] un outil de nettoyage CSV planificateur-exécutant avec [FOURNISSEUR LLM]. Entrée : un fichier CSV et un objectif en langage courant. Le planificateur voit les noms de colonnes et [N] lignes d'exemple et renvoie un plan JSON qui utilise seulement ces opérations : [LISTE D'OPÉRATIONS]. Valide le plan, puis exécute-le sur une copie des données en journalisant le nombre de lignes à chaque étape. En cas d'échec, replanifie avec le message d'erreur, au plus [N] fois. Écris le fichier nettoyé et un rapport markdown des changements.
Mission 4 · Patron: Boucle de réflexion / autocritique · +125 XP
🪞 Critique de README
Un rédacteur écrit un README pour un petit dossier de projet, un critique le note selon une grille, et le rédacteur révise jusqu'à la note de passage ou la fin des tours. Vous apprenez à faire vérifier son travail par un modèle sans boucler à l'infini.
Grilles d'évaluationPrompts de critiqueBudgets de boucle
Ce que vous construisez
- Écrivez une grille de 5 critères : installation, exemple d'utilisation, configuration, limites, exactitude par rapport au code.
- Appel rédacteur : lire l'arborescence et les fichiers clés, rédiger le README.
- Appel critique : noter chaque critère de 0 à 2 avec une justification d'une ligne, en JSON.
- Boucle : réviser seulement les critères en échec, arrêter à la note de passage ou après 3 tours.
- Sauvegardez chaque version et chaque note pour voir si les révisions améliorent vraiment les choses.
👾 Niveau boss: Ajoutez une vérification déterministe (les commandes du README existent-elles dans les scripts du projet?) et donnez son résultat au critique.
Prompt de départ
Construis en [LANGAGE] un rédacteur de README avec boucle de réflexion, avec [FOURNISSEUR LLM]. Entrée : le chemin d'un dossier de projet. Étape 1 : un rédacteur écrit README.md à partir de l'arborescence et de [FICHIERS CLÉS]. Étape 2 : un critique note le brouillon selon cette grille [CRITÈRES], en renvoyant du JSON avec une note et une raison par critère. Étape 3 : le rédacteur révise seulement les critères en échec. Arrête quand le total atteint [NOTE DE PASSAGE] ou après [MAX TOURS] tours. Sauvegarde chaque brouillon et chaque note dans un dossier de sortie.
Mission 5 · Patron: Agent augmenté par la recherche, avec citations · +150 XP
📚 Oracle des décisions d'architecture
Un agent qui répond à « pourquoi on a fait ça comme ça? » à partir des registres de décisions d'architecture de votre équipe, en citant le paragraphe exact. Une deuxième passe vérifie que chaque citation appuie vraiment l'affirmation. Vous apprenez que la recherche n'est que la moitié du travail; l'ancrage est l'autre moitié.
DécoupageRecherche comme toolVérification des citationsDire « introuvable »
Ce que vous construisez
- Découpez chaque registre de décision en paragraphes avec des ID stables (fichier + titre + index).
- Exposez search(query, k) comme tool pour que l'agent puisse chercher plusieurs fois avec des formulations différentes.
- Exigez des réponses où chaque phrase se termine par un ID de citation.
- Lancez une passe de vérification : pour chaque affirmation et son paragraphe cité, répondre appuyée / non appuyée.
- Retirez ou signalez les affirmations non appuyées, et répondez « absent des registres » quand rien de pertinent n'est trouvé.
👾 Niveau boss: Détectez les conflits : quand deux registres se contredisent (une ancienne décision a été remplacée), l'agent doit le dire et privilégier la plus récente.
Prompt de départ
Construis en [LANGAGE] un agent augmenté par la recherche sur un dossier de registres de décisions d'architecture au format [FORMAT]. Découpe par paragraphe avec des ID stables. Donne à l'agent un tool search(query, k) basé sur [MÉTHODE DE RECHERCHE]. Chaque phrase de la réponse doit citer un ID de fragment. Ajoute un appel vérificateur qui contrôle chaque affirmation contre son fragment cité et retire les affirmations non appuyées. Si rien de pertinent n'est trouvé, réponds que les registres ne couvrent pas la question. Inclus [N] questions de test, dont certaines sans réponse dans les registres.
Mission 6 · Patron: Mémoire entre les sessions · +175 XP
🧠 Coach de révision espacée
Un tuteur qui vous questionne sur un sujet de votre choix et se souvient, d'une session à l'autre, des concepts que vous ratez encore. Vous apprenez à décider quoi stocker, comment le récupérer et quand laisser les souvenirs s'estomper.
Schéma de mémoireRègles d'écriture et de lectureOubli progressif
Ce que vous construisez
- Définissez un enregistrement de mémoire par concept : nom, dernière révision, bonnes réponses, mauvaises réponses, courte note.
- Après chaque réponse, laissez l'agent appeler update_memory avec un changement structuré, pas du texte libre.
- Au début de la session, chargez seulement les concepts les plus faibles et les plus en retard dans le contexte.
- Donnez des intervalles de révision plus courts aux concepts faibles et laissez les concepts maîtrisés sortir de la rotation.
- Ajoutez une commande « montre ce que tu sais de moi » et une commande « oublie ».
👾 Niveau boss: Séparez deux types de mémoire : les faits sur l'apprenant (préférences, objectifs) et la performance par concept, chacun avec ses propres règles d'écriture.
Prompt de départ
Construis en [LANGAGE] un agent tuteur de révision espacée avec [FOURNISSEUR LLM] et [STOCKAGE] pour la mémoire. Sujet : [SUJET]. Enregistrement de mémoire par concept : {concept, last_seen, correct, wrong, note}. L'agent questionne l'utilisateur, corrige les réponses et appelle update_memory(concept, change) après chacune. Au début de la session, charge seulement les [N] concepts les plus faibles ou les plus en retard. Ajoute des commandes pour consulter et supprimer les souvenirs. Persiste entre les exécutions.Mission 7 · Patron: Humain dans la boucle (approbations) · +200 XP
🧾 Concierge des coûts infonuagiques
Pointez-le vers un inventaire fictif de ressources infonuagiques et il propose des actions de nettoyage : arrêter les machines inactives, supprimer les vieux instantanés, réduire les disques surdimensionnés. Les actions sûres s'exécutent, les risquées attendent votre approbation. Vous apprenez les niveaux de risque, les points d'approbation et les pistes d'audit.
Niveaux de risquePoints d'approbationSimulationsJournal d'audit
Ce que vous construisez
- Créez un inventaire JSON de fausses ressources avec propriétaire, dernière utilisation, taille et étiquettes.
- Classez chaque tool par risque : lecture (auto), changement réversible (auto avec journal), destructif (approbation requise).
- Pour les actions destructives, mettez en pause et affichez un diff de simulation avec la raison de l'agent; l'humain approuve, modifie ou refuse.
- Renvoyez les refus à l'agent pour qu'il ajuste le reste de son plan.
- Ajoutez chaque proposition, décision et résultat à un fichier de journal d'audit.
👾 Niveau boss: Appliquez le point d'approbation dans le code, pas dans le prompt : le tool de suppression refuse de s'exécuter sans jeton d'approbation valide, et écrivez un test qui le prouve.
Prompt de départ
Construis en [LANGAGE] un agent de nettoyage avec humain dans la boucle, avec [FOURNISSEUR LLM]. Entrée : [FICHIER D'INVENTAIRE] décrivant des ressources infonuagiques fictives. Tools : list_resources(), stop_instance(id), delete_snapshot(id), resize_disk(id, size). Étiquette les tools par niveau de risque. Les tools destructifs doivent faire une pause, afficher un diff de simulation et la raison de l'agent, puis attendre approuver / modifier / refuser. La vérification d'approbation vit dans le code du tool, pas dans le prompt. Écris chaque étape dans un journal d'audit en ajout seulement.
Mission 8 · Patron: Passage de relais multi-agents (orchestrateur + spécialistes) · +225 XP
🚀 Équipage du jour de lancement
Décrivez une fonctionnalité livrée et un orchestrateur passe le relais à des spécialistes : rédacteur de notes de version, responsable de la doc, rédacteur d'annonce, créateur de liste de vérification QA. Vous apprenez les contrats de handoff, l'état partagé et comment éviter que les spécialistes se marchent sur les pieds.
Contrats de handoffOrchestrationÉtat partagéÉtape de fusion
Ce que vous construisez
- Définissez un contrat de handoff : tâche, entrées, format de sortie attendu, et ce que le spécialiste ne doit pas modifier.
- Donnez à chaque spécialiste son propre prompt court et seulement les tools dont il a besoin.
- Laissez l'orchestrateur décider quels spécialistes appeler et dans quel ordre, en lançant les indépendants en parallèle.
- Rassemblez les sorties dans un objet d'état partagé, puis vérifiez leur cohérence (même version, même nom de fonctionnalité).
- Journalisez chaque passage de relais avec ses entrées et sorties pour pouvoir rejouer un spécialiste seul.
👾 Niveau boss: Permettez à un spécialiste de renvoyer la balle à l'orchestrateur avec une question quand il manque des entrées, au lieu d'inventer des détails.
Prompt de départ
Construis en [LANGAGE] un assistant de lancement multi-agents avec [FOURNISSEUR LLM]. Entrée : une description de fonctionnalité et [DIFF OU CHANGELOG]. Un orchestrateur répartit le travail entre des spécialistes : release_notes, docs_update, announcement, qa_checklist. Chaque passage de relais suit ce contrat : {task, inputs, output_format, constraints}. Les spécialistes peuvent renvoyer une question au lieu d'une réponse. Stocke les résultats dans un objet d'état partagé, vérifie la cohérence de toutes les sorties et affiche une trace de chaque passage de relais.Mission 9 · Patron: Agent exposé comme tool / serveur · +250 XP
🔌 Service de revue de migrations
Enveloppez un agent de revue de migrations de base de données derrière un serveur de tools pour que d'autres agents (et votre agent de code) puissent appeler review_migration et obtenir un verdict structuré. Vous apprenez à concevoir l'interface publique d'un agent : entrées, sorties, limites et erreurs.
Conception d'interfaceProtocoles de toolsDélais d'expirationVersionnage
Ce que vous construisez
- Construisez l'agent interne : il lit une migration SQL et signale les risques de verrouillage, les retours arrière manquants et les pertes de données.
- Définissez un tool avec un schéma d'entrée strict et un verdict JSON : niveau de risque, constats, correctif suggéré.
- Servez-le avec un protocole de tools standard (MCP ou votre propre endpoint HTTP) avec délai d'expiration et limite d'étapes.
- Renvoyez les erreurs sous forme de résultats structurés sur lesquels l'agent appelant peut raisonner.
- Branchez-le à un autre agent et regardez-le utiliser votre réviseur comme n'importe quel autre tool.
👾 Niveau boss: Versionnez le contrat du tool, ajoutez un deuxième tool (explain_finding) et gardez l'ancienne version fonctionnelle pour les appelants existants.
Prompt de départ
Construis en [LANGAGE] un agent de revue de migrations SQL et expose-le comme serveur de tools avec [PROTOCOLE DE TOOLS OU FRAMEWORK HTTP]. Tool : review_migration(sql, dialect) qui renvoie du JSON {risk: low|medium|high, findings: [{line, issue, fix}]}. L'agent interne a des tools en lecture seule pour [SOURCE DU SCHÉMA]. Impose un délai de [N] secondes et une limite de [N] étapes, renvoie des erreurs structurées et inclus un petit agent client qui appelle le tool sur [N] migrations d'exemple.Mission 10 · Patron: Agent de production évalué et observable · +300 XP
🛩️ Boîte noire d'agent
Mission boss : prenez un agent construit pendant cette quête et rendez-le digne de la production. Chaque exécution est tracée, une suite d'evals de trajectoire roule avant chaque changement, et les régressions bloquent le merge. Vous apprenez à prouver qu'un agent fonctionne, pas juste à l'espérer.
TracingEvals de trajectoireBarrières anti-régressionSuivi des coûts
Ce que vous construisez
- Tracez chaque exécution : chaque appel au modèle, appel de tool, arguments, résultat, latence et nombre de tokens, liés par un ID d'exécution.
- Construisez une commande de rejeu qui réexécute une trace stockée étape par étape.
- Écrivez 25 cas d'eval qui vérifient la réponse finale et le chemin : bons tools, aucun appel interdit, moins de N étapes.
- Exécutez chaque cas plusieurs fois et rapportez des taux de réussite, pas des résultats uniques.
- Ajoutez une tâche CI qui compare avec la dernière référence et échoue en cas de régression, plus un petit tableau de bord coût et latence par exécution.
👾 Niveau boss: Transformez chaque mauvaise trace de production en nouveau cas d'eval en une seule commande, pour que la suite grandisse à partir des vrais échecs.
Prompt de départ
Ajoute de l'observabilité de production et des evals à mon agent en [LANGAGE] situé à [CHEMIN DE L'AGENT]. 1) Trace chaque appel au modèle et appel de tool (entrées, sorties, latence, tokens) sous un ID d'exécution, stocké dans [STOCKAGE DES TRACES]. 2) Ajoute une commande de rejeu pour une exécution stockée. 3) Crée une suite de [N] cas d'eval qui vérifient la sortie finale et la trajectoire (tools attendus, tools interdits, étapes max), en exécutant chaque cas [N] fois. 4) Ajoute une étape CI qui compare les taux de réussite à une référence sauvegardée et échoue en cas de régression. 5) Affiche le coût et la latence par exécution.
Les patrons sont des outils, pas des trophées. Retournez chaque carte pour savoir quand il vaut la peine.
🃏 Aide-mémoire des patrons
Touchez une carte pour la retourner
À vous de choisir. Commencez simple : ajoutez de la structure seulement quand le scénario l’exige.
🎮 Quel patron convient?
1 / 8 · Pointage: 0
Classez chaque scénario selon le patron le plus simple qui le gère bien.
Dernier point de contrôle avant de lancer la mission 1.
🧠 Vérification : conception d'agents
Pointage: 0 / 4
1. Votre boucle de réflexion réécrit sans cesse le même brouillon sans l'améliorer. Quelle est la correction la plus probable?
2. Où doit vivre la règle « approbation requise » pour une action de suppression?
3. Quand une architecture multi-agents vaut-elle sa complexité supplémentaire?
4. Pourquoi vérifier la trajectoire et pas seulement la réponse finale dans les evals d'agents?