mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 08:44:43 +02:00
Trois instances llama-server CPU manuelles (hors Ansible) tournaient sur gpu-01
sans servir : déjà orphelines de LiteLLM (alias absents de config.yaml, d'où le
bruit "Invalid model name"). Suppression complète :
gpu-01 (opérationnel, déjà fait) :
- systemctl disable --now + rm des units llama-server-{system,monitor,dev}
- ports firewall 1235/1236/1237 fermés
Repo :
- monitoring : scrape jobs (values.yaml) + alertes LlamaServer{System,Monitor}Down
(alerts-ai.yaml) retirés → plus de "target down"/alertes fantômes ; panneaux de
statut dashboard-infrastructure recyclés (system→llama-embed, monitor supprimé).
- docs admin/ + hermes-skills (souls funk-ai/brain, SKILL agent-delegation) mises à
jour : inventaire modèles, profils Hermès system/monitor sans backend (à repointer
sur qwen3-8b), litellm, ops, monitoring.
Les profils Hermès system/monitor existent toujours mais sans backend dédié.
Dashboards Grafana dashboard-ai (panneaux graphiques CPU) laissés tels quels
(cosmétique, séries vides, aucune alerte).
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
127 lines
4 KiB
Markdown
127 lines
4 KiB
Markdown
---
|
|
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.2.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, 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
|
|
|
|
```bash
|
|
# ❌ 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)
|
|
|
|
```bash
|
|
# 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 |
|
|
|---|---|---|
|
|
| `brain` | Claude Sonnet 4.6 API | Raisonnement complexe, architecture |
|
|
| `funk-ai` | Qwen3-8B GPU (:1234) | Toi-même — rarement utile |
|
|
|
|
> Agents `system` et `monitor` retirés le 2026-06-20 (serveurs CPU :1236/:1237 supprimés).
|
|
> Pour les réactiver, repointer leur alias LiteLLM sur `qwen3-8b`.
|
|
|
|
---
|
|
|
|
## Syntaxe complète
|
|
|
|
```bash
|
|
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
|