Présentation
AURA est une plateforme d’agents SRE écrite en Rust, testée en production et déployable en quelques minutes. Elle orchestre plusieurs agents spécialisés capables de corréler traces Mezmo, logs, métriques Prometheus et historique de déploiements Kubernetes afin d’identifier la cause racine d’un incident. Dans la démonstration fournie, trois agents détectent une régression N+1 introduite par productcatalogservice 1.13.2, recommandent un rollback vers 1.13.1 et génèrent des vérifications de récupération ainsi qu’un suivi d’ingénierie.
Architecture et intégration des agents
L’infrastructure repose sur un noyau Rust qui gère les garde‑fous, les API, la persistance d’état, le streaming et la résilience des appels. Chaque agent possède son propre modèle LLM, configuré via un fichier TOML versionnable, ce qui permet de changer de fournisseur (OpenAI, Anthropic, Bedrock, Gemini, Ollama, OpenRouter) sans recompilation. Les prompts, les outils autorisés et les politiques d’approbation sont définis dans le même fichier, garantissant la traçabilité des modifications. Les décisions d’orchestration sont exportées sous forme de traces OpenTelemetry, incluant chaque tour de LLM, chaque appel d’outil et chaque exécution multi‑agent, ce qui rend possible une investigation de bout en bout.
curl -fsSL https://raw.githubusercontent.com/mezmo/aura/main/scripts/install.sh | bashLe script télécharge les artefacts publiés, vérifie leurs sommes de contrôle et installe le binaire sur Linux ou macOS. Une fois installé, la commande aura init lance un assistant guidé pour choisir le fournisseur LLM, le modèle initial et génère le fichier de configuration. Le lancement de l’agent se fait simplement avec aura, qui démarre le serveur d’orchestration ou le client CLI selon le mode d’utilisation.
Gestion de la sécurité et de la gouvernance
AURA fonctionne entièrement dans le périmètre de l’infrastructure de l’opérateur, y compris les environnements air‑gapped ou fortement régulés. Les appels sensibles aux outils peuvent être conditionnés à une approbation humaine via webhook ou conversation, avec gestion explicite des refus, des expirations et des échecs de transport en mode « fail‑closed ». Les identifiants sont injectés via variables d’environnement ou montages secrets, et ne sont jamais insérés dans les prompts sauf lorsqu’ils sont référencés dans des champs d’authentification désignés, limitant le risque d’injection de prompt. Toutes les interactions – modèles, outils, orchestrations – sont exportables en traces OpenTelemetry, offrant une visibilité complète pour les audits de conformité.
Déploiement et extensibilité
AURA propose plusieurs modes d’exécution : en tant qu’assistant local depuis le terminal, en tant que service daemon via aura webserver, dans un conteneur Docker (mezmo/aura), ou comme workload Kubernetes grâce à un chart Helm fourni. Le cœur Rust peut également être embarqué comme bibliothèque dans d’autres applications, permettant une intégration native. Les agents peuvent être enrichis par des « Agent Skills » qui chargent des instructions et des fichiers spécifiques uniquement lorsqu’ils sont requis, optimisant l’utilisation des ressources. Enfin, AURA expose une API compatible OpenAI, de sorte que des clients externes comme LibreChat ou OpenWebUI peuvent interagir sans modification.