Tutoriel 22 : Délégation de sous-agents
Tutoriel 22 : Délégation de sous-agents — guide facile à comprendre basé sur la documentation officielle
Ce tutoriel fait partie de la série officielle de tutoriels Hermes Agent. Voir tous les tutoriels
Imaginez que vous êtes le chef de projet d’une équipe. Vous pourriez tout faire vous-même, mais ce serait lent. À la place, vous distribuez des tâches spécifiques à vos coéquipiers, vous leur donnez les détails nécessaires, et vous attendez leur retour. C’est exactement ce que fait la Délégation de Sous-agents pour Hermes Agent — elle permet à votre agent principal d’embaucher des « travailleurs » temporaires pour gérer des tâches en arrière-plan.
Étape 1 : Comprendre l’idée de base
Lorsque vous appelez delegate_task, Hermes crée un ou plusieurs agents enfants (sous-agents). Chaque enfant :
- Bénéficie d’une conversation entièrement nouvelle — il ne sait rien de votre historique de discussion.
- A accès aux mêmes outils que l’agent parent.
- S’exécute dans sa propre session de terminal isolée.
- Ne renvoie qu’un résumé final à l’agent parent.
Considérez cela comme l’envoi d’un collègue pour rechercher un sujet. Il n’assiste pas à toute votre réunion — vous lui tendez simplement une note avec la tâche et le contexte, et il revient avec un rapport.
Étape 2 : Déléguer une seule tâche
Le cas d’utilisation le plus simple : une tâche, un sous-agent.
delegate_task(
goal="Déboguer pourquoi les tests échouent",
context="Erreur : assertion dans test_foo.py ligne 42"
)
Le goal indique au sous-agent quoi faire. Le context lui donne tout ce dont il a besoin pour le faire.
Étape 3 : Déléguer plusieurs tâches en parallèle
Besoin de faire plusieurs choses à la fois ? Passez une liste de tâches. Par défaut, Hermes exécute jusqu’à 3 sous-agents simultanément (vous pouvez modifier cela — il n’y a pas de limite stricte).
delegate_task(tasks=[
{"goal": "Rechercher le sujet A", "context": "Se concentrer sur les sources primaires récentes"},
{"goal": "Rechercher le sujet B", "context": "Comparer les principales explications"},
{"goal": "Corriger la compilation", "context": "Racine du projet : /home/user/project"}
])
Chaque sous-agent travaille indépendamment. L’agent parent attend qu’ils aient tous terminé, puis combine les résultats.
Étape 4 : La règle d’or — Les sous-agents ne savent rien
C’est le point le plus important, alors écoutez bien :
Les sous-agents démarrent avec zéro connaissance de votre conversation.
Si vous dites « Corrigez l’erreur » sans expliquer ce qu’est « l’erreur », le sous-agent sera perdu. Vous devez fournir tout le contexte nécessaire dans les champs goal et context.
Voici un mauvais exemple :
# MAUVAIS - le sous-agent n'a aucune idée de ce qu'est "l'erreur"
delegate_task(goal="Corriger l'erreur")
Et la bonne version :
# BON - le sous-agent a tout le contexte dont il a besoin
delegate_task(
goal="Corriger le TypeError dans api/handlers.py",
context="""Le fichier api/handlers.py a un TypeError à la ligne 47 :
l'objet 'NoneType' n'a pas d'attribut 'get'.
La fonction process_request() reçoit un dict de parse_body(),
mais parse_body() renvoie None lorsque Content-Type est manquant.
Le projet est dans /home/user/myproject et utilise Python 3.11."""
)
Considérez le context comme un document d’information. Plus vous êtes précis, meilleur sera le travail du sous-agent.
Étape 5 : Utilisation pour des flux de travail réels
Recherche parallèle
Recueillez des informations sur plusieurs sujets à la fois :
delegate_task(tasks=[
{
"goal": "Rechercher l'état actuel de WebAssembly en 2025",
"context": "Se concentrer sur : le support des navigateurs, les runtimes non-navigateur, le support des langages"
},
{
"goal": "Rechercher l'état actuel de l'adoption de RISC-V en 2025",
"context": "Se concentrer sur : les puces serveur, les systèmes embarqués, l'écosystème logiciel"
},
{
"goal": "Rechercher les progrès de l'informatique quantique en 2025",
"context": "Se concentrer sur : les percées en correction d'erreurs, les applications pratiques, les acteurs clés"
}
])
Revue de code + Correction
Confiez un travail complet de revue-et-correction à un contexte vierge :
delegate_task(
goal="Examiner le module d'authentification pour des problèmes de sécurité et corriger tout problème trouvé",
context="""Projet dans /home/user/webapp.
Fichiers du module Auth : src/auth/login.py, src/auth/jwt.py, src/auth/middleware.py.
Le projet utilise Flask, PyJWT et bcrypt.
Se concentrer sur : l'injection SQL, la validation JWT, la gestion des mots de passe, la gestion des sessions.
Corriger tout problème trouvé et exécuter la suite de tests (pytest tests/auth/)."""
)
Résumé
La délégation de sous-agents est votre moyen de paralléliser le travail dans Hermes Agent. Retenez ces points clés :
- Utilisez
delegate_taskpour une seule tâche ou un lot de tâches. - Fournissez toujours le contexte complet — les sous-agents partent de zéro.
- Jusqu’à 3 sous-agents simultanés par défaut, configurable si vous en avez besoin de plus.
- Chaque sous-agent renvoie un résumé structuré — ce qu’il a fait, ce qu’il a trouvé, les fichiers modifiés, les problèmes rencontrés.
C’est comme avoir une équipe d’assistants qui ne connaissent que ce que vous leur dites — alors dites-leur tout ce dont ils ont besoin.
À suivre : Tutoriel 23 — Kanban : un tableau partagé et persistant pour la collaboration multi-agents.
📖 Documentation officielle
Cet article est basé sur la documentation officielle de Hermes Agent :Docs officiels › user-guide/features/delegation