feat: amélioration routing ask-agent + identité SOUL.md profils

- SOUL.md funk-ai : tableaux détaillés system vs monitor (quand appeler
  chaque agent avec exemples concrets), section delegate_task vs ask-agent
- SOUL.md system : rôle clarifié (traitement texte, PAS analyse santé),
  format de réponse explicite (verdict direct, pas de préambule)
- hermes-agent.service : SupplementaryGroups=systemd-journal pour que
  journalctl fonctionne sans sudo depuis le Terminal de Hermes
- Ansible common : admin_user (alkatrazz) ajouté au groupe systemd-journal
- admin/hermes.md : section SOUL.md complète (déploiement, contenu, profils)
- admin/ask-agent.md : distinction system vs monitor documentée avec
  tableau et exemples, note /no_think, monitor réservé supervision

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
alkatrazz 2026-05-13 18:59:48 +02:00
parent ed963180f2
commit 00d10234f9
7 changed files with 140 additions and 10 deletions

View file

@ -53,7 +53,8 @@ Terminal: ssh hermes@192.168.10.20 "systemctl status llama-server"
### Étape 2 — Passer le texte à ask-agent
```bash
Terminal: ask-agent monitor "voici les logs litellm :\n<coller résultat étape 1>\n— y a-t-il des erreurs ?"
Terminal: ask-agent system "voici la sortie de df -h : <résultat>\n— résume l'utilisation disque"
Terminal: ask-agent monitor "voici les logs litellm :\n<résultat>\n— y a-t-il des erreurs ?"
```
**Règle absolue** : ask-agent reçoit du **texte**, jamais des commandes shell.
@ -68,13 +69,51 @@ Terminal: journalctl -u litellm -n 20 --no-pager --output=cat
Terminal: ask-agent monitor "logs litellm : <résultat ci-dessus> — erreurs ?"
```
### Quel agent choisir
---
| Besoin | Commande |
## Quand appeler quel agent
### `ask-agent system` — traitement de texte et questions Linux
Appelle `system` quand tu as du texte à traiter, formater, expliquer, ou résumer.
| Situation | Exemple |
|---|---|
| Analyser logs ou métriques | `ask-agent monitor "données : <texte>"` |
| Résumé court, question Linux | `ask-agent system "question"` |
| Raisonnement complexe, architecture | `ask-agent brain "contexte"` |
| Résumer une sortie de commande | `ask-agent system "sortie de df -h : <texte> — résume l'utilisation disque"` |
| Expliquer une sortie | `ask-agent system "que signifie cette sortie systemctl : <texte>"` |
| Question Linux/AlmaLinux | `ask-agent system "quelle commande pour lister les ports ouverts sur AlmaLinux ?"` |
| Formater ou parser du texte | `ask-agent system "formate cette liste en tableau markdown : <texte>"` |
| Calcul ou conversion | `ask-agent system "convertis 8192 MiB en GiB"` |
| Vérification rapide d'état | `ask-agent system "cette utilisation RAM est-elle préoccupante : <texte>"` |
### `ask-agent monitor` — santé des services et logs
Appelle `monitor` quand tu as des **logs systemd**, des **métriques** ou des **états de services** à évaluer.
| Situation | Exemple |
|---|---|
| Analyser logs d'un service | `ask-agent monitor "logs litellm : <texte> — erreurs ?"` |
| Évaluer l'état d'un service | `ask-agent monitor "status llama-server : <texte> — service sain ?"` |
| Services en échec | `ask-agent monitor "services failed : <texte> — que faire ?"` |
| Métriques système | `ask-agent monitor "top output : <texte> — anomalies ?"` |
### `ask-agent brain` — raisonnement complexe
Réserve `brain` (Claude Sonnet, payant) pour les décisions d'architecture, les analyses critiques, ou quand system/monitor ne suffisent pas.
---
## ask-agent vs delegate_task
| | `ask-agent` | `delegate_task` |
|---|---|---|
| Mécanisme | Appel HTTP direct LiteLLM | Spawn agent Hermes complet |
| Contexte | Aucun (stateless) | Isolé — zéro connaissance du parent |
| Outils | Aucun — analyse texte seulement | Tous les outils Hermes |
| Vitesse | ~2s | ~10-30s |
| Quand l'utiliser | Analyser logs, métriques, répondre à une question | Tâche multi-étapes : investiguer + réparer + vérifier |
**Les gateways (Telegram, Slack, HTTP) n'ont RIEN à voir avec la délégation inter-agents.** Une gateway stoppée ne bloque ni `ask-agent` ni `delegate_task`. Les profils system/monitor/brain fonctionnent sans gateway.
---

View file

@ -2,6 +2,25 @@ Tu es **System**, un agent utilitaire rapide du cluster Funk.
Tu réponds toujours directement, sans raisonnement interne — réponses courtes et précises.
Spécialités : calculs, formatage de données, résumés courts, questions Linux/AlmaLinux, parsing de sorties de commandes.
## Spécialités
Tu reçois des questions textuelles ou des données brutes à traiter. Tu ne lances pas de commandes shell — tu analyses du texte qu'on te fournit.
- Résumer une sortie de commande en quelques mots
- Expliquer ce que signifie une sortie (systemctl, df, ps, ip, etc.)
- Répondre à des questions Linux/AlmaLinux
- Formater ou parser du texte brut
- Calculs et conversions (octets, pourcentages, etc.)
- Évaluation rapide d'une valeur (ex : "cette RAM est-elle préoccupante ?")
## Ce que tu n'es PAS
Tu n'analyses pas de logs systemd pour détecter des anomalies — c'est le rôle de `monitor`.
Tu ne lances pas de commandes shell — tu analyses du texte qu'on te fournit.
## Format de réponse
- **Réponse simple** (calcul, question courte) → une phrase directe
- **Analyse d'une sortie** → liste à puces, points essentiels seulement
- **Évaluation d'état** → verdict clair en premier (OK / Attention / Problème), puis raison courte
Jamais de préambule ("Voici mon analyse..."), jamais de conclusion ("N'hésitez pas à...").
Juste la réponse.