Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi.

Architecture

Le système est conçu comme un écosystème multi-agent hiérarchique. Il utilise un Superviseur (Liz) central pour orchestrer les demandes à travers plusieurs Agents IA spécialisés, chacun connecté à un ou plusieurs serveurs Protocole de Contexte de Modèle (MCP).

Composants

Le Superviseur (Liz)

Liz est le point d’entrée du système et l’orchestrateur de l’expérience utilisateur. Plutôt que d’exécuter directement chaque tâche technique, Liz agit comme un Routeur intelligent.

  • Analyse l’invite de l’utilisateur pour déterminer le domaine requis (par exemple, Sécurité, Provisionnement ou Flotte).

  • Consulte les métadonnées de AIAgentConfig pour sélectionner l’Agent spécialisé le plus approprié pour la tâche.

  • Suit la localisation de l’utilisateur dans l’interface Rancher et s’assure que les métadonnées pertinentes du cluster, de l’espace de noms et des ressources sont transmises aux Agents en aval pour fournir une réponse "consciente du contexte".

Agents IA spécialisés (l'« équipe »)

Les agents spécialisés sont les chevaux de bataille du système. Chaque agent est l’orchestrateur de l’intelligence de son domaine spécifique. Il utilise un grand modèle de langage (LLM) comme moteur de raisonnement, tandis que l’agent lui-même fournit la structure, la coordination et l’exécution sécurisée des actions.

  • LLM (Moteur de Raisonnement):

    • Interprète les entrées des utilisateurs exprimées en langage naturel.

    • Effectue le raisonnement : décompose les demandes complexes en étapes plus petites.

    • Décide de ce qui doit se passer ensuite (continuer le raisonnement ou passer à l’action).

    • Synthétise les sorties des outils en réponses claires et lisibles par l’homme.

  • Agent (Orchestrateur):

    • Enveloppe le LLM avec le modèle ReAct (Raisonnement + Action).

    • Décide quand laisser le LLM continuer à raisonner ou quand agir selon ses instructions.

    • Appelle des outils externes (via le serveur MCP) comme indiqué par le LLM.

    • Assure des interactions sécurisées en transmettant le token Rancher de l’utilisateur au serveur MCP pour authentification et autorisation.

Serveur MCP

Le serveur MCP agit comme une passerelle sécurisée et contrôlée entre l’agent ReAct et les API Rancher et Kubernetes. Ses fonctions incluent :

  • Exposition des outils : Il fournit un ensemble d’outils bien définis et sûrs (points de terminaison API) que l’agent ReAct peut appeler. Ces outils abstraient la complexité des interactions directes avec l’API Rancher/Kubernetes.

  • Interaction avec Rancher : Il traduit les appels d’outils de l’agent en requêtes API appropriées au serveur de gestion Rancher, récupérant ou modifiant les ressources selon les besoins.

extension d’UI

L’extension d’UI fournit l’interface de chat orientée utilisateur au sein du tableau de bord Rancher. Elle est conçue pour être une partie intégrante de l’expérience Rancher et est responsable de :

  • Entrée Utilisateur : Elle capture les requêtes des utilisateurs et les envoie à l’agent ReAct.

  • Affichage des Réponses : Elle reçoit les réponses de l’agent ReAct et les présente dans un format de type chat.

Comment ça fonctionne (Le Flux)

  1. Demande Utilisateur : L’utilisateur soumet une requête via l’extension de l’interface utilisateur.

  2. Routage du Superviseur : Liz identifie l’intention et achemine la requête, ainsi que le contexte de l’interface utilisateur, vers l’Agent spécialisé (par exemple, le Fleet agent).

  3. Raisonnement LLM : L’LLM de l’Agent spécialisé interprète la demande, réfléchit au problème et propose un plan d’action.

  4. Agent en Action : Si le plan nécessite des opérations externes, l’agent appelle les outils appropriés du serveur MCP en utilisant le token sécurisé de l’utilisateur.

  5. Formulation de la Réponse : L’LLM prend les résultats des outils et élabore une réponse cohérente et lisible par un humain.

  6. Réponse Finale : Liz livre la réponse synthétisée de l’Agent à l’interface utilisateur.

graph TD sous-graphe "A. Interaction Utilisateur" Utilisateur[Utilisateur / DevOps] UI[extension d'UI] fin sous-graphe "B. Couche de Superviseur" Liz{Liz Supervisor} fin sous-graphe "C. Agents Spécialisés (ReAct)" RancherAgent(Agent Rancher) FleetAgent(Fleet agent Rancher) AgentProv(Agent de Provisionnement Rancher) AgentAppCo(Agent de Collection d'Applications SUSE) AgentObs(Agent d'Observabilité SUSE) AgentSec(Agent de Sécurité SUSE) AgentPersonnalisé(Agent Personnalisé) fin sous-graphe "Couche de Raisonnement LLM (Applicable à tous les Agents)" direction LR LLMLocal[LLM Local] LLMPublic[LLM Public] fin sous-graphe "D. Passerelles d'Infrastructure" MCP1[Rancher MCP] MCP2[MCP de Collection d'Applications] MCP_Obs[MCP d'Observabilité] MCP_Sec[MCP de Sécurité] MCP4[MCP de Tiers] fin sous-graphe "E. Données & APIs" API_Rancher[(API Rancher / K8s API)] API_AppCo[(API de Collection d'Applications)] DB_Métriques[(SUSE Observability / Métriques)] DB_Vuln[(Sécurité / Scans CVE)] API_Externe[(Système Externe)] fin %% Flux Utilisateur -- "1. Requête" --> UI UI -- "2. Contexte + Intention" --> Liz Liz -- "3. Routes" --> RancherAgent Liz --> FleetAgent Liz --> ProvAgent Liz --> AppCoAgent Liz --> ObsAgent Liz --> SecAgent Liz --> CustomAgent %% Exemple de boucle de raisonnement AgentRancher -. "Moteur de raisonnement" .-> LLMLocal AgentRancher -. "Moteur de raisonnement" .-> LLMPublic %% Connexions Raisonnement + Action AgentRancher -- "4" --> MCP1 FleetAgent -- "4" --> MCP1 ProvAgent -- "4" --> MCP1 AppCoAgent -- "4" --> MCP2 ObsAgent -- "4" --> MCP_Obs SecAgent -- "4" --> MCP_Sec CustomAgent -- "4" --> MCP4 %% Connexions API MCP1 -- "5" --> APIRancher MCP2 -- "5" --> APIAppCo MCP_Obs -- "5" --> DBMétriques MCP_Sec -- "5" --> DBVuln MCP4 -- "5" --> APIExterne %% Style style Liz fill:#f9f,stroke:#333,stroke-width:2px style LLMLocal fill:#fff3cd,stroke:#ffc107,stroke-dasharray: 5 5 style LLMPublic fill:#fff3cd,stroke:#ffc107,stroke-dasharray: 5 5 style Note fill:#fff,stroke:none style RancherAgent fill:#d4edda,stroke:#28a745 style FleetAgent fill:#d4edda,stroke:#28a745 style ProvAgent fill:#d4edda,stroke:#28a745 style AppCoAgent fill:#d4edda,stroke:#28a745 style ObsAgent fill:#d4edda,stroke:#28a745 style SecAgent fill:#d4edda,stroke:#28a745 style MCP_Obs fill:#cce5ff,stroke:#007bff style MCP_Sec fill:#cce5ff,stroke:#007bff