mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 05:34:43 +02:00
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>
This commit is contained in:
parent
5e93c1d3d7
commit
2b84a8c357
1 changed files with 89 additions and 62 deletions
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
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
|
||||
version: 1.2.0
|
||||
author: Funk Lab
|
||||
license: MIT
|
||||
platforms: [linux]
|
||||
|
|
@ -14,86 +14,113 @@ metadata:
|
|||
|
||||
## 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.
|
||||
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.
|
||||
|
||||
## Règle de délégation OBLIGATOIRE
|
||||
---
|
||||
|
||||
**Tu DOIS utiliser `ask-agent` via Terminal dans ces situations :**
|
||||
## Ce qu'est ask-agent
|
||||
|
||||
| Situation | Agent à utiliser |
|
||||
`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 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` |
|
||||
| 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` |
|
||||
|
||||
**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 : <données>"
|
||||
terminal: ask-agent brain "raisonnement complexe : <contexte>"
|
||||
```
|
||||
|
||||
**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) |
|
||||
| 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 |
|
||||
|
||||
## Pattern OBLIGATOIRE : collecter → déléguer
|
||||
---
|
||||
|
||||
## Syntaxe complète
|
||||
|
||||
```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 : <coller résultat étape 1> — identifie les causes et priorités"
|
||||
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
|
||||
```
|
||||
|
||||
## Exemples concrets
|
||||
|
||||
```bash
|
||||
# Monitoring services
|
||||
terminal: systemctl --state=failed --no-pager
|
||||
terminal: ask-agent monitor "services systemd en erreur : <résultat> — 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 : <résultat> — 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 : <résultat>"
|
||||
|
||||
# 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é : <résultat>"
|
||||
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 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
|
||||
- **`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 utiliser `ask-agent`**.
|
||||
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` via LiteLLM
|
||||
- Timeout : 120s
|
||||
- `system` et `monitor` tournent sur CPUs isolés — ils ne bloquent pas le GPU
|
||||
- `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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue