Progettazione di un Sistema Multi-Agente per il Supporto Ingegneristico a Scala: Un Caso di Studio da Grab
Progettazione di un Sistema Multi-Agente per il Supporto Ingegneristico a Scala: Un Caso di Studio da Grab
Il team di Analytics Data Warehouse (ADW) di Grab ha introdotto un sistema AI multi-agente per automatizzare i flussi di lavoro di supporto ingegneristico all'interno della sua piattaforma dati a scala, mirando a ridurre il lavoro operativo ripetitivo e migliorare l'efficienza di risoluzione. Il sistema è progettato per gestire le richieste di supporto ingegneristico interne che coprono la risoluzione dei problemi del data warehouse, la debuggatura SQL e il supporto della piattaforma, mentre gli ingegneri sono spostati verso lavori di sviluppo di maggior valore.
La piattaforma ADW supporta più di 1.000 utenti interni e gestisce oltre 15.000 tabelle, funzionando come un componente di infrastruttura analitica di base all'interno di Grab. Man mano che la domanda cresceva, l'ingegneria del team osservava che una parte significativa dell'efforto operativo era consumata da compiti di supporto ripetitivi e indagini ad hoc, limitando il tempo disponibile per migliorare la piattaforma e il lavoro di progettazione di sistema.
Sneh Agrawa, Head of Analytics @ Grab, in un post di LinkedIn ha evidenziato, Il team di dati centrali di Grab sta sfruttando un sistema multi-agente per automatizzare il lavoro operativo ripetitivo, recuperando centinaia di ore ingegneristiche ogni mese. Questo spostamento sta sbloccando la banda di ingegneria critica e consentendo una transizione da un combattimento reattivo a un sistema di costruzione di maggior valore.
Per affrontare questo, il team ha implementato un'architettura multi-agente che separa le richieste di supporto ingegneristico incoming in due flussi di lavoro primari: indagine e miglioramento. I flussi di lavoro di indagine sono progettati per compiti diagnostici come l'analisi delle query, la ricerca dei log, la ricerca dello schema e la sommazione degli issue. I flussi di lavoro di miglioramento si concentrano sulla generazione di output azionabili, compresi i cambiamenti di codice, le correzioni SQL e le richieste di merge automatizzate per la revisione.
Architettura tecnica del sistema multi-agente (Fonte: Post del blog tecnico di Grab)
Il sistema è orchestrato utilizzando un motore di workflow basato su LangGraph combinato con i servizi FastAPI che coordinano la routing, l'esecuzione delle tool e la gestione dello stato tra gli agenti. Le richieste vengono classificate e poi inviate a agenti specializzati responsabili di compiti come la ricerca del contesto, la ricerca del codice o la generazione di soluzioni. Ogni agente opera con responsabilità concesse per ridurre l'ambiguità e migliorare la prevedibilità degli output.
Flussi di lavoro degli agenti, utilizzando un Supervisore che controlla il flusso di comunicazione e la delega delle attività (Fonte: Post del blog tecnico di Grab)
Secondo gli ingegneri di Grab, La separazione dei percorsi di indagine e miglioramento ci ha aiutato a ridurre la complessità della ragione degli agenti e migliorare la affidabilità dei flussi di lavoro in produzione.
Una decisione architettonica chiave è stata la consolidazione dell'ecosistema delle tool. Il sistema ha inizialmente esposto più di 30 tool interni across data access, logging e code systems. Questo è stato successivamente ridotto a un set di tool più piccolo e curato per migliorare la manutenibilità e ridurre la selezione delle tool imprevedibile da parte degli agenti. La layer delle tool include l'esecuzione SQL controllata, l'accesso ai metadati, i sistemi di recupero dei log e l'integrazione con i flussi di lavoro Git per la gestione delle modifiche.
La sicurezza e la governance sono state integrate nel progetto di sistema. L'esecuzione SQL è limitata attraverso strati di validazione e il trattamento dei dati sensibili include meccanismi per la detezione e la mitigazione dei rischi di esposizione. Inoltre, tutti i flussi di lavoro di miglioramento che producono cambiamenti di codice richiedono la revisione in presenza di un ingegnere prima della distribuzione, garantendo che gli output automatizzati rimangano soggetti a un controllo ingegneristico.
La gestione del contesto è emersa come un significativo sfida tecnica, poiché gli agenti dovevano comprendere il contesto di ogni richiesta per fornire risposte accurate e pertinenti. Per affrontare questo, il team ha sviluppato un sistema di gestione del contesto che utilizza l'elaborazione del linguaggio naturale (NLP) per analizzare la richiesta e identificare il contesto rilevante.
Il sistema multi-agente è stato distribuito in produzione e ha mostrato miglioramenti significativi nell'efficienza di risoluzione e nella riduzione del lavoro operativo ripetitivo. Il team intende continuare a iterare e migliorare il sistema per ulteriormente migliorare le sue capacità e scalabilità.
Commenti (0)
Accedi o Registrati per candidarti