Se rendre au contenu
Retour au Wiki

Système Multi-Agents

Zileo Chat utilise une architecture multi-agents permettant de décomposer des tâches complexes en sous-tâches spécialisées. Chaque agent est une entité autonome dotée d'un modèle de langage, d'instructions spécifiques et d'outils. Cette architecture permet la délégation et l'exécution parallèle de tâches.

Qu'est-ce qu'un agent ?

Un agent est une entité logique composée de trois éléments : un modèle de langage (LLM), un ensemble d'instructions (system prompt), et des outils d'exécution (tools et serveurs MCP). L'agent traite les requêtes utilisateur en utilisant ces composants de manière coordonnée.

LLM
Modèle IA
+
Instructions
System Prompt
+
Outils
Tools & MCP
=
Agent
Composants d'un agent

LLM (Large Language Model) : Modèle de langage responsable de l'interprétation des requêtes et de la génération des réponses. Zileo Chat supporte les fournisseurs Mistral (API cloud) et Ollama (exécution locale). Chaque modèle possède des caractéristiques propres : fenêtre de contexte, limite de tokens en sortie, et température par défaut.

System Prompt : Instructions textuelles définissant le comportement de l'agent. Ce paramètre détermine le rôle, le ton, les contraintes et les compétences de l'agent. Le system prompt est transmis au LLM en début de chaque conversation et influence toutes les réponses générées.

Outils : Fonctions exécutables par l'agent pour interagir avec le système. Les outils intégrés incluent MemoryTool (gestion de mémoire persistante), TodoTool (gestion de tâches), CalculatorTool (calculs mathématiques), et UserQuestionTool (interaction utilisateur). Les serveurs MCP permettent d'étendre les capacités via des services externes.

Types d'agents

Le système distingue deux cycles de vie pour les agents. Le type de cycle de vie (lifecycle) est défini à la création et ne peut pas être modifié par la suite.

Permanent
Agent Permanent
Agent persisté en base de données. Accessible depuis l'interface de sélection d'agents et réutilisable dans plusieurs conversations.
Stockage persistant en base de données
Configuration modifiable après création
Cible pour DelegateTaskTool
Temporaire
Agent Temporaire
Agent créé dynamiquement via SpawnAgentTool. Existe uniquement pendant l'exécution de la tâche assignée, puis est automatiquement supprimé.
Création programmatique (SpawnAgentTool)
Suppression automatique après exécution
Configuration spécifique à la tâche

Créer un agent

La création d'un agent s'effectue via Paramètres > Agents. Le formulaire comprend plusieurs sections de configuration. Tous les champs marqués comme obligatoires doivent être renseignés pour créer l'agent.

Créer un Agent
Nom de l'agent (1-64 caractères)
Mon Assistant Code
Fournisseur
Mistral
Modèle
mistral-large-latest
Itérations max outils (1-200)
50
Cycle de vie
Permanent
Outils intégrés
MemoryTool TodoTool UserQuestionTool CalculatorTool
Serveurs MCP
serena context7
System Prompt (1-10 000 caractères)
Tu es un assistant spécialisé dans l'analyse de code. Tu dois toujours expliquer ton raisonnement et proposer des améliorations...
Paramètres de configuration

Nom : Identifiant de l'agent. Longueur : 1-64 caractères. Obligatoire.

Cycle de vie : Type de persistance (permanent ou temporary). Défini à la création, non modifiable ensuite.

Fournisseur : API du modèle de langage. Options disponibles : Mistral (API cloud) ou Ollama (exécution locale).

Modèle : Modèle spécifique du fournisseur. La liste des modèles dépend du fournisseur sélectionné. Chaque modèle possède une température par défaut et une limite de tokens en sortie.

Itérations max outils : Limite du nombre d'appels d'outils consécutifs par exécution. Plage : 1-200. Valeur par défaut : 50.

Outils intégrés : Sélection des outils disponibles pour l'agent. Options : MemoryTool, TodoTool, UserQuestionTool, CalculatorTool. Sélection multiple autorisée.

Serveurs MCP : Sélection des serveurs MCP configurés. La liste est chargée dynamiquement depuis la configuration des serveurs MCP.

System Prompt : Instructions de comportement de l'agent. Longueur : 1-10 000 caractères. Obligatoire. Ce texte est transmis au LLM au début de chaque conversation.

Paramètres dérivés du modèle

Les paramètres suivants sont automatiquement configurés selon le modèle sélectionné :

Température : Valeur de 0.0 à 2.0 contrôlant l'aléatoire des réponses. Valeur faible = réponses plus déterministes. Valeur élevée = réponses plus variées.

Max Tokens : Limite maximale de tokens en sortie définie par les capacités du modèle.

Enable Thinking : Active le mode de raisonnement pour les modèles compatibles (indicateur "reasoning" du modèle). Valeur par défaut : activé.

Agent principal et sous-agents

L'agent principal est l'agent sélectionné pour une conversation. Il dispose d'outils d'orchestration permettant de déléguer des tâches à des sous-agents. Cette architecture hiérarchique permet la décomposition de tâches complexes en sous-tâches spécialisées.

Principal
Agent
Database
Agent
API
Agent
Analyse
Agent
UI
Agent
Sécurité
Outils d'orchestration

Les outils suivants sont disponibles uniquement pour l'agent principal (premier niveau de la hiérarchie) :

SpawnAgentTool : Crée un agent temporaire avec une configuration spécifiée (modèle, system prompt, outils). L'agent temporaire exécute la tâche assignée puis est automatiquement supprimé. Retourne un rapport structuré au format Markdown.

DelegateTaskTool : Transmet une tâche à un agent permanent existant identifié par son nom. L'agent cible exécute la tâche avec sa propre configuration et retourne un rapport. Utile pour réutiliser des agents spécialisés préalablement configurés.

ParallelTasksTool : Exécute simultanément plusieurs tâches sur différents agents. Chaque tâche peut cibler un agent permanent (par nom) ou spécifier la configuration d'un agent temporaire. Les résultats sont agrégés dans un rapport consolidé.

Communication entre agents

La communication entre l'agent principal et les sous-agents s'effectue via des rapports Markdown. Ce format structure les informations de manière lisible et permet à l'agent principal d'exploiter les résultats.

1
Délégation de la tâche
L'agent principal transmet la description de la tâche et le contexte nécessaire au sous-agent
2
Exécution par le sous-agent
Le sous-agent traite la requête en utilisant son modèle et ses outils configurés
3
Retour du rapport
Le sous-agent génère un rapport Markdown contenant le statut, les résultats, les outils utilisés et les recommandations
# Agent Report: db_agent
**Task:** Analyser les performances des requêtes
**Status:** Success
**Duration:** 2.3s

## Results
- 5 requêtes lentes identifiées
- Index manquant sur table `users`

## Tools Used
- `MemoryTool`: 2 calls (stockage résultats)

## Recommendations
- [ ] Créer index sur `email`
- [ ] Optimiser requête JOIN
Structure du rapport

Chaque rapport de sous-agent contient les sections suivantes :

En-tête : Identifiant de l'agent, description de la tâche, statut (Success/Failure), durée d'exécution.

Results : Synthèse des résultats obtenus, données extraites ou actions effectuées.

Tools Used : Liste des outils invoqués avec le nombre d'appels et leur usage.

Recommendations : Suggestions d'actions complémentaires basées sur l'analyse effectuée.

!
Limites du système

Le système multi-agents applique des contraintes pour garantir la stabilité et la prévisibilité des exécutions. Ces limites sont configurées par défaut et s'appliquent à l'ensemble des workflows.

3
Sous-agents simultanés
Maximum par workflow actif
1
Niveau de hiérarchie
Agent principal + sous-agents uniquement
5 min
Timeout d'inactivité
Délai avant annulation automatique
1-200
Itérations outils
Configurable par agent (défaut : 50)
Restriction de récursivité

Les sous-agents n'ont pas accès aux outils d'orchestration (SpawnAgentTool, DelegateTaskTool, ParallelTasksTool). Cette restriction empêche la création de sous-agents par des sous-agents.

  • Prévention des boucles infinies et de la récursion non bornée
  • Contrôle centralisé des ressources par l'agent principal
  • Traçabilité simplifiée des exécutions
  • Consommation de ressources prévisible
Mécanismes de résilience

Circuit Breaker : Après 3 échecs consécutifs sur une même opération, le système interrompt les tentatives pendant 60 secondes avant de reprendre.

Retry automatique : Les erreurs transitoires (réseau, timeout API) déclenchent jusqu'à 3 tentatives automatiques avec backoff exponentiel.

Annulation : L'utilisateur peut interrompre un workflow à tout moment. Les sous-agents en cours reçoivent un signal d'arrêt et terminent proprement.