Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Microsoft Agent Framework est un kit de développement open source pour la création d’agents IA et de workflows multi-agents pour .NET et Python. Il réunit et étend les idées des projets Semantic Kernel et AutoGen , en combinant leurs forces tout en ajoutant de nouvelles fonctionnalités. Construit par les mêmes équipes, il s’agit de la base unifiée pour la création d’agents d’IA à l’avenir.
Agent Framework offre deux catégories principales de fonctionnalités :
- Agents IA : agents individuels qui utilisent des machines virtuelles LL pour traiter les entrées utilisateur, les outils d’appel et les serveurs MCP pour effectuer des actions et générer des réponses. Les agents prennent en charge les fournisseurs de modèles, notamment Azure OpenAI, OpenAI et Azure AI.
- Flux de travail : flux de travail basés sur des graphiques qui connectent plusieurs agents et fonctions pour effectuer des tâches complexes et multi-étapes. Les flux de travail prennent en charge le routage, l’imbrication, l’imbrication, le point de contrôle et les modèles de requête/réponse pour les scénarios de boucles humaines.
L’infrastructure fournit également des blocs de construction fondamentaux, notamment les clients de modèle (saisie semi-automatique et réponses de conversation), un thread d’agent pour la gestion de l’état, des fournisseurs de contexte pour la mémoire de l’agent, l’intergiciel pour intercepter les actions de l’agent et les clients MCP pour l’intégration des outils. Ensemble, ces composants vous offrent la flexibilité et la puissance nécessaires pour créer des applications IA interactives, robustes et sécurisées.
Pourquoi une autre infrastructure d’agent ?
Le noyau sémantique et AutoGen ont lancé les concepts des agents IA et de l’orchestration multi-agent. Agent Framework est le successeur direct, créé par les mêmes équipes. Il combine les abstractions simples de AutoGen pour les modèles à agent unique et multi-agent avec les fonctionnalités de niveau entreprise du noyau sémantique, telles que la gestion de l’état basé sur des threads, la sécurité des types, les filtres, la télémétrie et la prise en charge étendue du modèle et de l’incorporation. Au-delà de la fusion des deux, Agent Framework introduit des flux de travail qui donnent aux développeurs un contrôle explicite sur les chemins d’exécution multi-agent, ainsi qu’un système de gestion d’état robuste pour les scénarios à long terme et en boucle humaine. En bref, Agent Framework est la prochaine génération du noyau sémantique et de l’autogen.
Pour en savoir plus sur la migration à partir d’un noyau sémantique ou d’AutoGen, consultez le Guide de migration à partir du noyau sémantique et du guide de migration à partir d’AutoGen.
Le noyau sémantique et AutoGen ont considérablement bénéficié de la communauté open source, et la même chose est attendue pour Agent Framework. Microsoft Agent Framework accueille les contributions et continuera à s’améliorer avec de nouvelles fonctionnalités.
Note
Microsoft Agent Framework est actuellement en préversion publique. Envoyez des commentaires ou des problèmes sur le dépôt GitHub.
Important
Si vous utilisez Microsoft Agent Framework pour créer des applications qui fonctionnent avec des serveurs ou des agents tiers, vous le faites à votre propre risque. Nous vous recommandons d’examiner toutes les données partagées avec des serveurs ou agents tiers et de connaître les pratiques tierces pour la rétention et l’emplacement des données. Il est de votre responsabilité de gérer si vos données circuleront en dehors des limites géographiques et de conformité Azure de votre organisation et des implications connexes.
Installation
Python:
pip install agent-framework --pre
.FILET:
dotnet add package Microsoft.Agents.AI
Agents d’IA
Qu’est-ce qu’un agent IA ?
Un agent IA utilise un LLM pour traiter les entrées utilisateur, prendre des décisions, appeler des outils et des serveurs MCP pour effectuer des actions et générer des réponses. Le diagramme suivant illustre les composants principaux et leurs interactions dans un agent IA :
Un agent IA peut également être augmenté avec des composants supplémentaires tels qu’un thread, un fournisseur de contexte et un intergiciel pour améliorer ses fonctionnalités.
Quand utiliser un agent IA ?
Les agents IA conviennent aux applications qui nécessitent une prise de décision autonome, une planification ad hoc, une exploration d’essai et d’erreur et des interactions utilisateur basées sur les conversations. Ils sont particulièrement utiles pour les scénarios où la tâche d’entrée n’est pas structurée et ne peut pas être facilement définie à l’avance.
Voici quelques scénarios courants dans lesquels les agents IA excellent :
- Support client : les agents IA peuvent gérer des requêtes multimodèles (texte, voix, images) de clients, utiliser des outils pour rechercher des informations et fournir des réponses en langage naturel.
- Éducation et tutorat : les agents ia peuvent tirer parti de bases de connaissances externes pour fournir un tutorat personnalisé et répondre aux questions des étudiants.
- Génération et débogage du code : pour les développeurs de logiciels, les agents IA peuvent vous aider à implémenter, passer en revue le code et le débogage à l’aide de différents outils et environnements de programmation.
- Aide à la recherche : pour les chercheurs et les analystes, les agents d’IA peuvent effectuer des recherches sur le web, synthétiser des documents et rassembler des informations provenant de plusieurs sources.
La clé est que les agents IA sont conçus pour fonctionner dans un paramètre dynamique et sous-spécifié, où la séquence exacte d’étapes pour répondre à une demande utilisateur n’est pas connue à l’avance et peut nécessiter une exploration et une collaboration étroite avec les utilisateurs.
Quand ne pas utiliser un agent IA ?
Les agents IA ne sont pas adaptés aux tâches hautement structurées et nécessitent une adhésion stricte aux règles prédéfinies. Si votre application prévoit un type spécifique d’entrée et dispose d’une séquence d’opérations bien définie à effectuer, l’utilisation d’agents IA peut introduire une incertitude, une latence et un coût inutiles.
Si vous pouvez écrire une fonction pour gérer la tâche, faites-le au lieu d’utiliser un agent IA. Vous pouvez utiliser l’IA pour vous aider à écrire cette fonction.
Un seul agent IA peut se battre avec des tâches complexes qui impliquent plusieurs étapes et points de décision. Ces tâches peuvent nécessiter un grand nombre d’outils (par exemple, plus de 20), qu’un seul agent ne peut pas gérer.
Dans ces cas, envisagez plutôt d’utiliser des flux de travail.
Workflows
Qu’est-ce qu’un flux de travail ?
Un flux de travail peut exprimer une séquence prédéfinie d’opérations qui peut inclure des agents IA en tant que composants tout en conservant la cohérence et la fiabilité. Les flux de travail sont conçus pour gérer des processus complexes et longs qui peuvent impliquer plusieurs agents, interactions humaines et intégrations avec des systèmes externes.
La séquence d’exécution d’un flux de travail peut être définie explicitement, ce qui permet un meilleur contrôle sur le chemin d’exécution. Le diagramme suivant illustre un exemple de flux de travail qui connecte deux agents IA et une fonction :
Les flux de travail peuvent également exprimer des séquences dynamiques à l’aide du routage conditionnel, de la prise de décision basée sur des modèles et de l’exécution simultanée. C’est ainsi que les modèles d’orchestration multi-agent sont implémentés . Les modèles d’orchestration fournissent des mécanismes permettant de coordonner plusieurs agents pour travailler sur des tâches complexes nécessitant plusieurs étapes et points de décision, en répondant aux limitations des agents uniques.
Quels problèmes les flux de travail résolvent-ils ?
Les flux de travail offrent un moyen structuré de gérer des processus complexes qui impliquent plusieurs étapes, points de décision et interactions avec différents systèmes ou agents. Les types de flux de travail de tâches sont conçus pour gérer souvent plusieurs agents IA.
Voici quelques-uns des principaux avantages des flux de travail Agent Framework :
- Modularité : les flux de travail peuvent être divisés en composants plus petits et réutilisables, ce qui facilite la gestion et la mise à jour des parties individuelles du processus.
- Intégration de l’agent : les flux de travail peuvent incorporer plusieurs agents IA en même temps que des composants non agents, ce qui permet une orchestration sophistiquée des tâches.
- Sécurité du type : la saisie forte garantit que les messages circulent correctement entre les composants, avec une validation complète qui empêche les erreurs d’exécution.
-
Flux flexible : l’architecture basée sur graph permet une modélisation intuitive des flux de travail complexes avec
executorsetedges. Le routage conditionnel, le traitement parallèle et les chemins d’exécution dynamiques sont tous pris en charge. - Intégration externe : les modèles de requête/réponse intégrés permettent une intégration transparente avec des API externes et prennent en charge des scénarios de boucles humaines.
- Point de contrôle : enregistrez les états du flux de travail via des points de contrôle, en activant la récupération et la reprise des processus de longue durée côté serveur.
- Orchestration multi-agent : modèles intégrés pour coordonner plusieurs agents d’IA, notamment séquentiels, simultanés, main-off et Magentic.
- Composabilité : les flux de travail peuvent être imbriqués ou combinés pour créer des processus plus complexes, ce qui permet une scalabilité et une adaptabilité.