Attività durevole per agenti di intelligenza artificiale

Gli agenti di intelligenza artificiale che vengono eseguiti per ore, chiamano strumenti esterni e devono sopravvivere agli errori dell'infrastruttura richiedono un'esecuzione durevole , ovvero la possibilità di controllare automaticamente lo stato di avanzamento e riprendere dal punto in cui sono rimasti. Il modello di programmazione Durable Task Scheduler e Durable Task fornisce questa infrastruttura, gestisce la gestione dello stato, il checkpoint e il coordinamento distribuito in modo che il codice dell'agente non sia necessario.

Con questo modello di programmazione si creano flussi di lavoro agentici resilienti e con stato usando costrutti di programmazione standard (cicli, condizionali, gestione degli errori) in .NET, Python, Java e JavaScript/TypeScript. Il runtime mantiene lo stato e viene ripristinato automaticamente dagli errori.

Durable Task non è un framework agente, ma funziona con qualsiasi framework per agenti di intelligenza artificiale, tra cui Microsoft Agent Framework, LangChain o chiamate dirette all'API LLM. Ci si concentra sulla logica dell'agente; Durable Task gestisce l'esecuzione affidabile su larga scala.

In questo articolo vengono fornite informazioni su:

  • Problemi di produzione risolti dall'esecuzione durevole per gli agenti di intelligenza artificiale
  • Modelli di flusso di lavoro agentic supportati dal modello di programmazione Durable Task
  • Confronto tra lo stack tecnologico di Durable Task e altre opzioni del flusso di lavoro agentico in Azure

Tip

Sei pronto per iniziare a costruire? Passare ai modelli di applicazione Agentic per gli esempi di codice oppure provare l'estensione Durable Task per Microsoft Agent Framework per un'integrazione chiavi in mano.

Le sfide di produzione che l'esecuzione durevole risolve

Gli agenti di intelligenza artificiale nell'ambiente di produzione affrontano diverse sfide che l'esecuzione durevole risolve:

  • Sessioni a esecuzione prolungata e con stato : le interazioni con l’intervento umano, i ragionamenti a più fasi e i flussi di lavoro potenziati da strumenti possono mantenere un agente attivo per ore, giorni o settimane. L'agente accumula lo stato (cronologia delle conversazioni, risultati intermedi, decisioni in sospeso) che deve essere mantenuto a ogni passaggio.
  • Utilizzo di token costoso : l'elaborazione di grandi volumi di token LLM è costosa e richiede molto tempo. I limiti di frequenza possono limitare il flusso di lavoro medio dell'agente. Se si verifica un errore a metà del processo, i token già consumati e il tempo già impiegato andranno persi.
  • Interruzioni dell'infrastruttura : i riavvii di calcolo, le distribuzioni, gli eventi con scalabilità orizzontale e gli errori temporanei possono arrestare in modo anomalo una sessione dell'agente. Senza ripristino, l'agente deve ricominciare dall'inizio, consumare nuovamente tutti i token già utilizzati e ripetere tutto il lavoro già svolto.

L'esecuzione durevole risolve queste sfide:

  • Checkpoint automatici : il runtime di Durable Task controlla ogni transizione di stato (risposte del modello linguistico di grandi dimensioni, risultati delle chiamate degli strumenti, decisioni sul flusso di controllo) all'archiviazione durevole.
  • Riprendere dall'ultimo checkpoint — quando si verifica un errore, l'esecuzione riprende automaticamente in una macchina virtuale integra. Le chiamate LLM completate non vengono ripetute, preservando sia la spesa per i token che il tempo di calcolo.
  • Ripetizioni dei tentativi predefinite — criteri di ripetizione dei tentativi configurabili con backoff gestiscono gli errori temporanei dalle API del modello linguistico di grandi dimensioni, dagli strumenti esterni e dai servizi downstream senza codice aggiuntivo.

Modelli di flusso di lavoro agentico

Durable Task supporta una gamma di modelli di flusso di lavoro agenti che rientrano in due categorie generali:

  • Flussi di lavoro deterministici: il codice definisce il flusso di controllo. Si scrive la sequenza di passaggi, tra cui la diramazione, il parallelismo e la gestione degli errori, usando costrutti di programmazione standard. LLM viene chiamato come passaggio all'interno del flusso di lavoro, ma non controlla il flusso complessivo.
  • Flussi di lavoro diretti dall'agente (cicli agente): LLM gestisce il flusso di controllo. L'agente decide quali strumenti chiamare, in quale ordine e quando l'attività è stata completata. Sono disponibili strumenti e istruzioni, ma l'agente determina il percorso di esecuzione in fase di esecuzione.

Entrambe le categorie traggono vantaggio dall'esecuzione durevole e possono essere combinate nella stessa applicazione. Per un'analisi dettagliata dei modelli supportati con esempi di codice, vedere Modelli di applicazione agentic.

Confrontare le opzioni del flusso di lavoro agentico in Azure

Esistono diverse opzioni per la creazione di flussi di lavoro agenti in Azure oltre allo stack tecnico Durable Task. Ogni opzione presenta punti di forza e compromessi diversi a seconda dei requisiti per il flusso di controllo, il supporto del linguaggio di programmazione, l'integrazione del framework di intelligenza artificiale, l'hosting, la gestione dello stato e il pubblico di destinazione. La tabella seguente consente di decidere quale adatta alle proprie esigenze.

Capability Attività durevole Flussi di lavoro di Agent Framework Loop dell'agente di Azure Logic Apps
Flusso di controllo Imperativo (definito dal codice) Basato su grafo (definito dal codice) Dichiarativo (progettista / JSON)
Lingue .NET, Python, Java, TypeScript/JS .NET, Python Progettazione oggetti visivi/JSON
Supporto del framework di intelligenza artificiale Any (Kernel semantico, LangChain, AutoGen, API diretta) Ottimizzato per Agent Framework Connettori di intelligenza artificiale integrati
Servizio di hosting Funzioni di Azure o qualsiasi host Qualsiasi; Agenti ospitati di Foundry di prima classe Servizio gestito di Logic Apps
Archiviazione dello stato Schedulatore di Attività Durevoli (gestito) Personalizzato (gestore di checkpoint) Logic Apps runtime (gestito)
Flussi di lavoro diretti dall'agente Creare un'estensione personalizzata o usare l'estensione Durable Task Predefinito Azione del ciclo degli agenti
Destinatari sviluppatori back-end Sviluppatori di applicazioni Integrazione/utenti con poco codice
Attività a esecuzione prolungata Prima classe (da ore a eterno) Tramite checkpoint controllati dallo sviluppatore Solo flussi di lavoro con stato (fino a 90 giorni)
Ripristino non riuscito Automatico Manuale Automatico
Osservabilità Dashboard dello Scheduler, OpenTelemetry OpenTelemetry, visualizzazione personalizzata Monitoraggio di Azure, diagnostica di Logic Apps

Passaggi successivi