--- name: agent-delegation description: "Délègue des sous-tâches aux agents spécialisés du cluster Funk via ask-agent. OBLIGATOIRE pour toute analyse de logs, métriques ou monitoring système." version: 1.1.0 author: Funk Lab license: MIT platforms: [linux] metadata: hermes: tags: [multi-agent, delegation, funk, system, monitor, brain, local] --- # Délégation inter-agents — Cluster Funk ## Contexte critique Tu tournes **EN LOCAL sur `storage-01`**. Ne jamais SSH vers `storage-01` depuis toi-même — toutes les commandes locales (systemctl, journalctl, cat /proc/mdstat, etc.) s'exécutent directement via Terminal sans SSH. ## Règle de délégation OBLIGATOIRE **Tu DOIS utiliser `ask-agent` via Terminal dans ces situations :** | Situation | Agent à utiliser | |---|---| | Analyser des logs système ou service | `monitor` | | Évaluer l'état de santé de services | `monitor` | | Résumer des métriques, sorties de commandes | `system` | | Toute question de formatage ou calcul simple | `system` | | Architecture, revue de code, raisonnement complexe | `brain` | **Ne réponds JAMAIS directement à une demande d'analyse** — collecte d'abord les données, puis délègue. ## Syntaxe exacte `ask-agent` est une commande shell. Elle s'exécute toujours via l'outil `terminal` : ``` terminal: ask-agent system "ta question courte" terminal: ask-agent monitor "analyse ces données : " terminal: ask-agent brain "raisonnement complexe : " ``` **Ne jamais appeler `ask-agent` sans passer par le terminal.** `ask-agent` n'est pas un outil Hermes natif, c'est un binaire shell dans `/usr/local/bin/ask-agent`. ## Agents disponibles | Agent | Modèle | Port | Usage | |---|---|---|---| | `system` | Qwen3-1.7B CPU | :1236 | Calculs, formatage, résumés courts, questions Linux | | `monitor` | Qwen3-1.7B CPU | :1237 | Analyse logs, métriques, santé système, alertes | | `brain` | Claude Sonnet 4.6 API | - | Raisonnement complexe, architecture, revue critique | | `funk-ai` | Qwen3-8B GPU | :1234 | Tâches générales (toi-même — rarement utile) | ## Pattern OBLIGATOIRE : collecter → déléguer ```bash # ÉTAPE 1 — Collecter les données localement (Terminal direct, PAS via SSH) terminal: systemctl --state=failed --no-pager # ÉTAPE 2 — Déléguer l'analyse à l'agent approprié terminal: ask-agent monitor "voici les services en erreur : — identifie les causes et priorités" ``` ## Exemples concrets ```bash # Monitoring services terminal: systemctl --state=failed --no-pager terminal: ask-agent monitor "services systemd en erreur : — résume en 3 points" # Analyse logs hermes terminal: journalctl -u hermes-agent -n 30 --no-pager terminal: ask-agent monitor "analyse ces logs hermes-agent : — y a-t-il des erreurs ?" # Espace disque terminal: df -h /srv/data terminal: ask-agent system "est-ce que cette utilisation disque est critique : " # Question Linux simple terminal: ask-agent system "quelle commande pour lister les connexions TCP actives sur AlmaLinux ?" # Analyse complexe k8s terminal: kubectl get nodes terminal: ask-agent brain "un nœud k8s est NotReady, que vérifier en priorité : " ``` ## Différence avec delegate_task - **`ask-agent`** : appel direct LiteLLM, réponse immédiate, pas besoin de gateway Hermes actif → pour analyses rapides et questions ponctuelles - **`delegate_task`** : spawn d'un agent Hermes complet avec sessions, mémoire, tools → pour tâches longues multi-étapes Pour le monitoring et les analyses système, **toujours utiliser `ask-agent`**. ## Notes techniques - `ask-agent` appelle `http://127.0.0.1:4000/v1/chat/completions` via LiteLLM - Timeout : 120s - `system` et `monitor` tournent sur CPUs isolés — ils ne bloquent pas le GPU - `brain` consomme des tokens API Anthropic — réserver aux cas complexes