- Published on
Aggiornamento Microsoft AI Agent: Rimodellare gli Agenti Intelligenti con Architettura Multilivello
AutoGen 0.4: Un Salto di Qualità per gli Agenti AI
Microsoft ha presentato un aggiornamento significativo per il suo framework open-source per agenti AI, AutoGen, con il rilascio della versione 0.4. Questa libreria rinnovata vanta una maggiore stabilità del codice, robustezza, versatilità e scalabilità, consentendo agli sviluppatori di creare applicazioni di agenti AI avanzate e all'avanguardia.
Messaggistica Asincrona
Gli agenti ora comunicano utilizzando la messaggistica asincrona, il che consente loro di procedere con le attività senza attendere le risposte di altri agenti. Ciò è particolarmente vantaggioso per le applicazioni guidate da eventi in cui gli agenti reagiscono a trigger specifici. Il modello tradizionale richiesta/risposta è comunque supportato.
Modularità ed Estensibilità
Gli utenti possono combinare agenti personalizzati, strumenti, memoria e modelli per creare sistemi di agenti su misura per esigenze aziendali specifiche. Ciò comporta la registrazione di diversi tipi di agenti e strumenti per raggiungere specifici obiettivi di automazione.
Osservabilità e Debugging
Strumenti integrati per il tracciamento delle metriche, il tracciamento dei messaggi e il debug consentono il monitoraggio e il controllo delle interazioni e dei flussi di lavoro degli agenti. Ogni passaggio nel flusso di lavoro di un agente, comprese le chiamate di modelli di grandi dimensioni, l'utilizzo di strumenti, output intermedi, stati di memoria e modelli di prompt, può essere chiaramente registrato. Ciò è fondamentale per i settori che richiedono un tracciamento preciso delle operazioni degli agenti, come la sanità, il diritto e la finanza.
Scalabilità e Distribuzione
È possibile progettare reti di agenti distribuite e complesse per operare senza problemi attraverso i confini organizzativi. Un'architettura distribuita facilita l'implementazione di agenti su vari server o piattaforme cloud, ottimizzando l'allocazione e l'utilizzo delle risorse.
Estensioni Integrate e della Comunità
La funzionalità del framework è migliorata da estensioni che includono client di modelli avanzati, agenti, team multi-agente e strumenti per il flusso di lavoro degli agenti. Il supporto della comunità consente agli sviluppatori di gestire le proprie estensioni, creando e condividendo agenti o strumenti personalizzati. Gli sviluppatori possono utilizzare queste estensioni per esigenze comuni, riducendo la complessità e le barriere di sviluppo.
Supporto Multilingue
AutoGen ora supporta l'interoperabilità tra agenti scritti in diversi linguaggi di programmazione, come Python e .NET. Questa funzionalità amplia l'ambito di applicazione di AutoGen e rimuove gli ostacoli derivanti dalle differenze linguistiche.
Oltre a queste nuove funzionalità, Microsoft ha ristrutturato la base di AutoGen, che comprende il core, la chat degli agenti e le estensioni. Il core funge da base per il sistema di agenti guidato da eventi. La chat degli agenti, basata sul core, presenta API avanzate per la gestione delle attività, chat di gruppo, esecuzione di codice e agenti predefiniti. Le estensioni facilitano le integrazioni di terze parti con servizi come gli esecutori di codice Azure e i modelli OpenAI.
Miglioramenti dell'Interfaccia Utente
L'interfaccia utente ha subito anche significativi miglioramenti:
- Feedback interattivo tramite l'interfaccia utente, che consente agli agenti utente di fornire input e guida in tempo reale durante le operazioni del team.
- Visualizzazione del flusso di messaggi, che presenta un'interfaccia intuitiva per comprendere le comunicazioni degli agenti, mappando i percorsi dei messaggi e le dipendenze.
- Un'interfaccia visiva drag-and-drop, che consente agli utenti di progettare agenti posizionando e configurando i componenti con le loro relazioni e proprietà.
Integrazione con Magentic-One
Magentic-One, un altro agente AI generale multilivello open-source di Microsoft, è ora integrato in AutoGen. Magentic-One ha un'architettura multistrato composta da cinque agenti AI: Orchestrator, WebSurfer, FileSurfer, Coder e ComputerTerminal. Ogni agente specializzato ha le proprie competenze e base di conoscenza, che gli consentono di lavorare efficacemente nel proprio campo. Tuttavia, questi agenti non lavorano in isolamento; l'Orchestrator coordina le loro attività per garantire che siano coerenti e soddisfino gli obiettivi generali.
L'Orchestrator è responsabile della pianificazione delle attività, del monitoraggio dei progressi e del recupero degli errori. Dopo aver ricevuto un'attività, analizza a fondo i requisiti e assegna sottotask agli altri quattro agenti. Questi agenti specializzati sono in grado di gestire tipi specifici di attività. Il WebBrowser Agent gestisce la navigazione web, il FileNavigatorAgent gestisce la navigazione nel file system locale, il CodeWriterAgent scrive ed esegue frammenti di codice Python e ComputerTerminal esegue comandi a livello di sistema operativo per supportare attività di livello superiore.
Una caratteristica essenziale dell'architettura di Magentic-One è il funzionamento asincrono guidato da eventi. A differenza del modello sincrono richiesta-risposta, i metodi asincroni consentono ai componenti del sistema di funzionare contemporaneamente, ricevendo nuovi input o attivando azioni in qualsiasi momento senza interrompere altre funzioni. Ad esempio, il WebBrowserAgent può iniziare a caricare una pagina quando l'Orchestrator gli assegna un'attività che prevede il download e l'estrazione di informazioni da una pagina web, mentre l'Orchestrator e altri agenti continuano con altre attività. Una volta che la pagina è stata caricata e i dati richiesti sono stati estratti, il WebBrowserAgent notifica l'Orchestrator e restituisce i risultati. Questa strategia consente a Magentic-One di gestire le risorse in modo più efficiente, ridurre i tempi di attesa e rispondere in modo più efficace a scenari di elevata concorrenza.
Oltre alla sua architettura asincrona, Magentic-One si distingue per il suo design altamente modulare. Ogni agente è un'unità funzionale indipendente con responsabilità chiare e definizioni di interfaccia. Questo approccio semplifica la costruzione del sistema, poiché gli sviluppatori possono concentrarsi sulla funzione di un singolo agente senza preoccuparsi dei dettagli di interazione con altri componenti. La modularità promuove anche il riutilizzo del codice e la condivisione tecnica, consentendo di utilizzare gli agenti esistenti in nuovi progetti o di adattarli a diverse applicazioni con modifiche minime. La progettazione modulare di Magentic-One offre anche una notevole scalabilità. Nuovi agenti possono essere aggiunti o le funzioni degli agenti esistenti possono essere aggiornate senza importanti revisioni del sistema, man mano che la tecnologia avanza o cambiano i requisiti aziendali. Ad esempio, se un'attività in un dominio specifico diventa più complessa, il sistema può essere migliorato aggiungendo un agente specializzato.