Workflow multi-étapes avec Hermes Agent : enchaîner sans casser
Un worker Hermes Agent peut résumer un document, chercher des informations, rédiger un brouillon. Mais dès que tu veux enchaîner plusieurs actions , récupérer des données, les analyser, puis publier un rapport , un seul worker ne suffit plus. Le vrai défi n’est pas de lancer chaque étape, mais de faire passer le contexte d’une étape à l’autre sans tout casser.
Pourquoi un seul worker ne suffit pas toujours
Un worker Hermes est conçu pour une tâche précise, avec une entrée et une sortie claires. Si tu lui demandes de faire deux choses à la fois, il va soit ignorer une partie de la demande, soit produire un résultat hybride où chaque partie est à moitié traitée.
Exemple : tu veux qu’un worker fasse une veille concurrentielle et rédige un article à partir des résultats. Si tu lui donnes les deux instructions en même temps, il va se concentrer sur la veille et bâcler la rédaction, ou rédiger un article générique sans utiliser les données récupérées.
Le vrai sujet n’est pas d’ajouter un agent de plus.
Si tu veux construire un système d’agents utile, il te faut surtout une structure claire, de bons arbitrages et des retours terrain. C’est exactement ce qu’on partage dans Kavyro.
Tu arrives avec ton sujet, tu repars avec plus de clarté.
La solution est de découper le travail en étapes distinctes, où chaque worker a un rôle précis et transmet son résultat au suivant. C’est le principe d’un workflow multi-étapes par coordination, pas par empilement de tâches.
Passer le contexte d’un worker à l’autre
Le contexte, c’est ce qui permet à chaque étape de savoir quoi faire et avec quoi. Dans un workflow Hermes, le contexte se transmet sous trois formes :
- Les données brutes : le résultat d’une étape (un fichier, un texte, une liste).
- Les métadonnées : des informations sur ce résultat (source, date, format, limites).
- Les instructions : ce que le worker suivant doit faire avec ces données.
Prenons un exemple concret : un workflow qui récupère des articles sur un sujet, les résume, puis les publie sur un blog.
Étape 1 : un worker cherche des articles via une API ou un moteur de recherche. Sa sortie est une liste de liens et de titres. Étape 2 : un deuxième worker prend cette liste, récupère le contenu des articles, et produit un résumé pour chacun. Sa sortie est un fichier structuré avec les résumés. Étape 3 : un troisième worker prend ces résumés et les formate pour les publier sur WordPress.
Le passage de contexte se fait via des fichiers ou des variables. Hermes permet de stocker les sorties de chaque worker dans un format lisible par le suivant (JSON, Markdown, texte brut). L’important est que chaque worker sache exactement où trouver les données dont il a besoin et comment les utiliser. Pour approfondir, la règle de sortie attendue est le meilleur point de départ.
Ordonnancer les étapes sans se perdre
Un workflow multi-étapes, c’est comme une recette de cuisine : si tu mélanges les ingrédients dans le mauvais ordre, le résultat ne sera pas comestible.
- Définis un ordre logique : chaque étape doit dépendre de la précédente. Tu ne peux pas publier un article avant de l’avoir rédigé.
- Utilise des noms clairs : nomme chaque étape pour savoir ce qu’elle fait et ce qu’elle produit. Exemple :
recherche_articles,resume_articles,publie_blog. - Documente les dépendances : si une étape a besoin d’un fichier ou d’une variable spécifique, note-le dans le code du workflow.
- Teste chaque étape séparément : avant de lancer tout le workflow, vérifie que chaque worker fait bien ce qu’on lui demande avec les données qu’il reçoit.
Hermes permet de créer des workflows en enchaînant les workers via des scripts ou des fichiers de configuration. Tu peux aussi utiliser cron pour déclencher certaines étapes à des moments précis, ou des triggers pour lancer une étape dès qu’une condition est remplie.
Gérer les échecs à chaque étape
Un workflow multi-étapes, c’est aussi une chaîne de risques : si une étape échoue, tout le reste peut s’arrêter.
Un workflow qui ne gère pas les échecs n’est pas un workflow : c’est un script fragile qui attend de casser.
Quelques principes pour limiter les dégâts :
- Prévois des sorties par défaut : si une étape échoue, le worker suivant doit pouvoir continuer avec une valeur par défaut ou un message d’erreur clair.
- Loggue les erreurs : chaque worker écrit dans un fichier de log ce qu’il a fait, ce qui a marché et ce qui a échoué.
- Utilise des vérifications : avant de passer à l’étape suivante, vérifie que les données attendues sont bien là.
- Prévois des retries : si une étape échoue à cause d’un problème temporaire (API indisponible), relance-la automatiquement après quelques secondes.
Hermes propose des mécanismes pour gérer les échecs, comme des conditions (if/else) ou des boucles (while). Tu peux aussi utiliser des scripts Bash ou Python pour ajouter des couches de vérification.
Cas pratique : recherche, rédaction, publication
Prenons un exemple complet : un workflow qui fait une veille sur un sujet, rédige un article à partir des résultats, et le publie sur un blog.
Étape 1 : Recherche d’informations
Worker : veille_concurrentielle. Entrée : un mot-clé. Sortie : une liste de liens et de titres au format JSON. Vérification : la liste n’est pas vide et chaque lien est accessible.
Étape 2 : Résumé des articles
Worker : resume_articles. Entrée : le fichier JSON produit par l’étape 1. Sortie : un fichier Markdown avec les résumés structurés en sections. Vérification : chaque résumé fait au moins 5 lignes, pas de doublons.
Étape 3 : Rédaction de l’article
Worker : redige_article. Entrée : le fichier Markdown des résumés. Sortie : un article complet (introduction, développement, conclusion) au format Markdown. Vérification : l’article fait au moins 800 mots et respecte la voix Kavyro.
Étape 4 : Publication sur WordPress
Worker : publie_wordpress. Entrée : l’article en Markdown. Sortie : un article publié avec ses métadonnées (titre, slug, meta description). Vérification : l’article est bien en ligne et les liens internes fonctionnent.
Gestion des échecs
Si veille_concurrentielle ne trouve aucun article, le workflow s’arrête et envoie une alerte. Si resume_articles échoue, il utilise une sortie par défaut. Si redige_article produit un texte trop court, il relance la rédaction avec des consignes plus précises. Si publie_wordpress échoue, il enregistre l’article en local et envoie une alerte pour publication manuelle.
Quand ne pas faire de workflow multi-étapes
Un workflow multi-étapes est utile, mais ce n’est pas toujours la meilleure solution.
- Pour des tâches simples : si une seule étape suffit, ne complique pas les choses. Résumer un document ou envoyer un email ne nécessite pas un workflow.
- Quand le contexte ne change pas : si chaque étape travaille sur les mêmes données sans les transformer, un seul worker peut suffire.
- Quand la maintenance devient trop lourde : si tu passes plus de temps à déboguer qu’à utiliser le workflow, c’est qu’il est trop complexe.
- Quand les étapes sont indépendantes : si les workers n’ont pas besoin de se parler, lance-les en parallèle plutôt qu’en séquence.
Un workflow multi-étapes avec Hermes Agent, c’est une chaîne où chaque maillon a un rôle précis et transmet son résultat au suivant. Le secret : découper proprement, passer le contexte explicitement, et prévoir les échecs à chaque étape.
Si tu veux voir comment organiser plusieurs agents pour qu’ils travaillent ensemble sans se marcher sur les pieds, regarde l’article sur l’équipe d’agents IA comme second cerveau.