Flussi di lavoro di Microsoft Agent Framework

Informazioni generali

I flussi di lavoro di Microsoft Agent Framework consentono di creare sistemi di automazione intelligenti che combinano facilmente gli agenti di intelligenza artificiale con i processi aziendali. Grazie all'architettura type-safe e alla progettazione intuitiva, è possibile orchestrare flussi di lavoro complessi senza impantanarsi nella complessità dell'infrastruttura, consentendo di concentrarsi sulla logica aziendale principale.

In che modo un flusso di lavoro è diverso da un agente?

Mentre un agente e un flusso di lavoro possono coinvolgere più passaggi per raggiungere un obiettivo, servono scopi diversi e operano a diversi livelli di astrazione:

  • Agente: un agente è in genere guidato da un modello di linguaggio di grandi dimensioni (LLM) e ha accesso a vari strumenti per facilitare l'esecuzione delle attività. I passaggi intrapresi da un agente sono dinamici e determinati dall'LLM in base al contesto della conversazione e agli strumenti disponibili.

    Agente di intelligenza artificiale

  • Flusso di lavoro: un flusso di lavoro, d'altra parte, è una sequenza predefinita di operazioni che possono includere agenti di intelligenza artificiale come componenti. I flussi di lavoro sono progettati per gestire processi aziendali complessi che possono coinvolgere più agenti, interazioni umane e integrazioni con sistemi esterni. Il flusso di un flusso di lavoro viene definito in modo esplicito, consentendo un maggiore controllo sul percorso di esecuzione.

    Panoramica dei flussi di lavoro

Funzionalità principali

  • Sicurezza dei tipi: la digitazione avanzata garantisce che i messaggi vengano trasmessi correttamente tra i componenti, con convalida completa che impedisce errori di runtime.
  • Flusso di controllo flessibile: l'architettura basata su grafo consente la modellazione intuitiva di flussi di lavoro complessi con executors e edges. Il routing condizionale, l'elaborazione parallela e i percorsi di esecuzione dinamica sono tutti supportati.
  • Integrazione esterna: modelli integrati di richiesta/risposta per una perfetta integrazione con API esterne e scenari con l'intervento umano.
  • Checkpointing: salvare gli stati del flusso di lavoro tramite checkpoint, abilitare il ripristino e la ripresa dei processi a esecuzione prolungata sui lati del server.
  • Orchestrazione multi-agente: modelli predefiniti per coordinare più agenti di intelligenza artificiale, tra cui sequenziali, simultanee, hand-off e magentic.

API del flusso di lavoro

Microsoft Agent Framework offre due API complementari per la creazione di flussi di lavoro:

  • Functional Workflow API(Python, sperimentale): Scrivi flussi di lavoro come semplici async funzioni usando @workflow e @step decoratori. Usare il flusso di controllo nativo Python (if/else, cicli, asyncio.gather) anziché i concetti del grafo. Un buon punto di partenza prima di adottare l'API graph.
  • Generatore flussi di lavoro ed esecuzione: creare flussi di lavoro come grafici diretti usando WorkflowBuilder, executorse edges. Ideale per le topologie fisse con routing dei messaggi a convalida di tipo ed esecuzione parallela basata su superstep.

Entrambe le API sono completamente supportate e producono gli stessi risultati osservabili (eventi, streaming, HITL, checkpoint). Scegliere in base a ciò che meglio si adatta al flusso di lavoro:

Funzionale (@workflow) Grafico (WorkflowBuilder)
Flusso di controllo Python nativo (if, cicli, asyncio.gather) Bordi e condizioni
Ideale per Pipeline sequenziali, cicli personalizzati, parallelismo ad hoc Grafici fissi, fan-out/fan-in, instradamento dei messaggi validato per tipo
Parallelism asyncio.gather Gruppi di bordi paralleli, esecuzione a superpassi
Osservabilità Eventi per passaggio con @step Eventi per esecutore
HITL ctx.request_info() RequestInfoExecutor
Checkpointing @step Memorizzazione nella cache dei risultati per risultato Checkpoint del confine superstep
Involucro dell'agente .as_agent() su FunctionalWorkflow .as_agent() su Workflow

Iniziare con @workflow quando si vuole esprimere la logica in Python normale. Passare a WorkflowBuilder quando è necessario un instradamento dei messaggi rigorosamente convalidato per tipo o nel modello di esecuzione del grafo.

Concetti di base

  • Executor: rappresentano singole unità di elaborazione all'interno di un flusso di lavoro. Possono essere agenti di intelligenza artificiale o componenti della logica personalizzati. Ricevono messaggi di input, eseguono attività specifiche e producono messaggi di output.
  • Archi: definiscono le connessioni tra executors, determinando il flusso dei messaggi. Possono includere condizioni per controllare il routing in base al contenuto del messaggio.
  • Eventi: forniscono l'osservabilità nell'esecuzione del flusso di lavoro, inclusi eventi del ciclo di vita, eventi executor ed eventi personalizzati.
  • Generatore flussi di lavoro e esecuzione: collega executor e archi insieme in un grafico diretto, gestisce l'esecuzione tramite superstep e supporta le modalità di streaming e non di streaming.

Come iniziare

Iniziare il percorso con i flussi di lavoro di Microsoft Agent Framework esplorando gli esempi introduttivi:

Passaggi successivi