<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title><![CDATA[Graham Hudgins - Elasticsearch Labs]]></title>
    <description><![CDATA[Articles and tutorials from the Search team at Elastic]]></description>
    <copyright><![CDATA[© 2026. Elasticsearch B.V. All Rights Reserved]]></copyright>
    <image>
      <title><![CDATA[Graham Hudgins - Elasticsearch Labs]]></title>
      <url>https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt1121c0bf0e8a6e65/6a88da6340a1841030ef456f/search-labs-thumbnail.png</url>
      <link>https://www.elastic.co/fr/search-labs/author/graham-hudgins</link>
    </image>
    <link>https://www.elastic.co/fr/search-labs/author/graham-hudgins</link>
    <atom:link href="https://www.elastic.co/fr/search-labs/rss/author/graham-hudgins.xml" rel="self" type="application/rss+xml"/>
    <language><![CDATA[fr]]></language>
    <lastBuildDate>Sun, 13 Sep 2026 08:57:05 GMT</lastBuildDate>
  <item>
    <title><![CDATA[Elastic Security, Observability et Search proposent désormais une interface utilisateur interactive dans vos outils d’IA]]></title>
    <description><![CDATA[Elastic est le premier fournisseur de sécurité à proposer une interface utilisateur interactive dans les conversations d’IA, basée sur le standard MCP App co-développé par Anthropic et OpenAI. Cette solution est lancée aux côtés de deux autres applications MCP d’Elastic dédiées à Observability et Search]]></description>
    <content:encoded><![CDATA[<p>La qualité des agents d’IA dépend directement des interfaces qu’ils restituent Un résultat limité au texte appauvrit tout ce qui est naturellement visuel ou interactif : un tableau de bord, une liste d’alertes, un graphe d’investigation, une trace distribuée. La conversation devient un espace où vous posez des questions et où l’agent répond. Mais dès que les tâches se complexifient, vous basculez vers un autre onglet, un autre produit, un autre périmètre d’authentification</p><p><a href="https://modelcontextprotocol.io/extensions/apps/overview">Les applications MCP</a> modifient la forme de cette réponse. Un outil peut désormais renvoyer une interface utilisateur accompagnée de son résumé textuel, et de l’hôte (Claude Desktop, Claude.ai, VS Code Copilot, Cursor) l’affiche directement dans la conversation. Le modèle conserve le texte compact pour l’analyse. L'utilisateur dispose d'une interface interactive et cliquable juste à côté du chat.</p><p>Trois caractéristiques distinguent cette approche d’une simple intégration de type « webhook qui renvoie une URL » :</p><ul><li><p><strong>Préservation du contexte.</strong> L'interface utilisateur est intégrée à la conversation. Pas de changement d'onglets, pas de transferts.</p></li><li><p><strong>Flux de données bidirectionnel.</strong> L'interface utilisateur peut appeler des outils sur le serveur MCP pour obtenir des données actualisées, et l'hôte peut renvoyer de nouveaux résultats de l'agent dans l'interface utilisateur. Aucune couche API séparée ni infrastructure d'authentification.</p></li><li><p><strong>Limite de confiance isolée.</strong> Les applications MCP fonctionnent dans un iframe contrôlé par l'hôte. Ils ne peuvent pas accéder à la page parent, lire les cookies, ni échapper à leur conteneur.</p></li></ul><p>Les opérations de sécurité reposent sur le triage, les graphes d’investigation et Attack Discovery, où un agent d’IA corrèle des centaines d’alertes pour les regrouper en quelques chaînes d’attaque. Observability repose sur des traces distribuées et des analyses détaillées de séries temporelles. Créer dans Kibana, c’est travailler avec une grille de tableaux de bord. Réduisez tout cela à du texte, et vous perdez ce qui en fait la valeur. Nous avons créé des applications MCP pour les trois domaines et les publions en open source ensemble. Résultat : une même conversation peut passer d’une file de triage à un graphe de dépendances, puis à un tableau de bord en temps réel, sans jamais quitter le chat.</p><p>Chacune des trois applications de référence repose sur un serveur MCP unique qui fournit de nombreuses vues interactives, et non un ensemble de produits distincts. À elle seule, l’application de sécurité expose six tableaux de bord reposant sur le même environnement serveur, le même modèle de visibilité des outils et le même pont hôte. Le modèle est minimal ; c’est la surface d’interaction qui crée la valeur.</p><h2>Application Elastic Security MCP</h2><h3>Pourquoi c’est essentiel pour le SOC</h3><p>Lorsqu’un agent dit à un analyste SOC : « <em>Il y a 47 alertes sur host-314, voici un résumé</em> », cela n’a rien fait. Il indique simplement où le travail commence. Le travail réel réside dans la liste des alertes, l'arborescence des processus, le graphe d'investigation et le dossier de l'affaire. Vous ne pouvez pas le faire à partir d'un paragraphe de texte.</p><p>L’application MCP de sécurité restitue directement le workflow lui-même L'analyste invite l'agent, et l'agent renvoie un tableau de bord interactif dans le chat où l'analyste peut approfondir les alertes, effectuer des exécutions de recherche de menaces, corréler les chaînes d'attaque et ouvrir des dossiers, le tout sans perdre le fil de la conversation. Et comme les résultats, les requêtes et les cas sont tous renvoyés dans Elasticsearch, la même enquête est en cours sur Kibana, où l'analyste pourra répondre une fois la conversation terminée.</p><h3>Six tableaux de bord interactifs</h3><p>L'<a href="https://github.com/elastic/example-mcp-app-security">application MCP d'Elastic Security</a> contient six éléments interactifs, un par workflow SOC majeur. Chacun est une interface utilisateur React qui est rendue en ligne lorsque l'agent appelle l'outil correspondant :</p><p>Outil</p><p>Ce qu'il fait</p><p>Interface utilisateur interactive</p><p>Tri des alertes</p><p>Récupérer, filtrer et classer les alertes de sécurité</p><p>Groupement par gravité, cartes de verdict IA, arborescence de processus, événements réseau</p><p>Attack Discovery</p><p>Analyse de chaîne d'attaque corrélée par IA avec génération à la demande</p><p>Cartes narratives des attaques avec un score de confiance, risque d'entité, Mapping MITRE</p><p>Gestion des incidents</p><p>Créer, rechercher et gérer des cas d'enquête</p><p>Liste des cas avec alertes, observables, onglets de commentaires et actions d'IA</p><p>Règles de détection</p><p>Parcourez, ajustez et gérez les règles de détection</p><p>Navigateur de règles avec recherche KQL, validation des requêtes et analyse des règles bruyantes</p><p>Chasse aux menaces</p><p>Espace de travail ES|QL avec investigation des entités</p><p>Éditeur de requêtes, entités cliquables et graphe d’investigation</p><p>Exemple de données</p><p>Générer des événements de sécurité ECS pour des scénarios d’attaque courants</p><p>Sélecteur de scénarios avec quatre chaînes d’attaque prêtes à l’emploi</p><p>Chaque outil renvoie un résumé textuel compact sur lequel le modèle peut raisonner, parallèlement à l'interface utilisateur interactive sur laquelle l'analyste agit. L'interface utilisateur peut également récupérer de nouvelles données en arrière-plan via le pont hôte MCP. Le modèle complet de l'outil et l'API de la passerelle se trouvent dans <a href="https://github.com/elastic/example-mcp-app-security/blob/main/docs/architecture.md">la documentation sur l'architecture du repo</a>.</p><p>L’application inclut également les <a href="https://github.com/elastic/example-mcp-app-security/tree/main/skills">compétences Claude Desktop</a>, des fichiers <code>SKILL.md</code> qui apprennent à l’agent quand et comment utiliser chaque outil. Téléchargez des archives ZIP de compétences précompilées depuis la <a href="https://github.com/elastic/example-mcp-app-security/releases/latest">dernière version</a>.</p><h3>De l’alerte au cas</h3><p>Quatre compétences couvrent la boucle du noyau SOC. Chacun récupère une invite, appelle un outil et renvoie un tableau de bord interactif avec un résumé textuel que le modèle analyse. La journée d'un analyste commence généralement par une file d'alerte.</p><p><strong>Alertes de triage. </strong>Demandez à l'agent de trier par hôte, règle, utilisateur ou fenêtre temporelle. La compétence de triage des alertes affiche un tableau de bord des verdicts d'IA au-dessus de la liste brute des alertes, avec un verdict par règle de détection classant l'activité de cette règle comme bénigne, suspecte ou malveillante, chacune avec un score de confiance et une action recommandée. Cliquez sur n'importe quelle alerte pour ouvrir une vue détaillée avec une arborescence des processus, les événements du réseau, les alertes connexes et les étiquettes MITRE ATT&amp;CK. Pas besoin de basculer de contexte entre la conversation IA et votre tableau de bord d'alertes dans Kibana, tout se passe en temps réel au sein de votre conversation.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltf764ae94c22e0e78/6a170762c1e8a582aaf88236/b0239ea916a828ee0bfd0cc046af17330568fe09-2048x1313.png" alt="" /><p><strong>Chasser les menaces. </strong>Demandez à l'agent de rechercher dans tous vos index. La compétence Threat Hunt renvoie un atelier ES|QL avec la requête pré-remplie et exécutée automatiquement, chaque entité des résultats étant cliquable pour une exploration plus approfondie. Le modèle écrit un court résumé sous le tableau : ce qui est inhabituel, ce qui est connecté, ce qui mérite un examen plus approfondi. Il propose ensuite le prochain pivot : soit approfondir la recherche de menaces, soit commencer une nouvelle compétence au sein de l'application MCP qui complète le travail effectué jusqu'à présent. Ce qui lie tout cela de manière très cohérente, c’est le lancement d’une Découverte d’attaques pour recueillir plus de contexte sur les alertes que vous avez approfondies et les menaces que vous avez recherchées jusqu’à présent.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltb5b630ec829b7480/6a170764e8fbce0e8839fba5/9f0bde828bcedb24e2b45995cfa306f03e57d300-2048x1313.png" alt="" /><p><strong>Lancer la détection des attaques.</strong> La compétence Attack Discovery déclenche l'API Attack Discovery et renvoie une liste classée de résultats. Chaque constatation est un ensemble d'alertes connexes regroupées en une chaîne d'attaque, avec les tactiques de MITRE, un score de risque, un label de confiance, et les hôtes et utilisateurs concernés présentés en amont. Le résumé de l’agent se situe en dessous des résultats dans le même ordre de classement, et la conversation contient désormais tout ce qui est nécessaire pour agir : requêtes de recherche, décisions de tri, chaînes corrélées, tout est prêt pour la prochaine étape.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltb962a003a1830771/6a170767286714457493e269/e52af22dbaa070192170280d519dfb219ad807f5-2048x1313.png" alt="" /><p><strong>Ouvrez des dossiers sans quitter le chat.</strong> Approuvez les découvertes en masse ou demandez à l'agent d'ouvrir des cas pour des alertes spécifiques. La compétence de gestion des cas crée un cas par découverte approuvée (alertes sources jointes, tactiques MITRE héritées de la chaîne d'attaque) et affiche la liste des cas en direct. Cliquez sur un cas pour afficher sa vue détaillée, qui comprend une série de boutons d'action IA : Résumer le cas, Suggérer les prochaines étapes, Extraire les IOC et Générer une chronologie. Chacun renvoie une invite structurée dans le chat, de sorte que l'agent reprenne le contexte du cas sans avoir besoin d'une réintroduction. Le résumé de l'agent se trouve sous la liste des cas et couvre l'intégralité de la file d'attente IR, y compris les cas récemment ouverts et les découvertes antérieures qui nécessitent encore une action.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt8cd53b527381a858/6a1707697d8d67e06f70e674/2057310b450c2917c5434c713f2b34732067429a-2048x1283.png" alt="" /><p>Chaque étape de ce parcours suit la même boucle : une requête arrive, la compétence la prend en charge, l’outil renvoie un résumé textuel concis que le modèle peut exploiter, accompagné d’une interface utilisateur interactive sur laquelle l’analyste agit. Enchaînez les compétences, et elles s’assemblent en un flux SOC de bout en bout — chasse, triage, corrélation, ouverture de cas et pilotage des pivots suivants — le tout avec un modèle qui conserve le contexte de session à chaque étape. Utilisez n’importe laquelle de ces fonctionnalités individuellement, et vous accédez toujours à un tableau de bord complet, centré sur le segment de données de votre choix. Dans tous les cas, le travail s’accumule dans la conversation : aucun changement d’onglet, aucun copier-coller, aucun transfert.</p><p>Deux fonctionnalités supplémentaires complètent l’application : un navigateur de règles de détection pour ajuster les règles bruyantes, et un générateur de données d’exemple pour produire des événements ECS réalistes sur un cluster vierge. Un prochain article approfondira l’ensemble des six fonctionnalités : graphe d’investigation, canevas de flux d’attaque et parcours de bout en bout.
</p><em>« L’application MCP pour Elastic Security comble le fossé entre la détection automatisée et la chasse manuelle. En intégrant directement nos données de sécurité dans une interface unique au sein de Claude Desktop, nous avons mis au jour des menaces « silencieuses » en moins d’une heure — des risques qui n’ont pas déclenché d’alertes standard mais nécessitaient une action immédiate. C’est un véritable multiplicateur de force pour nos analystes. » Mandy Andress : Chief Information Security Officer (CISO), Elastic.</em><h3>Fonctionnement</h3><p>Chaque application MCP est un petit serveur Node.js dont les outils renvoient à la fois un résumé textuel compact pour le modèle et une interface utilisateur React que l’hôte rend en ligne. Parce qu'il est construit sur la spécification ouverte de l'application MCP, le même serveur fonctionne sur n'importe quel hôte compatible — voir <a href="https://github.com/elastic/example-mcp-app-security/blob/main/docs/architecture.md">la documentation sur l'architecture du dépôt</a> pour la conception complète.</p><h3>Faites l'essai</h3><p>Nécessite Elasticsearch 9.x avec Security activé, ainsi que Kibana pour les cas, les règles et la Découverte d'attaques. Le chemin le plus rapide est le bundle <code>.mcpb</code> en un clic de la <a href="https://github.com/elastic/example-mcp-app-security/releases/latest">dernière version</a> — double-cliquez dessus dans Claude Desktop, et vous serez invité à fournir votre URL Elasticsearch et votre clé API. Les guides d’installation pour <a href="https://github.com/elastic/example-mcp-app-security/blob/main/docs/setup-cursor.md">Cursor</a>, <a href="https://github.com/elastic/example-mcp-app-security/blob/main/docs/setup-vscode.md">VS Code</a>, <a href="https://github.com/elastic/example-mcp-app-security/blob/main/docs/setup-claude-code.md">Claude Code</a>, <a href="https://github.com/elastic/example-mcp-app-security/blob/main/docs/setup-claude-ai.md">Claude.ai</a> et la compilation à partir du code source se trouvent dans le <a href="https://github.com/elastic/example-mcp-app-security">dépôt</a>.</p><h2>Elastic Search MCP App : des tableaux de bord créés à partir de la conversation</h2><p>Tous les utilisateurs de Kibana connaissent ce détour par les tableaux de bord : quitter leur tâche en cours, ouvrir Kibana, choisir un index, sélectionner des champs, créer une visualisation, ajuster, puis enregistrer. C'est cinq changements de contexte avant qu'un seul graphique ne soit à l'écran.</p><p>La nouvelle application de référence <a href="https://github.com/elastic/example-mcp-dashbuilder">example-mcp-dashbuilder</a> résume tout cela en une invite. Demandez à l’agent de « <strong>me construire un tableau de bord avec des indicateurs de revenus, des tendances des commandes et des découpes par catégorie</strong> » et le tableau de bord revient dans la conversation sans avoir besoin de changer d’onglet.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt13c6b2f11cc077a2/6a17076b961e6968c1c4ce9a/b096b493726488f53040b08b5c8bc53ca0e44f9d-2048x1182.png" alt="" /><p>Derrière cette invite, l'agent explore vos données Elasticsearch via ES|QL et sélectionne des types de graphiques pour correspondre aux données : des barres pour les comparaisons, des lignes pour les tendances, des cartes de métriques pour les KPI et des cartes thermiques pour les modèles bidimensionnels. Il dispose les panneaux sur la grille à 48 colonnes de Kibana en utilisant le thème Borealis de l'interface utilisateur Elastic, et le résultat est entièrement interactif : vous pouvez faire glisser, redimensionner et regrouper les panneaux en sections repliables directement dans le chat. Lorsque le tableau de bord a l'apparence voulue, un seul appel d'outil l'exporte vers Kibana, en préservant les requêtes ES|QL et les couleurs personnalisées. Vous pouvez également importer des tableaux de bord Kibana existants dans le chat pour une édition assistée par l'IA.</p><p>Le principe est le même que celui derrière l'application de sécurité : lorsque l'artefact est le produit, le renvoyer dans la conversation ferme la boucle entre la description de ce que vous voulez et le fait de le voir.</p><p>Sous le capot, elle suit le même schéma que l’application MCP. Un serveur Node.js enregistre un outil <code>view_dashboard</code> orienté modèle ainsi qu’un ensemble d’outils uniquement d'application que l’interface utilisateur appelle directement (récupération des données, persistance de la mise en page, détection des champs temporels, exportation/importation). La vue du tableau de bord est un fichier HTML autonome intégré à <code>vite-plugin-singlefile</code> et servi comme ressource pour l’application MCP. Les développeurs qui dupliquent le dépôt obtiennent le même shell serveur et le même pont hôte que ceux vus dans l’application Security, dirigés vers une tâche différente. Le fichier README example-mcp-dashbuilder contient l’architecture complète et la référence des types de graphiques.</p><h2>Elastic Observability MCP App</h2><p>La troisième application de référence, <a href="https://github.com/elastic/example-mcp-app-observability">Elastic Observability MCP application</a>, s'attaque à la version SRE du même problème de forme. Lorsque quelque chose se brise en production, la réponse dont l'ingénieur de garde a besoin n'est pas un graphique, mais un diagnostic assemblé à partir des métriques K8s, de la topologie APM, des anomalies ML et de l'évaluation des risques. La forme de la réponse est une histoire causale : ce qui a échoué, pourquoi, ce qui en dépend, et ce qu'il faut faire ensuite.</p><p>Six outils facilitant le workflow d'investigation en observabilité</p><p>Outil</p><p>Dépendance</p><p>Fonctionnalités</p><p>observer</p><p>Universel</p><p>Primitive d’accès transitoire ES|QL + ML pour les anomalies — exécutez une requête ponctuelle, échantillonnez une métrique en temps réel ou bloquez l’exécution jusqu’à ce qu’un seuil ou une anomalie soit déclenché(e).</p><p>gérer les alertes</p><p>Universel</p><p>Créer, lister, obtenir et supprimer des règles d'alerting à seuil personnalisé Kibana. Omettez l'URL Kibana pour une exécution en lecture seule.</p><p>détection des anomalies basée sur le ML</p><p>Tâches de ML</p><p>Interrogez les enregistrements d’anomalies ML et ouvrez une vue explicative d’anomalie en ligne.</p><p>Résumé de l'état de santé APM</p><p>Elastic APM</p><p>Cumul de santé au niveau du cluster via télémétrie APM ; couches dans K8s et contexte ML quand disponibles.</p><p>dépendances-service-apm</p><p>Elastic APM</p><p>Graphe de dépendance des services — en amont/en aval, protocoles, volume d'appels.</p><p>rayon d'explosion K8s</p><p>Indicateurs Kubernetes</p><p>Impact de la panne de Node — panne complète, dégradée, non affectée, faisabilité de replanification.</p><h3><strong>Cumul d'intégrité du cluster</strong></h3><p>Demandez « Qu'est-ce qui ne fonctionne pas ? » ou « Donnez-moi un rapport d'état » et obtenez une orientation unique : badge de santé globale, services dégradés avec raisons, principaux consommateurs de mémoire pod, répartition de la gravité des anomalies et débit du service — le tout en une seule vue en ligne. C'est le point de départ lorsque quelque chose ne va pas, mais vous ne savez pas où regarder. La vue s'adapte en fonction de ce que votre déploiement prend en charge. L'APM vous offre la santé de vos services. Les indicateurs Kubernetes ajoutent le contexte du pod et du Node. Couche des tâches ML dans les anomalies.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt6e3b05db6d20053e/6a17076ca6c2b9dd7fe79649/f31be8bbcffd54623fcec4e51fd914dae666c026-1510x1810.png" alt="" /><h3><strong>Graphe des dépendances des services</strong></h3><p>Demandez « quel est le nom de la caisse ? » ou « montrez-moi la topologie » et obtenez un graphe de dépendances en couches — appelants en amont, dépendances en aval, protocoles, volume d'appels et latence par arête. Demandons à Claude de « me montrer les dépendances de service du frontend » :</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt5e05ed5db821651f/6a17076e14b27010b1e3c58f/2afec7dbd2153bc3a9f05068f323911af766a258-2048x1184.png" alt="" /><p>Utilisez le zoom, le déplacement et le survol pour obtenir tous les détails nécessaires à la compréhension des relations complexes entre les services :</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt35c153a49075a678/6a17076fa6c2b9e703e7964d/ff99d2fd0a54c22c9f7b975e9d8d7073c4311e7a-2048x970.png" alt="" /><h3><strong>Évaluez les risques à l’aide d’un rayon d’impact</strong></h3><p>Demandez « que se passe-t-il si mon nœud k8s tombe en panne ? » et obtenez un diagramme d’impact radial : le nœud cible au centre, les déploiements totalement indisponibles en rouge, dégradés en orange, et non affectés en gris. Une carte de synthèse flottante affiche les pods à risque ainsi que les possibilités de replanification. Les déploiements à instance unique sont signalés comme des points uniques de défaillance. </p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt7d186e69ef06d75d/6a170771a292996b21d00fae/7736bef9609e45a3f0c7f9f3090a314b0834315d-1272x1838.png" alt="" /><h3><strong>Observer</strong></h3><p>Le principal mécanisme d’accès de l’agent pour Elastic — un outil, trois modes pour trois besoins distincts. Dites « que fait le CPU en ce moment ? » et une requête ES|QL est exécutée une seule fois, avec un tableau en résultat. Dites « montre-moi la latence du frontend pendant les 60 prochaines secondes » et la métrique est échantillonnée en temps réel, avec mise à jour du graphique sur place. Dites « préviens-moi lorsque la mémoire passe sous 80 MB » ou « surveille toute anomalie pendant les 10 prochaines minutes » et l’exécution reste en attente jusqu’à ce que la condition soit remplie ou que la fenêtre expire. La vue s’adapte au mode : un tableau de résultats pour les requêtes ponctuelles, un graphique de tendance en temps réel avec statistiques actuelles/de pointe/de référence pour l’échantillonnage et les seuils, et une carte de déclenchement avec score de gravité pour le mode anomalie.</p><h3>Fonctionnement</h3><p>Même modèle d'application MCP que les applications Security et Search : un serveur Node.js, six outils orientés modèle connectés à six ressources de vue à fichier unique. Les outils sont regroupés par back-end de déploiement (Universel, dépendant de l'APM, dépendant de K8s, dépendant du ML), afin que l'agent et l'utilisateur sachent à l'avance quels outils s'appliquent à un déploiement donné au lieu de découvrir des lacunes de capacité au moment de l'appel. L'application MCP inclut également un exemple de workflow Agent Builder : <code>k8s-crashloop-investigation-otel</code> qui peut être déclenché par une alerte Kubernetes et renvoyer un résumé structuré des causes profondes avant que vous n'ayez ouvert un seul tableau de bord.</p><h2>La pile agentique, interactive</h2><p>Trois caractéristiques de ce modèle méritent d’être présentées clairement. Premièrement, le résultat de l’outil n’est plus la fin du travail, mais son point de départ : la conversation renvoie une interface sur laquelle vous pouvez agir, et non un résumé à partir duquel vous devez agir. Deuxièmement, un même agent, un même contexte de modèle et un même fil de conversation peuvent désormais naviguer entre les interfaces de Security, Search et Observability sans quitter la conversation. Troisièmement, cela fonctionne uniquement parce qu’Elasticsearch et Kibana exposent déjà les API. L’application MCP constitue une fine couche interactive au-dessus des fonctionnalités produit que nous proposons déjà.</p><p>Attack Discovery alimente déjà la vue des résultats corrélés dans cette application. Au sein de la stack, ce même modèle agentique va encore plus loin : Elastic Workflows automatise les étapes déterministes (enrichissement des entités, création de cas, isolement des hôtes), tandis qu’Agent Builder analyse les données et invoque ces workflows comme des outils. L'application MCP apporte cette même surface de sécurité à la conversation externe ; les flux de travail et Agent Builder l'approfondissent au sein de la pile. Différents points d'entrée, les mêmes API Elastic en dessous.</p><p><strong>Essayez :</strong></p><ul><li><p><strong>Sécurité :</strong> <a href="https://github.com/elastic/example-mcp-app-security">example-mcp-app-security</a></p></li><li><p><strong>Rechercher et tableaux de bord :</strong> <a href="https://github.com/elastic/example-mcp-dashbuilder">exemple-mcp-dashbuilder</a></p></li><li><p><strong>Observability : </strong><a href="https://github.com/elastic/example-mcp-app-observability">exemple-mcp-observabilité</a></p></li></ul><p>Vous n'avez pas encore de cluster Elasticsearch ? Démarrer un essai gratuit d'<a href="https://cloud.elastic.co/registration">Elastic Cloud</a>. Pour en savoir plus sur les éléments de base de l’application de sécurité, consultez les publications associées de Security Labs sur <a href="https://www.elastic.co/security-labs/from-alert-fatigue-to-agentic-response">Elastic Workflows et Agent Builder</a>, <a href="https://www.elastic.co/security-labs/agent-skills-elastic-security">Agent Skills</a>, et <a href="https://www.elastic.co/security-labs/speeding-apt-attack-discovery-confirmation-with-attack-discovery-workflows-and-agent-builder">Attack Discovery</a>.</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/mcp-apps-elastic</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/mcp-apps-elastic</guid>
    <category><![CDATA[Outils d'IA ]]></category>
    <dc:creator><![CDATA[David Elgut,Graham Hudgins,Jesse Miller]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt28971b9864cabea4/6a170773286714880293e26d/55cea79fd5c554656e8605525a61d4ad3ae0ee1b-2048x1143.png" length="0" type="image/png"/>
    <pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[Compétences d'agent pour Elastic : transformez votre agent IA en un expert Elastic]]></title>
    <description><![CDATA[Donnez à votre agent de codage IA les connaissances nécessaires pour interroger, visualiser, sécuriser et automatiser avec les compétences Elastic Agent.]]></description>
    <content:encoded><![CDATA[<p>Chaque développeur, ingénieur SRE ou analyste qui a essayé d'utiliser un agent IA de programmation avec une plateforme spécialisée s'est heurté au même obstacle. Vous demandez à l'agent de rédiger une requête, de configurer une alerte ou d'enquêter sur un point, et il s'en sort presque, mais pas tout à fait. Elastic a un avantage ici : le fait qu'il existe plus d'une décennie de documentation, d'articles de blog et de réponses de la communauté fait que les agents IA connaissent déjà Elastic mieux que la plupart des plateformes de données. Mais cette richesse s'accompagne d'un certain désordre. Les API obsolètes coexistent avec les API actuelles. Les modèles obsolètes sont classés au même niveau que les bonnes pratiques. L'agent reproduit avec confiance une approche qui fonctionnait il y a trois versions, car dans ses données d'entraînement, c'était le cas. Il en résulte un fardeau de correction : les utilisateurs alimentent manuellement la documentation dans le contexte, corrigent la syntaxe hallucinée et contournent l'agent au lieu de travailler avec lui. Pire encore, les fonctionnalités avancées restent totalement inutilisées, non pas parce que les utilisateurs n’en ont pas besoin, mais parce que l’agent ignore leur existence.</p><p>C'est pourquoi nous mettons en open source les <a href="https://github.com/elastic/agent-skills">compétences Elastic Agent</a> : une expertise native de la plateforme pour Elasticsearch, Kibana, Elastic Observability et Elastic Security. Ajoutez-les dans l'environnement d'exécution de l'agent que vous utilisez déjà, et améliorez votre agent en le faisant passer d'un statut de "généraliste" qui devine un grand nombre de syntaxes à un statut d'expert, capable par exemple d'utiliser un grand nombre de normes architecturales comme le font les équipes d'ingénieurs d'Elastic. Cette première version technique se concentre sur les compétences avec une compatibilité maximale pour <a href="https://www.elastic.co/cloud/serverless">Elastic Cloud Serverless</a>, mais évoluera rapidement pour inclure une meilleure prise en charge des anciennes versions de la pile.</p><p>De plus, Elastic résout ce problème sur les deux fronts. Pour les agents sur la plateforme Elastic, <a href="https://www.elastic.co/search-labs/blog/agent-builder-elastic-ga">Elastic Agent Builder</a> (désormais disponible en version générale) vous permet de créer et de discuter avec des agents IA qui héritent des contrôles d'accès de vos données, utilisent des outils de recherche et d'analyse intégrés, et travaillent en contexte aux côtés de vos tableaux de bord, alertes et investigations. Nous travaillons dur pour garantir des expériences exceptionnelles d’agent sur la plateforme Elastic. Mais tous les agents ne se trouvent pas au sein d’Elastic. Votre équipe utilise déjà Cursor, Claude Code ou d'autres environnements d'exécution, et ces agents doivent également maîtriser Elastic. C'est là que les compétences des agents entrent en jeu.</p><h2>Pourquoi les agents rencontrent-ils des difficultés avec les plateformes spécialisées</h2><p>Les grands modèles de langage (LLM) sont des généralistes remarquablement compétents. Ils peuvent écrire en Python, expliquer les manifestes Kubernetes et restructurer les composants React car leurs données d'entraînement sont riches en exemples. Mais lorsqu’il s’agit de travaux spécifiques à la plateforme, ceux qui impliquent des langages de requête propriétaires, des interfaces API complexes et des bonnes pratiques spécifiques à un domaine, ils échouent de manière prévisible.</p><p>Pour Elasticsearch, l'écart se manifeste concrètement :</p><ul><li><p><strong>Le langage de requête Elasticsearch (ES|QL) est un nouveau domaine.</strong> Les LLM sont fortement entraînés au SQL, mais ES|QL est un langage de requête canalisé avec une syntaxe différente, des fonctions différentes et une sémantique différente. Les agents écrivent fréquemment des requêtes qui semblent plausibles mais ne s'analysent pas. Ils confondent <code>WHERE</code> et <code>| WHERE</code>, inventent des fonctions qui n'existent pas et passent complètement à côté du modèle de composition canalisé.</p></li><li><p>Les <strong>surfaces API sont larges et profondes.</strong> Elasticsearch, Kibana et Elastic Security exposent des centaines d'API dans les domaines de la recherche, de l'ingestion, de l'alerting, des règles de détection, de la gestion des cas, des tableaux de bord et plus encore. Un agent ne disposant que de données d'entraînement générales doit deviner quel point de terminaison appeler, à quoi ressemble le corps de la requête et comment gérer la réponse. Il se trompe suffisamment souvent pour éroder la confiance.</p></li><li><p><strong>Les bonnes pratiques ne figurent pas dans les données d'entraînement.</strong> Quand devez-vous utiliser <code>semantic_text</code> plutôt qu'un pipeline de plongement personnalisé ? Comment structurer un pipeline d'ingestion pour un CSV de 10 Go ? Quelle est la bonne syntaxe de règle de détection pour une technique <a href="https://www.elastic.co/docs/solutions/security/detect-and-alert/mitre-attandckr-coverage">MITRE ATT&amp;CK</a> ? Les agents polyvalents ne disposent pas de connaissances spécifiques à Elastic organisées et structurées de manière fiable et chargées par défaut. Ils devraient aller les chercher, et même s'ils le faisaient, les documents bruts ne reflètent pas toujours les jugements et les bonnes pratiques que les praticiens qualifiés appliquent.</p></li></ul><p>Résultat : les développeurs passent plus de temps à corriger les sorties des agents qu'à écrire le code eux-mêmes. Ce n'est pas l'expérience pour laquelle ils se sont engagés.</p><h2>Compétences des agents : connaissances de la plateforme, destinées aux agents</h2><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt2099e0ccdf446fee/6a17074bd7c022e3e1de63d4/8d16ec00d16e70a916c5eef0aaa23fcc735b7186-1067x1280.png" alt="npx skills add elastic/agent-skills" /><p>Les compétences des agents sont des répertoires autonomes d'instructions, de scripts et de matériel de référence que les environnements d'exécution des agents peuvent charger de manière dynamique. Lorsqu’une compétence est active, l’agent a accès au bon contexte au bon moment : syntaxe de requête, modèles d’API, logique de validation, exemples pratiques, afin de pouvoir exécuter correctement les tâches du premier coup.</p><p>Chaque compétence suit la spécification ouverte <a href="https://agentskills.io">agentskills.io</a> : un dossier avec un fichier <code>SKILL.md</code> contenant des métadonnées et des instructions structurées. Aucun format propriétaire, pas de dépendance. Les compétences fonctionnent à travers les environnements d'exécution des agents, notamment Cursor, Claude Code, GitHub Copilot, Windsurf, Gemini CLI, Cline, Codex, et <a href="https://agentskills.io">bien d’autres</a>.</p><h3>Contenu de la version initiale v0.1.0</h3><p>Le premier ensemble de compétences couvre cinq domaines de l’Elastic Stack :</p><ul><li><p>Interagir avec les API Elasticsearch (recherche, indexation, clustering)</p></li><li><p>Création et gestion de contenu Kibana tels que les tableaux de bord, les alertes, les connecteurs et plus encore.</p></li><li><p>Expertise de domaine pour Elastic Observability</p></li><li><p>Expertise de domaine pour Elastic Security</p></li><li><p>Créer des agents efficaces dans Agent Builder</p></li></ul><h3>Les compétences sont composables</h3><p>Les compétences ne sont pas monolithiques. Elles sont modulaires de par leur conception. Votre agent charge uniquement les compétences pertinentes pour la tâche en cours. Vous travaillez sur une requête ES|QL ? La compétence ES|QL est activée. Vous souhaitez créer un tableau de bord à partir de ces résultats ? La compétence tableaux de bord se lance. Évaluer la santé de votre application ? La compétence de santé des services entre en jeu. Enquêter sur une alerte de sécurité ? Les compétences de triage s'enchaînent avec celles de gestion de cas et de réponse au fur et à mesure que l'enquête progresse.</p><p>Cette composabilité signifie que vous n'avez pas besoin d'une invite unique et massive qui tente de tout couvrir. Chaque compétence comporte exactement le contexte requis par son domaine, ni plus ni moins.</p><h2>Pour les développeurs d'applications de recherche et d'IA</h2><p>Si vous chargez des données dans Elasticsearch, que vous rédigez des requêtes ou que vous migrez des index, les compétences réduisent le cycle de génération de code, de détection d'erreurs et de recherche dans la documentation pour trouver ce qui n'a pas fonctionné.</p><p>Demandez à votre agent de charger un fichier CSV ; celui-ci utilisera un outil d’ingestion en continu qui gérera la contre-pression et déduira les mapping à partir des données. Il ne s'agit pas d'une boucle _bulk exécutée à la main qui épuise la mémoire dès le premier fichier volumineux. Demandez-lui de faire une requête auprès d’ES|QL, et il découvre vos véritables noms d’index et schémas de champs, puis écrit des requêtes valides canalisées avec la bonne syntaxe, les agrégations appropriées et la sélection de fonctionnalités adaptée à la version, et non une supposition SQL nécessitant trois tours de débogage. Demandez-lui de réindexer sur plusieurs clusters, et il suit le workflow complet : il crée la destination avec des mappings explicites, ajuste les paramètres de débit, effectue l'exécution de la tâche de manière asynchrone et restaure les paramètres de production une fois celle-ci terminée, et non pas un simple appel _reindex qui saute la moitié des étapes qu’un opérateur expérimenté suivrait.</p><p>Au lieu d'un agent qui vous donne un point de départ plausible à corriger, vous en obtenez un qui encode la discipline opérationnelle qui permet à la sortie de fonctionner réellement.</p><p><strong>Exemples d'impacts de l'utilisation des compétences d'Elastic Agent</strong></p><p>Eval</p><p>Ce que la compétence a changé</p><p>es-requêtes-d'audit-échecs-de-connexion</p><p>Utilisation des modèles de requête du log d'audit à partir de la compétence au lieu d'une recherche générique</p><p>es-autorisation-mapping-de-rôle-ldap</p><p>Émission de la structure correcte de l'appel d'API de mapping des rôles</p><p>esql-requête-de-base</p><p>Écriture de la syntaxe canalisée d'ES|QL via Query DSL</p><p>esql-gestion-des-erreurs</p><p>Priorité au schéma au lieu de deviner les noms des champs</p><p>esql-découverte de schéma</p><p>Ne devinez jamais le nom d'un index</p><p>es-ingestion-csv-avec-inférence</p><p>Utilisation de --infer-mapping uniquement, évitant de le combiner avec --source-format CSV qui crée un index vide</p><p>es-ingestion-fichier-json</p><p>Utilisation d'une approche d'ingestion robuste capable de traiter des fichiers volumineux</p><p>es-réindexer-local-asynchrone</p><p>Création de l’index de destination avec les répliques : 0 et refresh_interval : « -1 », puis réindexation asynchrone. Base : pas de préparation</p><p>es-sécurité-403-privilèges</p><p>Suivi d'un workflow de diagnostic de la compétence pour les erreurs de privilège au lieu de conseils génériques.</p><h2>Pour les équipes de sécurité</h2><p>Security répète quotidiennement les mêmes workflows opérationnels : trier les alertes, ajuster les règles de détection, gérer les dossiers. Les compétences de l'agent encodent ces connaissances procédurales afin que votre agent IA puisse exécuter correctement ces workflows, en appelant les bonnes API dans le bon ordre et avec les bons noms de champ. Pour une présentation pratique qui vous permettra de passer de zéro à un environnement Elastic Security complet sans quitter votre IDE, consultez la section <a href="https://www.elastic.co/security-labs/agent-skills-elastic-security">Prise en main d'Elastic Security depuis votre agent d'IA</a>.</p><h2>Pour les équipes d'observabilité et d'opérations</h2><p>Les nouvelles compétences des agents pour Elastic Observability réduisent les tâches opérationnelles liées à l'instrumentation de systèmes complexes, à la gestion des SLO, au tri des données complexes et à l'évaluation de l'état des services. L'intégration de l'expertise native d'Elastic directement dans les agents IA permet aux équipes d'exécuter des workflows d'observabilité complexes en utilisant un langage naturel simple. Cela permet aux équipes SRE et chargées des opérations de résoudre les incidents plus rapidement et d'assurer la maintenance de systèmes fiables plus facilement. Pour en savoir plus, consultez <a href="https://www.elastic.co/observability-labs/blog/elastic-agent-skills-observability-workflows">cet article de blog</a>.</p><h2>Open source, spécifications ouvertes, piloté par la communauté</h2><p>Nous publions les compétences d'agent sous la licence Apache 2.0, car nous pensons que les connaissances des agents doivent être ouvertes. La spécification <a href="https://agentskills.io">agentskills.io</a> que suivent les compétences est un standard ouvert, et non un format propriétaire d'Elastic. Nous voulons que les compétences soient le fruit d'un effort communautaire, et non d'un lieu clos.</p><h2>Une partie d'un tableau plus vaste</h2><p>Agent Skills fait partie d'une initiative plus vaste visant à faire d'Elasticsearch la plateforme de données la plus adaptée aux agents disponible sur le marché. Pour les agents hébergés sur la plateforme Elasticsearch, <a href="https://www.elastic.co/search-labs/blog/agent-builder-elastic-ga">Agent Builder</a> va plus loin en reprenant les contrôles d'accès et les autorisations de vos données, en fournissant des outils intégrés et personnalisés pour la recherche et l'analyse, et en permettant aux utilisateurs d'interagir avec les agents en contexte, au sein de leurs tableaux de bord, alertes et enquêtes. Enfin, la prise en charge des compétences sera bientôt disponible dans Agent Builder, offrant aux développeurs la flexibilité nécessaire pour tirer parti des compétences Elastic Agent ainsi que de celles provenant de toute autre source, afin de permettre un chat sécurisé et enrichi par le contexte, ainsi qu'une automatisation sur la plateforme Elasticsearch.</p><p>Pour les agents qui vivent ailleurs, nous investissons dans l'écosystème ouvert :</p><ul><li><p><strong>Extension du serveur Model Context Protocol (MCP) :</strong> Extension du <a href="https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/mcp-server">point de terminaison MCP</a> dans Agent Builder avec davantage d'outils au-delà des opérations actuelles de recherche, ES|QL et d'index.</p></li><li><p><strong>Améliorations de l'authentification :</strong> faciliter la connexion sécurisée des agents, dans le but d'éliminer le copier-coller manuel des clés API.</p></li><li><p><strong>Documentation lisible par LLM :</strong> publication des fichiers <code>llms.txt</code> et <code>AGENTS.md</code> afin que les agents puissent découvrir et comprendre les API Elastic par eux-mêmes.</p></li><li><p><strong>Une interface de ligne de commande (CLI) pour les flux de travail des agents :</strong> Un outil de ligne de commande qui facilite la gestion des connexions et les opérations courantes pour les agents.</p></li></ul><p>Les compétences sont la partie que vous pouvez utiliser aujourd'hui. Le reste est à venir.</p><h2>Lancez-vous</h2><p><strong>Avant de commencer : </strong>Les agents de codage d’IA fonctionnent avec de vraies informations d’identification, un véritable accès au shell et, souvent, avec toutes les autorisations de l’utilisateur qui les exécute. Lorsque ces agents sont orientés vers des workflows de sécurité, les enjeux sont plus élevés : vous confiez à un système automatisé l’accès à la logique de détection, aux actions de réponse et aux télémétries sensibles. Le profil de risque de chaque organisation est différent. Avant d’activer les workflow de sécurité pilotés par l’IA, <strong>évaluez les données auxquelles l’agent peut accéder, les actions qu’il peut entreprendre et ce qui se passe s’il se comporte de manière inattendue</strong>.</p><p>Installez les compétences Elastic Agent dans votre environnement d'exécution de l'agent :</p><p><code>npx skills add elastic/agent-skills</code></p><p>Cela détecte automatiquement vos agents d'exécution installés et place les compétences dans le répertoire de configuration approprié. A partir de là, votre agent les récupère automatiquement.</p><p>Vous pouvez également consulter directement le <a href="https://github.com/elastic/agent-skills">catalogue de compétences</a> et installer manuellement des compétences individuelles en copiant le dossier de compétences dans le répertoire de configuration de votre agent.</p><p>Vous n'avez pas encore de cluster Elasticsearch ? Démarrer un <a href="https://cloud.elastic.co/registration">essai gratuit d'Elastic Cloud</a>. Il faut environ une minute pour obtenir un environnement entièrement configuré.</p><p><strong>Explorez le projet :</strong></p><ul><li><p><a href="https://github.com/elastic/agent-skills">Répertoire des compétences des agents</a></p></li><li><p><a href="https://agentskills.io">Spécifications d'agentskills.io</a></p></li><li><p><a href="https://www.elastic.co/docs">Documentation Elasticsearch</a></p></li><li><p><a href="https://cloud.elastic.co/registration">Essai gratuit d'Elastic Cloud</a></p></li></ul>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/agent-skills-elastic</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/agent-skills-elastic</guid>
    <category><![CDATA[IA agentique]]></category>
    <category><![CDATA[Outils d'IA ]]></category>
    <dc:creator><![CDATA[Graham Hudgins,Matt Ryan]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltbd233e8cf5c66c88/6a17074dc1e8a59502f8822a/09e64953819083168a9ecef0888c7f8bde1a43bd-720x420.jpg" length="0" type="image/jpeg"/>
    <pubDate>Mon, 16 Mar 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[Agent Builder, bien plus qu’une interface de discussion : vers une infrastructure augmentée]]></title>
    <description><![CDATA[Découvrez Elastic Agent Builder avec l’infrastructure augmentée, un agent d’IA qui permet des opérations, du développement et des tests Synthetic augmentés.]]></description>
    <content:encoded><![CDATA[<p><strong>Nous ne nous contentons pas d’en parler. Nous passons à l’action.</strong></p><p>Nous avons tous été témoins de l’essor des agents d’IA. Ils se révèlent particulièrement performants pour le résumé de textes, l’écriture de scripts et l’extraction de réponses issues de bases documentaires. Pourtant, dans les domaines du DevOps et de la fiabilité système (SRE), nous faisions face à un obstacle particulièrement frustrant. L’immense majorité des agents reste confinée au modèle du support client. S’ils analysent et échangent, ils demeurent incapables d’intervenir directement sur les couches d’infrastructure dont ils ont la charge.</p><p>Lors de notre récent hackathon, nous avons pris le parti de briser définitivement cette contrainte.</p><p>Nous avons conçu l’<strong>Infrastructure augmentée</strong> : un copilote d’infrastructure qui ne se contente pas de vous conseiller, mais qui crée, déploie, surveille et répare également votre environnement de production.</p><h2><strong>Le problème : copier, reformater, coller</strong></h2><p>Les agents standards fonctionnent en vase clos. Face à une panne majeure représentant une perte de 5 millions de dollars, l’assistance d’un agent standard se limite à la simple lecture du protocole de remise en service. Mais c’est toujours à <em>vous</em> d’effectuer le travail. Il vous reste encore à extraire le code, à en assurer la compatibilité avec votre environnement, puis à procéder manuellement à sa saisie dans la console.</p><p>Nous recherchions un agent capable de faire la part des choses entre le <em>discours</em> sur Kubernetes et l’<em>exécution technique</em> sur Kubernetes.</p><h2><strong>Au cœur du système : présentation d’Elastic Agent Builder.</strong></h2><p>Pour concevoir cette solution, nous ne sommes pas partis d’une page blanche. Nous l’avons conçue sur la base d’<a href="https://www.elastic.co/fr/elasticsearch/agent-builder"><strong>Elastic Agent Builder</strong></a>. À titre de rappel, Elastic Agent Builder est une architecture logicielle dédiée au développement rapide d’agents, agissant comme interface entre un modèle de langage (LLM), tel que Google Gemini, et les données propriétaires hébergées dans Elasticsearch.</p><p>Agent Builder peut être utilisé pour l’IA conversationnelle en l’ancrant sur des données internes, comme des documents ou des logs. Mais sa fonctionnalité la plus puissante est la possibilité d’assigner des <strong>outils</strong>. Ces outils permettent au LLM de sortir de l’interface de discussion pour accomplir des tâches spécifiques. Nous avons compris qu’en exploitant tout le potentiel de cette fonction, l’Agent Builder pourrait devenir un véritable pilier de l’automatisation.</p><h2><strong>Mise en œuvre : création de la première version</strong></h2><p>Dès le début du projet, notre ambition était de permettre aux agents d’exercer une action concrète sur leur environnement externe. Une idée a germé : pourquoi ne pas créer un « runner », un logiciel chargé d’exécuter sur la machine hôte toutes les instructions générées par l’agent ? Puis, nous avons envisagé ceci : et si les « runners », Elastic Agent Builder et l’utilisateur communiquaient en temps réel, comme lors d’une conférence téléphonique ?</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltec9d20da8c41a898/6a170704dc55debd4ce00d43/8dc8317c1301b8eb7b89438529e8d8d17411c95a-1024x559.png" alt="Agent Builder with Augmented Infrastructure architecture" /><p>Nous avons commencé par concevoir un projet Python, Augmented Infrastructure Runners, qui consistait essentiellement en une boucle while(true) qui interrogeait chaque seconde l’API des conversations d’Elastic Agent Builder pour y détecter une syntaxe spécifique que nous avions créée :</p>{
	"tool_name": "my_tool",
       "tool_arguments": "\{stringified json arguments\}"
}<p>Nous avons ensuite mis à jour l’invite pour l’enseigner sur notre nouvelle syntaxe d’appel d’outil. Bill contribue à la maintenance de <a href="https://gofastmcp.com/getting-started/welcome">FastMCP</a>, la solution de référence en Python pour le développement de serveurs conformes au Model Context Protocol (MCP). Il a entrepris d’utiliser le client FastMCP conjointement avec ce nouveau runner afin de coupler les serveurs MCP et d’exposer leurs outils au sein de l’environnement d’exécution. Lorsque l’agent voyait cela, il exécutait l’appel de l’outil et publiait les résultats dans la conversation, comme si l’utilisateur lui-même les avait envoyés. Cela incitait le LLM à répondre au résultat, et c’est ainsi que tout a commencé !</p><p>C’était génial mais cela posait deux problèmes principaux :</p><ol><li><p>L’agent se contenterait de projeter l’intégralité des données JSON au beau milieu de l’échange avec l’utilisateur.</p></li><li><p>Dans l’API des conversations, les messages n’étaient accessibles qu’une fois le tour de parole terminé, soit après l’émission de la réponse par le LLM.</p></li></ol><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt0596217e962f8464/6a17070647d49c3fef2d890c/7b3755aeae17722ff1bb9677712293e9195f96a0-1058x1034.png" alt="Issue when building agent with augment infrastructure" /><p>Nous nous sommes alors attachés à trouver comment déporter cette tâche en tâche de fond.</p><p>Nous avons ensuite choisi de donner à l’agent un outil appelé call_external_tool avec deux arguments : le tool_name et les arguments JSON sous forme de chaîne de caractères. Cet appel d’outil externe ne renvoie rien, mais il est important de noter qu’il est visible dans la requête GET envoyée à l’API des conversations. Nous avons ensuite donné aux runners l’autorisation d’écrire des documents directement dans Elasticsearch, que l’agent Elastic Agent Builder pouvait récupérer si nécessaire. L’agent fonctionne toujours en réponse à un message d’utilisateur. Nous devons donc démarrer l’agent avec un message d’utilisateur afin qu’il recherche des résultats et poursuive le traitement. Aussi, nous avons demandé aux agents d’insérer un court message dans le chat pour reprendre la conversation :</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blta22be3c67ad2ff1f/6a170708cdacbf0ae87d295b/61ff59a57c68ed5fad492d19c0580644113a507d-1600x1321.png" alt="Agent Builder with Augmented Infrastructure demostration" /><p>Ainsi, nous avions désormais des appels d’outils externes. Cependant, en raison du deuxième problème mentionné ci-dessus, nous avons dû supprimer cette dernière partie de démarrage. Sinon, chaque appel à un outil externe nécessitait un cycle complet de conversation pour récupérer les résultats !</p><h2><strong>Pour aller plus loin : présentation des workflows</strong></h2><p>En plus des appels d’outils via ES|QL et la recherche d’index, les agents d’Agent Builder peuvent solliciter des outils Elastic basés sur des workflows. Les workflows Elastic offrent une méthode flexible et simple à gérer pour exécuter une séquence arbitraire d’actions et de logiques. Dans notre cas, le rôle du workflow se limite à l’enregistrement d’une demande d’outil externe dans Elasticsearch et à la transmission d’un identifiant (ID) pour le suivi des résultats. Le résultat est une définition de workflow simple, articulée comme suit :</p>nom : ai-tool-call
activé : true
déclencheurs :
  - type : manuel
entrées :
  - nom : runner_id
    type : string
  - nom : tool_calls
    type : string

étapes :
  - nom : store_request
    type : elasticsearch.create
    avec :
      index : distributed-tool-requests
      id : "{{inputs.runner_id}}_{{ execution.id }}"
      document :
        request_id : "{{ execution.id }}"
        runner_id : "{{inputs.runner_id}}"
        tool_call : "{{inputs.tool_calls}}"
        status : "unhandled"

  - nom : output_result
    type : console
    avec :
      message : « Outil appelé, avec l’identifiant d’exécution : {{ execution.id }}. Utilisez cet identifiant pour consulter les résultats. »<p>Ainsi, au lieu de compter sur l’écriture de la requête d’appel d’outil dans la conversation, les runners peuvent simplement interroger l’index Elasticsearch distributed-tool-requests pour de nouvelles requêtes d’outils externes et faire un rapport des résultats dans un autre index Elasticsearch avec l’execution.id fourni.</p><p>Cela élimine les deux principaux problèmes mentionnés ci-dessus :</p><ol><li><p>L’historique de la conversation n’est plus encombré par les données de transfert des appels d’outils externes.</p></li><li><p>Comme les runners interrogent l’index Elasticsearch au lieu de l’historique de conversation, ils ne sont plus bloqués par l’achèvement du cycle d’échange pour que les requêtes d’outils externes deviennent visibles.</p></li></ol><p>L’intérêt principal de ce deuxième point est que l’exécution des requêtes vers les outils externes débute pendant que l’agent « réfléchit », sans attendre que le tour de parole soit terminé. Cela nous permet d’instruire le LLM, via le prompt système, d’interroger les résultats de l’outil externe jusqu’à ce qu’ils soient disponibles, éliminant ainsi le besoin d’un message de relance. Dans l’ensemble, cette approche fluidifie l’interaction : le LLM est désormais capable de gérer simultanément plusieurs appels d’outils externes lors d’une seule itération. Cela lui permet de traiter des requêtes utilisateur complexes de manière groupée, plutôt que de fragmenter le processus.</p><h2><strong>Mise en place</strong></h2><p>Pour rapprocher le LLM et la baie de serveurs, nous avons développé une architecture spécifique en exploitant les fonctionnalités des outils d’Agent Builder :</p><ol><li><p><strong>Les runners de l’infrastructure augmentée :</strong> Nous avons déployé des runners légers à l’intérieur des environnements cibles (serveurs, clusters Kubernetes, comptes cloud). Ces runners sont connectés directement à Elastic, en utilisant des endpoints sécurisés et des secrets accessibles uniquement à chacun des runners.</p></li><li><p><strong>Récupération ES|QL :</strong> Le copilote utilise <strong>ES|QL</strong> d’Elastic pour effectuer des recherches hybrides. Il ne se contente pas de rechercher des connaissances, il recherche des <em>capacités</em>. Il interroge les exécuteurs connectés pour voir quels outils sont disponibles (par exemple, list_ec2_instances, install_helm_chart).</p></li><li><p><strong>Exécution du workflow :</strong> Une fois que l’agent a décidé d’un plan d’action, il crée un workflow structuré.</p></li><li><p><strong>Boucle de rétroaction :</strong> Les runners exécutent la commande localement et rapportent les résultats dans Elasticsearch. Le copilote lit le résultat de l’index et décide de l’étape suivante.</p></li></ol><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt9726199693a10c5c/6a17070ae8fbced43a39fb9a/76be256da722c1965971fc506502768bd890f0c4-1290x1076.png" alt="Architecture using Agent Builder’s tool capabilities with Augmented Infrastructure" /><h2><strong>Démonstration : transformer un incident critique en levier d’observabilité</strong></h2><p>Dans la vidéo, nous avons présenté deux scénarios distincts démontrant la puissance de cette architecture.</p><h3><strong>Scénario 1 : DevOps à la rescousse</strong></h3><p>Le point de départ est un incident critique : un utilisateur confronté à une perte de 5 millions de dollars due à un défaut de visibilité dans son cluster Kubernetes.</p><ul><li><p><strong>La demande :</strong> « Comment m’assurer que cela ne se reproduise plus ? »</p></li><li><p><strong>Action :</strong> L’agent ne s’est pas contenté de fournir un tutoriel. Il a identifié le cluster, créé les espaces de nom nécessaires, généré des secrets Kubernetes, installé l’opérateur OpenTelemetry et a immédiatement fourni un lien vers un tableau de bord APM en direct.</p></li><li><p><strong>Le résultat :</strong> Une observabilité complète de Kubernetes et des informations sur les applications sans que l’utilisateur n’écrive une seule ligne de YAML.</p></li></ul><h3><strong>Scénario 2 : Transfert de Security</strong></h3><p>En sécurité des infrastructures, un principe de base prévaut : l’impossibilité de protéger ce qui échappe à notre visibilité. En pleine intervention de secours DevOps, l’agent identifie une occasion d’optimiser la sécurité globale de l’infrastructure.</p><p>En s’appuyant sur une alerte générée lors d’une analyse Elastic Observability, nous illustrons la capacité d’un analyste sécurité à interagir en langage naturel avec son infrastructure. L’objectif est double : recenser précisément les ressources cloud existantes et mettre en œuvre les solutions de protection indispensables.</p><ul><li><p><strong>Découverte :</strong> Le copilote a énuméré les ressources AWS pour le spécialiste de la sécurité et a identifié une lacune critique : une instance Amazon Elastic Compute Cloud (EC2) et un cluster Amazon Elastic Kubernetes Service (EKS) avec des points de terminaison publics dépourvus de protection des points de terminaison.</p></li><li><p><strong>Remédiation :</strong> Avec une simple approbation, le copilote a déployé <strong>Elastic Security</strong> <strong>détection et réponse étendues (XDR) et détection et réponse cloud (CDR)</strong> sur les ressources vulnérables, assurant la sécurité de l’environnement en temps réel.</p></li><li><p><strong>Le résultat :</strong> Protection des ressources AWS déployées avec une sécurité totale à l’exécution.</p></li></ul><h2><strong>Perspectives : Vers une infrastructure intégralement augmentée</strong></h2><p>Ce projet démontre la capacité d’Elastic Agent Builder à agir comme le centre de pilotage de vos opérations distribuées. Notre champ d’action dépasse désormais le cadre strict de l’infrastructure. Les capacités de notre technologie de runner s’étendent à :</p><ul><li><p><strong>Synthetics augmenté :</strong> Diagnostiquer les erreurs TLS chez les runners du monde entier.</p></li><li><p><strong>Développement augmenté :</strong> Création de requêtes d’extraction et implémentation de CAPTCHA sur les services frontend.</p></li><li><p><strong>Opérations augmentées :</strong> reconfiguration automatique des résolveurs DNS en cas de panne.</p></li></ul><h2><strong>Essayez par vous-même</strong></h2><p>Nous pensons que l’avenir de l’IA ne se limite pas à l’assistance par chat, mais aussi à une <strong>infrastructure augmentée</strong>. Il s’agit d’avoir un partenaire qui peut déployer, réparer, observer et protéger à vos côtés.</p><p>Consultez le code et essayez-le par vous-même avec des runners distribués (<a href="https://github.com/strawgate/augmented-infrastructure">GitHub</a>) et Elastic Agent Builder sur <a href="https://cloud.elastic.co/">Elastic Cloud Serverless</a> dès aujourd'hui !</p><ul><li><p>Créez un projet sans serveur sur Elastic Cloud.</p></li><li><p>Déployez le code vers un runner.</p></li><li><p>Configurez le runner.</p></li><li><p>Configurez votre fichier mcp.json.</p></li><li><p>Démarrez l’agent, qui créera automatiquement votre agent et ses outils.</p></li><li><p>Dialoguez avec un agent capable de raisonner, de planifier et d’exécuter des actions sur vos runners distribués !</p></li></ul><p><strong>L’équipe : </strong><em>Alex, Bill, Gil, Graham et Norrie</em></p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/agent-builder-augmented-infrastructure</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/agent-builder-augmented-infrastructure</guid>
    <category><![CDATA[IA agentique]]></category>
    <category><![CDATA[Outils d'IA ]]></category>
    <dc:creator><![CDATA[Alexander Wert,Bill Easton,Gil Raphaelli,Graham Hudgins,Norrie Taylor]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt6de9245ad57ccc00/6a17070cdc55deaa39e00d48/e08daf78f328e826f39d06329f6a5487f75d178d-1272x700.png" length="0" type="image/png"/>
    <pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate>
  </item>
  </channel>
</rss>