🌳 Arbre de Décision : Quel Type d'Agent ?
Système multi-agent
Quel Type d'Agent ?
1. Diagramme de Décision Rapide
Requête Utilisateur
│
▼
┌──────────────────────┐
│ Action technique │
│ simple et précise? │
└──────────┬───────────┘
│
┌────────┴────────┐
│ │
OUI NON
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ AGENT-OUTIL │ │ Décision ou │
│ │ │ analyse requise?│
│ ✓ Wazuh │ └────────┬────────┘
│ ✓ TheHive │ │
│ ✓ Velociraptor │ ┌────────┴────────┐
│ │ │ │
│ Métriques: │ OUI NON
│ • FNR < 3% │ │ │
│ • Latence <200ms│ ▼ ▼
│ • Coût: $ │ ┌──────────┐ ┌──────────┐
└─────────────────┘ │ AGENT- │ │ Hybride: │
│ RAISON. │ │ Agent- │
│ │ │ Raison. │
│ ✓ Pilot │ │ délègue │
│ ✓ Analyst│ │ aux │
│ │ │ Outils │
│ Métriques│ └──────────┘
│ • FNR<8% │
│ • Judge │
│ • Coût:$$│
└──────────┘
2. Guide de Décision Express
Question 1 : La requête est-elle une action API simple ?
| Exemples OUI → Agent-Outil | Exemples NON → Agent-Raisonnement |
|---|---|
| “Liste les agents actifs” | “Investigue cette alerte” |
| “Récupère l’alerte 001” | “Analyse ce comportement suspect” |
| “Crée un case TheHive” | “Détermine si c’est un vrai positif” |
| “Bloque l’IP 1.2.3.4” | “Quelle est la priorité de cette menace?” |
| “Affiche les logs de X” | “Dois-je escalader au SOC?” |
Question 2 : Latence critique ?
| < 200ms requis | < 2s acceptable |
|---|---|
| → Agent-Outil | → Agent-Raisonnement OK |
| Ex: Blocage IP en temps réel | Ex: Investigation approfondie |
Question 3 : Déterminisme requis (compliance/audit) ?
| Oui (>95%) | Non (80-90% OK) |
|---|---|
| → Agent-Outil | → Agent-Raisonnement |
| Ex: Appel API documenté | Ex: Décision contextuelle |
3. Matrice de Décision
| Critère | Agent-Outil | Agent-Raisonnement | Hybride |
|---|---|---|---|
| Requête simple | ✅ Optimal | ❌ Surcoût | ⚠️ OK |
| Requête complexe | ❌ Limité | ✅ Optimal | ✅ Idéal |
| Latence <200ms | ✅ Possible | ❌ Difficile | ⚠️ Dépend |
| FNR <3% | ✅ Atteignable | ❌ Difficile | ✅ Outils: Oui |
| Budget serré | ✅ $0.001/req | ❌ $0.01/req | ✅ Optimisé |
| Scalabilité | ✅ Facile | ⚠️ Moyen | ✅ Excellente |
| Maintenance | ✅ Simple | ⚠️ Complexe | ✅ Modulaire |
4. Feux Rouges / Feux Verts
🟢 Feu Vert : Agent-Outil
Utilisez un agent-outil si 3+ conditions sont vraies:
- ✅ Action = appel API unique
- ✅ Pas d’ambiguïté dans la requête
- ✅ Latence importante (<200ms)
- ✅ Audit/compliance stricte
- ✅ Budget contraint
- ✅ Déterminisme requis
Exemple typique:
Requête: "Liste les agents Wazuh actifs"
→ WazuhAgent.get_agents(status="active")
→ Latence: 150ms, FNR: 2%, Coût: $0.001
Utilisez l’hybride si 2+ conditions sont vraies:
- ⚠️ Requête multi-étapes
- ⚠️ Décision requise en cours de route
- ⚠️ Besoin de synthèse finale
- ⚠️ Actions dépendent du contexte
- ⚠️ Mix analyse + exécution
Exemple typique:
Requête: "Investigue l'alerte WAZUH-001"
→ PilotAgent analyse
→ Délègue à WazuhAgent.get_alert()
→ Analyse les résultats
→ Délègue à TheHiveAgent.create_case()
→ Synthèse finale
→ Latence: 1.5s, Judge: 85%, Coût: $0.008
🔴 Feu Rouge : Ne PAS utiliser Agent-Outil si…
- ❌ Requête ambiguë (“Regarde ça”)
- ❌ Décision subjective requise
- ❌ Analyse de risque nécessaire
- ❌ Multi-étapes avec branchements
- ❌ Contexte changeant
Exemple d’erreur:
❌ MAUVAIS:
Requête: "Cette alerte est-elle grave?"
→ WazuhAgent.??? (Quel endpoint appeler? Pas de "is_severe" API)
✅ BON:
Requête: "Cette alerte est-elle grave?"
→ PilotAgent analyse l'alerte, le contexte, l'historique
→ Répond avec raisonnement justifié
5. Heuristiques Rapides
Verbes = Indices
| Verbes Agent-Outil | Verbes Agent-Raisonnement |
|---|---|
| Liste | Analyse |
| Récupère | Investigue |
| Affiche | Détermine |
| Crée | Évalue |
| Bloque | Décide |
| Supprime | Recommande |
| Mets à jour | Synthétise |
Mots-Clés = Indices
| Mots-Clés Agent-Outil | Mots-Clés Agent-Raisonnement |
|---|---|
| ID précis (001) | “suspect” |
| Nom d’API (get_agents) | “grave” |
| Statut (actif/inactif) | “légitime” |
| Action précise (bloque) | “priorité” |
| “risque” | |
| “pourquoi” |
6. Cas d’Usage Classiques
1. Dashboard / Monitoring → Agents-Outils
"Affiche les 10 dernières alertes"
"Combien d'agents sont actifs?"
"Liste les cases TheHive ouverts"
→ Latence critique, volume élevé, queries simples
→ 100% Agents-Outils
2. Investigation SOC → Hybride
"Investigue l'IP 192.168.1.100"
"Cette campagne de phishing est-elle en cours?"
"Recommande des actions pour cette IOC"
→ Analyse + Actions
→ Agent-Raisonnement délègue aux Agents-Outils
3. Réponse Automatique → Agents-Outils
"Bloque automatiquement les IPs avec score >8"
"Crée un case pour toute alerte critique"
"Quarantine fichiers suspects"
→ Rules-based, déterministe, rapide
→ 100% Agents-Outils (orchestrés par règles)
4. Threat Hunting → Agent-Raisonnement
"Cherche des patterns anormaux dans les logs"
"Y a-t-il des IOCs liés à APT28?"
"Corrèle ces 3 alertes"
→ Analyse complexe, créativité requise
→ 100% Agent-Raisonnement (ThreatHunterAgent)
7. Migration Stratégique
Aujourd’hui (PilotAgent fait tout)
User → PilotAgent → [Raisonnement + Appels API]
↓
Résultat
Problèmes:
- Latence élevée même pour requêtes simples
- FNR moyen (5-8%)
- Coût élevé ($0.01/requête)
- Difficile à déboguer
Demain (Architecture Hybride)
User → HybridOrchestrator
│
├─→ [Requête simple?] → WazuhAgent → Résultat (fast)
│ 150ms, $0.001
│
└─→ [Requête complexe?] → PilotAgent
│
├─→ Analyse
├─→ Délègue WazuhAgent
├─→ Délègue TheHiveAgent
└─→ Synthèse
1.5s, $0.008
Bénéfices:
- Latence optimisée selon besoin
- FNR bas où critique (outils)
- Coût optimisé (75% de requêtes = simples)
- Modulaire et maintenable
8. Checklist de Décision
Avant de créer un nouvel agent, répondez:
-
Mon agent fait-il UNE chose bien définie?
- Oui → Agent-Outil
- Non → Agent-Raisonnement
-
Les requêtes sont-elles structurées et prévisibles?
- Oui → Agent-Outil
- Non → Agent-Raisonnement
-
L’évaluation est-elle binaire (bon/mauvais appel API)?
- Oui → Agent-Outil
- Non → Agent-Raisonnement + LLM Judge
-
Le FNR doit-il être <3%?
- Oui → Agent-Outil
- Non → Peut être Agent-Raisonnement
-
La latence doit-elle être <200ms?
- Oui → Agent-Outil
- Non → Peut être Agent-Raisonnement
Score:
- 4-5 Oui → Agent-Outil
- 2-3 Oui → Hybride
- 0-1 Oui → Agent-Raisonnement
9. TL;DR
| Question | Réponse |
|---|---|
| Quand Agent-Outil? | Action API simple + Latence critique + FNR strict |
| Quand Agent-Raisonnement? | Analyse + Décision + Multi-étapes |
| Quand Hybride? | Presque toujours en production! |
| Par quoi commencer? | Agents-Outils d’abord (fondations) |
| Évaluation? | Outils: FNR<3% / Raisonnement: LLM Judge |
| ROI? | Latence -70%, Coût -60%, Maintenabilité +80% |
Prêt à implémenter ?
by Patrice Le Guyader
