Funk-lab/hermes-skills/funk/agent-delegation/SKILL.md
alkatrazz 2b84a8c357 fix: SKILL.md v1.2.0 — section erreurs interdites + pattern 2 étapes
Le modèle passait des commandes shell comme argument à ask-agent
(ask-agent monitor journalctl ...) au lieu de passer du texte.

Ajout section "Erreurs INTERDITES" avec exemples / explicites,
et reformulation du pattern obligatoire en 2 étapes clairement séparées.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 17:41:59 +02:00

4 KiB

name description version author license platforms metadata
agent-delegation 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. 1.2.0 Funk Lab MIT
linux
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, etc.) s'exécutent directement via Terminal sans SSH.


Ce qu'est ask-agent

ask-agent est un binaire shell dans /usr/local/bin/ask-agent.

Signature exacte :

ask-agent <agent> "<texte libre — question ou données à analyser>"

Le deuxième argument est toujours du texte (une question ou des données copiées-collées). Ce n'est PAS un wrapper de commandes shell. Ne jamais passer de commandes comme tail, journalctl, etc. comme argument.


Erreurs INTERDITES

# ❌ FAUX — ask-agent ne reçoit pas de commandes shell
terminal: ask-agent monitor tail -n 20 /var/log/messages
terminal: ask-agent monitor journalctl -u litellm -n 20
terminal: ask-agent monitor /var/log/messages

# ✅ CORRECT — deux étapes obligatoires
terminal: journalctl -u litellm -n 20 --no-pager
terminal: ask-agent monitor "voici les logs litellm : <coller le résultat ici> — y a-t-il des erreurs ?"

Pattern OBLIGATOIRE : 2 étapes

Étape 1 — Collecter les données (commande shell normale via Terminal) Étape 2 — Passer le texte à ask-agent (avec les données collées dans la question)

# Exemple complet — analyse logs litellm
terminal: journalctl -u litellm -n 20 --no-pager
# → récupère le résultat, puis :
terminal: ask-agent monitor "voici les 20 dernières lignes de litellm : <résultat étape 1> — identifie les erreurs"

# Exemple complet — services en erreur
terminal: systemctl --state=failed --no-pager
# → récupère le résultat, puis :
terminal: ask-agent monitor "services systemd en erreur sur storage-01 : <résultat étape 1> — résume les problèmes"

# Exemple complet — espace disque
terminal: df -h /srv/data
# → récupère le résultat, puis :
terminal: ask-agent system "est-ce que cette utilisation disque est préoccupante : <résultat étape 1>"

Quand utiliser quel agent

Situation Agent
Analyser logs d'un service systemd monitor
État de santé des services monitor
Résumer une sortie de commande system
Question Linux / formatage / calcul system
Architecture, revue critique, raisonnement complexe brain

Agents disponibles

Agent Modèle 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
brain Claude Sonnet 4.6 API Raisonnement complexe, architecture
funk-ai Qwen3-8B GPU (:1234) Toi-même — rarement utile

Syntaxe complète

ask-agent <agent> "<question ou données>"
ask-agent <agent> "<question>" --max-tokens 2000     # pour de longs logs
ask-agent <agent> "<question>" --system "<contexte>" # avec prompt système

Toujours via Terminal :

terminal: ask-agent monitor "les logs que j'ai récupérés : <données> — analyse"

Différence avec delegate_task

  • ask-agent → appel LiteLLM direct, réponse immédiate, pour analyses rapides
  • delegate_task → spawn d'un agent Hermes complet → pour tâches longues multi-étapes

Pour le monitoring et les analyses système : toujours ask-agent.


Notes techniques

  • ask-agent appelle http://127.0.0.1:4000/v1/chat/completions
  • system et monitor : /no_think activé automatiquement → réponse rapide sans raisonnement interne
  • brain consomme des tokens API Anthropic — réserver aux cas complexes
  • Timeout : 120s