Flux de travail Microsoft Agent Framework

Vue d’ensemble

Les flux de travail Microsoft Agent Framework vous permettent de créer des systèmes d’automatisation intelligents qui mélangent en toute transparence des agents IA avec des processus métier. Avec son architecture sûre au typage et sa conception intuitive, vous pouvez orchestrer des flux de travail complexes sans vous laisser submerger par la complexité de l'infrastructure, ce qui vous permet de vous concentrer sur votre logique métier essentielle.

Comment un flux de travail est-il différent d’un agent ?

Bien qu’un agent et un flux de travail puissent impliquer plusieurs étapes pour atteindre un objectif, ils servent différents objectifs et fonctionnent à différents niveaux d’abstraction :

  • Agent : un agent est généralement piloté par un modèle de langage volumineux (LLM) et il a accès à différents outils pour l’aider à accomplir des tâches. Les étapes prises par un agent sont dynamiques et déterminées par le LLM en fonction du contexte de la conversation et des outils disponibles.

    Agent IA

  • Flux de travail : un flux de travail, d’autre part, est une séquence prédéfinie d’opérations qui peut inclure des agents IA en tant que composants. Les flux de travail sont conçus pour gérer des processus métier complexes qui peuvent impliquer plusieurs agents, interactions humaines et intégrations avec des systèmes externes. Le flux d’un flux de travail est explicitement défini, ce qui permet un meilleur contrôle sur le chemin d’exécution.

    Vue d’ensemble des flux de travail

Principales fonctionnalités

  • 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 de contrôle flexible : l’architecture basée sur graph permet une modélisation intuitive des flux de travail complexes avec executors et edges. Le routage conditionnel, le traitement parallèle et les chemins d’exécution dynamiques sont tous pris en charge.
  • Intégration externe : modèles de requête/réponse intégrés pour une intégration transparente avec des API externes et des scénarios de boucles humaines.
  • Point de contrôle : Enregistrez les états de flux de travail via des points de contrôle, ce qui permet la récupération et la reprise des processus longue durée côté serveur.
  • Orchestration multi-agent : modèles intégrés pour coordonner plusieurs agents IA, notamment séquentiels, simultanés, main-off et magentic.

API de flux de travail

Microsoft Agent Framework offre deux API complémentaires pour la création de flux de travail :

  • API de flux de travail fonctionnel(Python, expérimental) : écrivez des workflows en fonctions simplesasync à l’aide des décorateurs @workflow et @step. Utilisez le flux de contrôle Python natif (if/else, boucles, asyncio.gather) au lieu des concepts de graphe. Un bon point de départ avant d’adopter l’API de graphe.
  • Générateur de flux de travail & Exécution : créez des flux de travail sous forme de graphiques dirigés à l’aide WorkflowBuilderde , executorset edges. Idéal pour les topologies fixes avec le routage des messages validés par type et l’exécution parallèle basée sur un superstep.

Les deux API sont entièrement prises en charge et produisent les mêmes résultats observables (événements, streaming, HITL, points de contrôle). Choisissez en fonction de ce qui correspond le mieux à votre flux de travail :

Fonctionnel (@workflow) Graphique (WorkflowBuilder)
Flux de contrôle Python natif (if, boucles, asyncio.gather) Arêtes et conditions
Idéal pour Pipelines séquentiels, boucles personnalisées, parallélisme ad hoc Graphiques fixes, fan-out/fan-in, routage des messages validés par type
Parallélisme asyncio.gather Groupes d'arêtes parallèles, exécution de superétapes
Observabilité Événements par étape avec @step Événements par exécuteur
HITL ctx.request_info() RequestInfoExecutor
Point de contrôle @step Mise en cache par résultat Points de contrôle à la limite du superstep
Habillage de l’agent .as_agent() sur FunctionalWorkflow .as_agent() sur Workflow

Commencez par @workflow lorsque vous souhaitez exprimer votre logique en Python brut. Passez vers WorkflowBuilder lorsque vous avez besoin d’un routage de messages validés strictement par type ou d'un modèle d’exécution graphique.

Concepts fondamentaux

  • Exécuteurs : représentent des unités de traitement individuelles au sein d’un flux de travail. Il peut s’agir d’agents IA ou de composants logiques personnalisés. Ils reçoivent des messages d’entrée, effectuent des tâches spécifiques et produisent des messages de sortie.
  • Edges : définissez les connexions entre exécuteurs, déterminant le flux de messages. Ils peuvent inclure des conditions pour contrôler le routage en fonction du contenu du message.
  • Événements : fournissez une observabilité dans l’exécution du flux de travail, notamment les événements de cycle de vie, les événements d’exécuteur et les événements personnalisés.
  • Générateur de flux de travail & Exécution : lie les exécuteurs et les arêtes à un graphique dirigé, gère l’exécution via des supersteps et prend en charge les modes de diffusion en continu et de non-diffusion en continu.

Getting Started

Commencez votre parcours avec les flux de travail Microsoft Agent Framework en explorant les exemples de prise en main :

Étapes suivantes