Electrosens R&D
Electrosens LLM Tools · 16 October 2026

Serverless Agents Runtime : quand Azure Functions devient le socle d’exécution des agents LLM

Il y a les annonces qui font du bruit, et celles qui changent silencieusement la donne. Quand Microsoft a dévoilé son Serverless Agents Runtime à Build 2026, la nouvelle est passée presque inaperçue au milieu des keynote spectaculaires. Pourtant, cette couche d’exécution pensée spécifiquement pour les agents LLM pourrait bien être la réponse la plus concrète à un problème que des milliers d’équipes connaissent par cœur : comment passer d’un agent qui fonctionne en démo à un agent qui tient en production. Et depuis, la documentation officielle et les retours terrain ont commencé à combler les zones d’ombre — de quoi réévaluer sérieusement le dossier.

L’agent en production : le chaînon manquant enfin adressé ?

Rappelons le contexte. En 2026, les agents IA sont partout dans les slides, mais beaucoup plus rarement dans les systèmes de production. Le chiffre circule comme une litanie : 88 % des agents IA échouent en production (source : base de données du magazine, 2026). Les causes sont connues : latence de cold start, gestion d’état fragile, timeouts d’appels d’outils, observabilité quasi inexistante. Les frameworks d’agents — LangGraph, CrewAI, AutoGen, Semantic Kernel — ont apporté des abstractions élégantes pour construire des boucles d’orchestration, mais ils laissent chaque équipe face aux mêmes questions opérationnelles : où déployer ? Comment scaler ? Comment tracer ? Comment garantir qu’un agent qui appelle trois outils et un LLM ne plante pas au milieu ?

C’est exactement ce vide que Microsoft vise avec le Serverless Agents Runtime pour Azure Functions, annoncé en public preview à Build 2026 (article InfoQ daté de juin 2026, et documentation officielle Microsoft Learn). L’idée est radicale dans sa simplicité : et si l’infrastructure serverless, déjà rodée pour les fonctions, devenait le socle d’exécution des agents ? Plus besoin de monter soi-même un orchestrateur, de gérer des files de messages pour les retries, ou de bricoler un état persistant entre les appels LLM. Le runtime promet de prendre tout cela en charge, avec le scale-to-zero et la facturation à la seconde de Flex Consumption.

Mais avant de crier au sauveur, posons les questions qui fâchent. Qu’est-ce que ce runtime fait vraiment ? Sur quelle architecture repose-t-il ? Que sait-on de ses performances réelles ? Et surtout : est-ce une alternative crédible aux frameworks existants, ou un énième service Azure qui va vous enfermer dans un écosystème propriétaire ? C’est ce que nous allons disséquer, avec les informations disponibles à ce jour — et en assumant les zones d’ombre qui subsistent.

Fini les frameworks ? Le modèle .agent.md expliqué

La première surprise du Serverless Agents Runtime, c’est son modèle de programmation. Oubliez les classes Python, les graphes d’états TypeScript, les décorateurs et les configurations YAML. Ici, un agent se définit dans un fichier .agent.md — un simple fichier Markdown. C’est le « markdown-first programming model » que Microsoft présente comme la pièce maîtresse de son approche, et que la documentation officielle détaille désormais clairement.

Source : infoq.com

Concrètement, un fichier .agent.md déclare tout ce dont l’agent a besoin : ses instructions (le fameux « system prompt »), les outils auxquels il a accès, les connexions à des services externes, et les déclencheurs qui le lancent. C’est un peu comme si vous écriviez la fiche de poste de votre agent dans un document que tout le monde peut lire — et que ce document était l’agent. La spécification de front matter est documentée séparément, avec un fichier agents.config.yaml qui complète la configuration.

Cette approche a des implications profondes. D’abord, elle change la nature de la collaboration. Un .agent.md est lisible par un développeur, mais aussi par un ops, un data scientist, voire un chef de produit. La frontière entre « code » et « documentation » s’efface : le fichier qui décrit le comportement de l’agent est le code qui l’exécute. Pour les équipes qui ont souffert de la dérive entre la spec et l’implémentation, c’est un vrai changement de paradigme.

Ensuite, elle simplifie radicalement la maintenabilité. Là où un framework comme LangGraph vous oblige à penser en nœuds et en arêtes, avec un graphe d’état explicite, le .agent.md repose sur une boucle d’inférence classique : le LLM reçoit ses instructions, appelle des outils, observe les résultats, et itère. Le runtime s’occupe de l’orchestration. Vous n’avez plus à écrire la boucle vous-même — et c’est précisément là que se cachent la plupart des bugs en production.

Bien sûr, cette simplicité a un revers. Un fichier Markdown ne permet pas d’exprimer des logiques conditionnelles complexes, des branchements multiples, ou des états intermédiaires sophistiqués. Pour les agents vraiment complexes, avec des sous-agents, des boucles de validation, ou des décisions de routage fines, le .agent.md risque de montrer ses limites. Mais la documentation officielle apporte une réponse partielle : le runtime permet d’injecter un agent Markdown dans un handler de fonction classique via le décorateur @app.hosted_skill. Autrement dit, vous pouvez combiner la simplicité déclarative du Markdown avec du code Python classique pour les cas qui l’exigent. C’est une soupape importante, qui lève en partie le doute sur les limites du modèle.

Sous le capot : exécution, état et reprise sur erreur

Passons maintenant à ce qui se passe réellement quand un agent est déclenché. Le runtime s’appuie sur l’infrastructure existante d’Azure Functions, mais avec une couche supplémentaire dédiée aux agents. Les triggers sont un point fort : n’importe quel déclencheur Azure Functions peut lancer un agent — HTTP, Timer, Queue, Blob, Event Hubs, Service Bus, Cosmos DB — et Microsoft a ajouté de nouveaux triggers connectés pour Teams, Outlook, calendrier et SharePoint (source : blog officiel Microsoft relayé par InfoQ). Concrètement, un agent peut être réveillé par un message Teams, un événement Service Bus, ou une entrée dans une base de données, sans que vous ayez à écrire la moindre ligne de code d’intégration.

C’est ici que la documentation récente apporte des réponses là où nous n’avions que des questions. Le runtime gère nativement la session management : il persiste les conversations multi-tours dans Azure Blob Storage, ce qui répond directement au problème de la continuité du contexte LLM entre les invocations. Le scale-to-zero est conservé, mais l’état conversationnel survit aux redémarrages. C’est un point crucial : un agent qui reprend une conversation après un cold start ne repart pas de zéro.

Plus intéressant encore, le runtime propose un mode « durable workflows » (encore expérimental) : un simple flag dans le front matter active un modèle d’exécution en DAG d’outils qui « fan out », attend, et survit aux redémarrages — le tout sans brûler de tokens sur les résultats intermédiaires. C’est une réponse directe à l’une des plaies les plus coûteuses des agents en production : la facture de tokens qui explose à cause des résultats intermédiaires renvoyés au LLM à chaque étape. Un guide pratique sur les workflows agentiques insiste d’ailleurs sur ce point : la maîtrise des allers-retours inutiles est ce qui sépare un agent rentable d’un agent qui ruine son budget.

Reste la question du moteur interne : s’appuie-t-il sur Durable Functions, l’extension d’orchestration existante d’Azure Functions, pour le checkpointing et le replay ? La documentation décrit un « DAG-of-tools execution model » qui « survit aux restarts », ce qui suggère une mécanique de checkpointing, mais ne précise pas explicitement si elle repose sur Durable Functions ou sur une machine à états custom. Le doute persiste, mais l’existence d’un mode durable documenté — même expérimental — est déjà un signal rassurant.

Ce que l’on sait avec certitude, c’est que le modèle opérationnel repose sur Flex Consumption : scale-to-zero, facturation à la seconde, Managed Identity pour l’authentification, et Application Insights pour les traces. Sur l’observabilité, le runtime ajoute une brique notable : des évaluations natives Vally (en preview), qui permettent de tester le comportement de l’agent sur la même surface de chat, en local via Core Tools ou en staging. C’est une réponse partielle aux équipes habituées à LangSmith : le runtime n’offre pas (encore) une observabilité LLM aussi riche, mais il intègre une évaluation continue directement dans le cycle de développement. Un guide LLMOps 2026 recommande justement de mettre en place une évaluation continue et une détection de dérive dès les premiers jours de production — le runtime semble avoir intégré cette recommandation dans son design.

Un point rassurant sur les performances : l’équipe Azure Functions a répondu à InfoQ sur la question du cold start. Selon eux, « le runtime agents n’ajoute aucun cold start supplémentaire par rapport à un déclencheur HTTP classique sur Flex Consumption. L’infrastructure n’est pas le goulot d’étranglement, c’est le LLM. » Une déclaration à prendre avec précaution, mais qui suggère que l’infrastructure serverless n’est pas le maillon faible — la latence vient des modèles et de la complexité des prompts, pas de la plateforme. Les chiffres du magazine le confirment indirectement : un aller-retour de tool calling coûte environ 800 ms en 2026, et un modèle comme Claude Sonnet 4.5 affiche une latence de 1000 à 1500 ms. Le LLM, pas l’infra, est bien le facteur limitant.

MCP, connecteurs et code sandboxé : l’arsenal des agents

Un agent sans outils est un LLM qui cause tout seul. Le Serverless Agents Runtime l’a bien compris, et c’est peut-être là que son offre est la plus riche. Les agents ont accès à trois catégories d’outils :

Source : infoworld.com
  1. Les serveurs d’outils MCP (Model Context Protocol). C’est un signal fort : Microsoft embrasse le standard ouvert porté par l’Agentic AI Foundation (créée en décembre 2025 avec Block et OpenAI, soutenue par Google, Microsoft, AWS et Cloudflare). Le MCP a connu une évolution majeure en 2026, avec la spec MCP 2026-07-28 qui le fait évoluer vers un protocole stateless, avec OAuth 2.1 et la dépréciation de SSE — un changement structurel qui le rend plus adapté à l’infrastructure serverless. En s’appuyant sur MCP, le runtime Azure s’inscrit dans un écosystème interopérable, et non dans un silo propriétaire. C’est une excellente nouvelle pour les équipes qui ont déjà investi dans des serveurs MCP. Le protocole s’est d’ailleurs imposé comme un standard de facto : 97 millions de téléchargements et plus de 1 200 serveurs recensés en 2026, sous gouvernance Linux Foundation. La documentation officielle précise que le runtime accepte des serveurs MCP HTTP distants, y compris ceux adossés aux connecteurs Microsoft.

  2. Le catalogue de plus de 1 400 connecteurs managés. C’est l’argument massue de Microsoft. Là où un framework open source vous oblige à écrire vos propres intégrations pour Salesforce, SAP, ou Microsoft 365, le runtime donne accès à un catalogue déjà éprouvé. Les connecteurs couvrent Teams, Outlook, SharePoint, Dynamics, SQL, Salesforce, SAP, et des centaines d’autres services. Pour une entreprise qui vit dans l’écosystème Microsoft, c’est un gain de temps considérable. À noter que cette approche « connecteur-backed MCP » transforme chaque connecteur en serveur MCP utilisable par l’agent — une convergence élégante entre l’ancien monde des connecteurs et le nouveau standard.

  3. Le code sandboxé et l’exécution navigateur via Azure Container Apps dynamic sessions. C’est le plus innovant. Un agent peut non seulement appeler des APIs, mais aussi exécuter du code dans un environnement isolé, ou piloter un navigateur headless pour interagir avec des sites web. La documentation officielle confirme aussi une fonctionnalité précieuse : construire des outils custom en Python pur — il suffit de déposer un fichier .py dans un dossier tools/, de décorer les fonctions avec @tool, et d’importer n’importe quel package. Imaginez un agent qui doit remplir un formulaire sur un portail fournisseur, ou scraper une page qui n’a pas d’API : avec l’exécution navigateur, c’est possible sans infrastructure supplémentaire. Cloudflare explore d’ailleurs une voie similaire avec Kitesurf, son navigateur pour agents IA, et Apple a intégré un serveur MCP natif dans Safari 27 avec 17 outils d’automatisation — ce qui confirme que cette approche est devenue stratégique à tous les niveaux de la stack.

Prenons un exemple concret. Un agent de support client, déclenché par un email Outlook, peut : lire l’email (connecteur Outlook), chercher la commande du client dans Dynamics (connecteur Dynamics), vérifier le statut d’expédition via une API logistique (outil MCP), puis rédiger une réponse et la proposer à un humain pour validation (connecteur Teams). Tout cela sans écrire une seule intégration custom. C’est le genre de scénario qui faisait rêver les équipes il y a deux ans, et qui devient ici une simple affaire de configuration.

Un dernier point, souvent négligé : le runtime peut exposer automatiquement votre agent comme API de chat HTTP ou comme serveur MCP, sans code supplémentaire. Autrement dit, l’agent que vous construisez peut lui-même devenir un outil pour d’autres agents. C’est la brique qui manquait pour construire des architectures multi-agents où chaque agent est réutilisable.

Comparaison : runtime agents vs Durable Functions vs frameworks maison

Mettons les choses en perspective. Le Serverless Agents Runtime n’est pas le premier à proposer une exécution durable pour les agents. Voici comment il se positionne face aux alternatives, avec les informations désormais documentées.

Critère Serverless Agents Runtime Durable Functions (orchestration classique) Frameworks d’agents (LangGraph, CrewAI, Semantic Kernel)
Modèle de programmation Fichier .agent.md (markdown-first) + outils Python @tool Code (C#, Python, JS) avec fonctions d’orchestration Code (Python/TS) avec graphes d’état ou workflows
Boucle LLM + outils Intégrée nativement À construire manuellement Intégrée (mais à déployer soi-même)
Déploiement Azure Functions (Flex Consumption) Azure Functions N’importe où (VM, conteneur, serverless)
Scale-to-zero Oui, natif Oui, natif Non, dépend de l’hébergement
Gestion d’état / session Native (Blob Storage, conversations multi-tours) À construire (checkpointing manuel) À construire ou via intégrations
Exécution durable Mode DAG-of-tools (expérimental) Oui, cœur du produit Variable selon le framework
Observabilité Application Insights + évaluations Vally (preview) Application Insights LangSmith, intégrations tierces
Écosystème d’outils 1 400+ connecteurs + MCP + code sandboxé À construire MCP + outils custom
Exposition en API/MCP Automatique Manuelle Manuelle
Verrouillage Azure (mais MCP ouvert) Azure Aucun (open source)

Le tableau met en évidence la proposition de valeur : le runtime agents se situe à mi-chemin entre la flexibilité brute de Durable Functions et la portabilité des frameworks open source. Il gagne sur l’intégration (connecteurs, triggers, exposition automatique) et sur la gestion d’état native, mais perd sur la portabilité et sur la maturité de l’observabilité LLM. Pour une équipe déjà sur Azure, l’arbitrage penche clairement vers le runtime ; pour une équipe multi-cloud ou attachée à l’open source, les frameworks restent pertinents.

Un point de vigilance, cependant : le statut de Semantic Kernel, le SDK historique de Microsoft pour les applications LLM, est passé en mode maintenance en 2026. Cela confirme que Microsoft réoriente ses investissements vers le Microsoft Agent Framework (MAF), qui alimente précisément le Serverless Agents Runtime. Autrement dit, le runtime n’est pas un projet isolé : c’est la nouvelle direction stratégique de Microsoft pour les agents.

Mâcher le travail du LLM : les leçons des autres articles du magazine

Le runtime résout l’infrastructure, mais il ne résout pas tout. Les autres articles de ce numéro convergent vers une vérité désagréable : un agent mal nourri reste un agent cher et fragile, quelle que soit la plateforme.

Source : figma.com

Premier enseignement, tiré de la méthode GitHub : en mai 2026, GitHub a réduit jusqu’à 62 % les coûts en tokens de ses workflows CI agentiques en supprimant des outils MCP inutilisés, en remplaçant certains appels MCP par la ligne de commande gh, et en réécrivant les prompts système. Le runtime Azure ne vous protège pas de ce gaspillage : si vous exposez 15 serveurs MCP à votre agent, il en sollicitera une demi-douzaine par tâche, souvent inutilement. La parade est organisationnelle autant que technique : auditer régulièrement les outils réellement utilisés, élaguer les connexions MCP, et instrumenter un tableau de bord de consommation (token-usage.jsonl, « Effective Tokens »).

Deuxième enseignement, confirmé par l’étude Coinbase sur Code Connect : en fournissant un meilleur contexte à l’agent, on réduit à la fois les coûts et le temps d’exécution. L’équipe Coinbase Design System a mesuré une réduction de 22,5 % des coûts et d’environ 22 % du temps d’exécution en intégrant Code Connect à ses workflows agentiques. La leçon est transposable : la qualité du contexte injecté (schémas d’outils clairs, instructions précises, exemples) vaut mieux que la puissance brute du modèle.

Troisième enseignement, chiffré : un agent IA non optimisé coûte environ 200 $ par mois, contre 29 à 50 $ par mois pour un agent correctement architecturé (source : base de données du magazine, 2026). L’écart est vertigineux, et il ne dépend pas de la plateforme d’exécution — il dépend de la discipline d’ingénierie. Le runtime Azure vous donne les leviers (contrôle des limites de sortie du modèle, compaction native de la conversation par harness, mode DAG sans tokens intermédiaires), mais c’est à vous de les actionner.

Quatrième enseignement, plus sombre : un agent de support client non surveillé dépasse les 30 % d’échec après trois semaines d’exploitation. La surveillance n’est pas optionnelle. Le runtime fournit les traces (Application Insights) et les évaluations (Vally), mais il faut les brancher, les lire, et agir. Un article sur le traçage des appels d’outils rappelle d’ailleurs qu’un simple « appel d’outil, 200 » n’explique rien : il faut journaliser les paramètres, les résultats, les décisions intermédiaires, et transformer les traces échouées en tests de régression.

Ce qu’il faut retenir (et ce qui reste à vérifier)

Le Serverless Agents Runtime n’est pas une baguette magique, mais c’est une réponse sérieuse à un problème réel. Ses forces sont claires : un modèle de programmation lisible (.agent.md), une gestion d’état native (Blob Storage, conversations multi-tours), un mode d’exécution durable expérimental qui économise les tokens, un arsenal d’outils considérable (1 400+ connecteurs, MCP, code sandboxé, navigateur), et une exposition automatique en API/MCP. Pour une équipe déjà dans l’écosystème Azure, c’est probablement l’option la plus rapide pour passer de la démo à la production.

Ses limites le sont tout autant : un verrouillage Azure (même si MCP ouvre la porte), une observabilité LLM moins riche que LangSmith, un mode durable encore expérimental, et une documentation qui reste muette sur le moteur interne exact (Durable Functions ou machine à états custom ?). Et surtout, le runtime ne remplace pas la discipline : sans audit des outils, sans optimisation des prompts, sans surveillance, votre agent coûtera 200 $ par mois et échouera dans 30 % des cas — exactement comme sur n’importe quelle autre plateforme.

La vraie question n’est donc pas « faut-il adopter le Serverless Agents Runtime ? », mais « êtes-vous prêt à faire le travail d’ingénierie que la plateforme ne fera pas à votre place ? ». Le runtime vous mâche l’infrastructure. Le reste — le contexte, les outils, les prompts, la surveillance — reste votre affaire. Et c’est précisément là que se joue la différence entre un agent qui tient en production et un agent qui rejoint les 88 %.

Sources

Article recherché et rédigé automatiquement · Magazine Electrosens
📬 Restez à la pointe
Recevez chaque semaine les nouveautés de ce magazine par email.
💬 Une remarque, une correction ?
Aidez-nous à améliorer cet article. Nous prenons en compte vos retours.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *