Intelligence artificielle

D’un modèle conversationnel à un agent gouvernable : construire un Agent Harness en C#

Microsoft explique, au moyen d’une série de quatre sessions, comment transformer une application reposant sur IChatClient en un agent capable d’utiliser des outils, des fichiers, une mémoire et l’exécution de code, avec des contrôles de consentement, de surveillance, d’évaluation et de déploiement. La série souligne que l’exécution de l’agent dans un environnement de production exige l’isolation des autorisations et une gouvernance claire, et pas simplement l’ajout de nouvelles capacités.

2026-09-16
6 min de lecture
247 vues
certi.news Editorial Team
D’un modèle conversationnel à un agent gouvernable : construire un Agent Harness en C#

Microsoft propose un parcours pratique en quatre sessions pour construire un agent d’intelligence artificielle en C# avec Microsoft Agent Framework, depuis un simple appel enveloppant l’interface IChatClient jusqu’à un agent pouvant être surveillé, évalué, gouverné et déployé dans Microsoft Foundry. L’exemple utilise un assistant pédagogique consacré aux finances personnelles afin d’illustrer les différences entre la lecture de données, la modification de fichiers et l’exécution d’une action ayant un effet, comme une transaction boursière simulée.

Qu’est-ce qu’un Agent Harness ?

Le modèle de langage peut générer du texte, mais il ne fournit pas à lui seul la boucle opérationnelle nécessaire à l’agent. Cette boucle appelle les outils, examine leurs résultats, met à jour le plan, conserve la mémoire, gère la fenêtre de contexte, demande l’autorisation de l’utilisateur pour les actions sensibles, puis poursuit le travail jusqu’à l’accomplissement de la tâche. La source appelle cette couche enveloppante le harness, tandis que le concept de « claw » désigne un agent de type outil en ligne de commande construit au-dessus de cette couche.

Dans l’exemple, une configuration comprenant les instructions et les outils suffit pour démarrer un agent capable d’appeler automatiquement des fonctions, de conserver l’historique après les appels au modèle, de créer des listes de tâches, de compresser le contexte, d’utiliser une mémoire fondée sur les fichiers et d’effectuer des recherches sur le Web lorsque le service de modèle le permet, tout en demandant l’autorisation d’utiliser les outils et en envoyant les données de mesure via OpenTelemetry. Ces capacités restent remplaçables, désactivables ou extensibles au moyen de fournisseurs personnalisés.

Quatre étapes pour construire l’agent

La première session commence par la transformation d’un client conversationnel connecté à un modèle dans Microsoft Foundry en un agent doté d’un outil C# personnalisé permettant d’obtenir le cours indicatif d’une action. Lorsque l’utilisateur demande à l’agent le cours de MSFT, le modèle choisit l’outil, le harness l’appelle, puis renvoie le résultat au modèle afin de produire la réponse. Lorsqu’une tâche plus vaste est proposée, comme l’examen d’une liste de suivi et la suggestion de ce qui devrait être étudié ensuite, l’agent peut créer un plan et une liste de tâches sans que le développeur ait à construire un moteur de planification indépendant pour la démonstration.

La deuxième session se concentre sur l’utilisation sécurisée des données utilisateur. L’agent lit un fichier de portefeuille au format CSV uniquement depuis un répertoire de travail approuvé, tandis que les limites définies l’empêchent d’accéder à des chemins arbitraires du système de fichiers. La transaction boursière simulée est également encapsulée dans un outil nécessitant une autorisation, de sorte que le modèle puisse demander l’action, mais ne puisse pas l’exécuter directement. En revanche, les opérations en lecture seule peuvent être transmises automatiquement afin d’éviter de submerger l’utilisateur de demandes de confirmation inutiles.

La source présente également une politique d’autorisation avec délai d’expiration : cinq secondes par tentative et cinq tentatives au maximum, avec une nouvelle tentative en l’absence de saisie ou en cas de saisie non valide, une autorisation immédiate lorsque l’utilisateur saisit y et un refus lorsqu’il saisit n, puis un refus automatique après la dernière tentative. Elle examine aussi la différence entre une mémoire JSON locale détenue par l’application et Microsoft Foundry Memory, en soulignant que le fait que le modèle dise « Je l’ai enregistré » ne prouve ni que les données ont réellement été écrites ni qu’elles ont été conservées dans le périmètre approprié.

Lors de la troisième session, des compétences sont ajoutées afin d’encapsuler les connaissances spécialisées dans des fichiers qui ne sont chargés dans les instructions de base qu’en cas de besoin, ainsi qu’un accès restreint au shell, l’exécution de CodeAct pour lancer du code dans un environnement contrôlé et des agents en arrière-plan capables d’exécuter en parallèle des tâches de recherche indépendantes. La source précise que l’autorisation et les politiques ne remplacent pas l’isolation lors de l’exécution de commandes ou de code.

Qu’est-ce qui change concrètement dans un environnement de production ?

La quatrième session est consacrée à la surveillance, à la gouvernance, à l’évaluation et au déploiement. La surveillance comprend les traces OpenTelemetry, les appels aux outils et au modèle ainsi que la consommation de jetons, tandis que la gouvernance est associée aux politiques de Microsoft Purview. Des évaluations répétées sont également utilisées pour transformer l’impression de qualité d’une démonstration en un signal mesurable, et la possibilité de déployer l’agent hébergé dans Foundry est présentée, avec un même identifiant de définition partagé entre une application console, un point de terminaison hébergé et un environnement d’évaluation.

Le message le plus important est que la composabilité des capacités n’implique pas qu’il faille toutes les transférer en production. L’agent de développement peut avoir besoin de fichiers ou du shell, mais le conteneur hébergé partagé ne devrait pas hériter d’un accès local étendu simplement parce que ces autorisations étaient utiles pendant la construction. Déterminer ce qu’il est permis de lire, d’écrire, d’exécuter, de mémoriser ou de suivre reste une décision de conception relevant de l’organisation qui développe l’agent.

Pourquoi cette approche est-elle importante ?

La couche de harness réduit la nécessité de reconstruire la boucle des outils, de la planification, de la mémoire et des autorisations pour chaque projet, mais elle n’élimine pas la responsabilité de définir les limites. L’intérêt pratique de la série est de relier les capacités avancées aux contrôles correspondants : les fichiers à un répertoire approuvé, les actions sensibles à une autorisation, la mémoire à un résultat de stockage vérifiable, l’exécution de code à l’isolation et aux politiques, et le déploiement à la surveillance et à l’évaluation. Les exemples financiers restent pédagogiques : les cours et les transactions utilisés sont simulés et indicatifs, et ne constituent pas des conseils financiers.

Source de l’actualité
c
Auteur

certi.news Editorial Team

Dans la même catégorie

À lire également

Voir toutes les actualités