🤖HermesBlog
Tutoriels Officiels Hermes · Partie 228/9/2026

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.


Hermes tutorial

É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_task pour 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