feat: rôle hermes_user + ask-agent + skills délégation

- Nouveau rôle hermes_user : création user/group UID 1002 sur storage-01
  et gpu-01, sudoers limités par host, clé SSH ed25519 générée sur
  storage-01 et distribuée vers gpu-01, ssh_config + known_hosts
- Kubeconfig copié depuis ansible vers hermes sur storage-01
- ask-agent : script bash LiteLLM pour déléguer aux agents
  system/monitor/brain/funk-ai
- hermes-skills/funk/agent-delegation : skill Hermes pour les
  inter-profile calls avec pattern Terminal: ask-agent
- Playbooks storage-01 et gpu-01 : ajout du rôle hermes_user

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
alkatrazz 2026-05-13 16:03:43 +02:00
parent 0c89d262d1
commit 6be2a89480
7 changed files with 325 additions and 0 deletions

View file

@ -0,0 +1,84 @@
---
name: agent-delegation
description: "Délègue des sous-tâches aux agents spécialisés du cluster Funk. Utilise system/monitor pour les tâches rapides et légères, brain pour l'analyse complexe."
version: 1.0.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 important** : Tu tournes EN LOCAL sur `storage-01`. Ne jamais SSH vers `storage-01` depuis toi-même — lance les commandes directement via le terminal. `systemctl`, `journalctl`, `cat /proc/mdstat`, etc. s'exécutent localement sans SSH.
Le cluster Funk dispose de 4 agents avec des capacités différentes. Utilise la commande shell `ask-agent` (disponible dans `/usr/local/bin/`) pour déléguer des sous-tâches aux agents spécialisés.
## Agents disponibles
| Agent | Modèle | Vitesse | Coût | Usage idéal |
|---|---|---|---|---|
| `system` | Qwen3-1.7B CPU (port 1236) | ~21 tok/s | Gratuit | Calculs rapides, parsing, formatage, résumés courts |
| `monitor` | Qwen3-1.7B CPU (port 1237) | ~21 tok/s | Gratuit | Analyse métriques, logs, santé système, alertes |
| `brain` | Claude Sonnet 4.6 (API) | Variable | Payant | Raisonnement complexe, architecture, revue de code |
| `funk-ai` | Qwen3-8B GPU (port 1234) | ~35 tok/s | Gratuit | Tâches générales (toi-même) |
## Règle fondamentale
**`ask-agent` est une commande shell.** Pour déléguer, utilise l'outil Terminal avec exactement cette syntaxe :
```
Terminal: ask-agent system "ta question"
Terminal: ask-agent monitor "ta question"
Terminal: ask-agent brain "ta question"
```
Ne jamais SSH vers storage-01 pour des commandes locales. Utilise `Terminal` directement.
## Pattern type : collecter + déléguer
```bash
# 1. Collecter les données localement (PAS via SSH)
Terminal: systemctl --state=failed --no-pager
# 2. Passer le résultat à un agent pour analyse
Terminal: ask-agent monitor "voici les services en erreur systemd : <résultat> — résume les problèmes"
```
## Utilisation
```bash
# Services en erreur sur storage-01 (LOCAL, pas SSH)
Terminal: systemctl --state=failed --no-pager
Terminal: ask-agent monitor "analyse ces services en erreur : <résultat>"
# Déléguer une analyse de logs
Terminal: journalctl -u hermes-agent -n 20 --no-pager
Terminal: ask-agent system "résume ces logs en 3 points : <résultat>"
# Question simple rapide
Terminal: ask-agent system "quelle commande pour vider le cache DNS sous AlmaLinux ?"
# Analyse complexe
Terminal: ask-agent brain "explique pourquoi ce log Kubernetes indique un crash : <log>"
# Avec prompt système
Terminal: ask-agent system "état du RAID normal ?" --system "Tu es expert Linux AlmaLinux, réponds en 1 phrase."
```
## Quand déléguer à quel agent
| Situation | Agent |
|---|---|
| Question Linux simple, formatage, résumé court | `system` |
| Analyse logs, métriques, santé système | `monitor` |
| Raisonnement complexe, revue critique, architecture | `brain` |
## Notes techniques
- `ask-agent` appelle LiteLLM sur `http://127.0.0.1:4000/v1` avec la clé `lm-studio`
- Timeout : 120s
- Les agents `system` et `monitor` tournent sur des CPUs isolés (14 threads chacun) — ils ne bloquent pas le GPU
- `brain` consomme des tokens API Anthropic — réserver aux cas qui le justifient