​

Guida completa per creare un assistente logistico AI su Google Cloud

Costruisci il tuo agente AI per la logistica di Formula E, con dati live, rotte sostenibili e prenotazioni in pochi passaggi.

Nel mondo della Formula E la rapidità di spostamento tra circuiti cittadini è una sfida cruciale: le auto Gen3 Evo, i rack di telemetria e le attrezzature pesanti devono viaggiare da una metropoli all’altra rispettando budget, tempi stretti e obiettivi di zero emissioni nette. Questo tutorial mostra, passo passo, come realizzare un agente AI specializzato che gestisce trasporti, alloggi e piani di montaggio sfruttando l’Agent Development Kit (ADK) il MCP Toolbox for Databases e un database Google Cloud SQL PostgreSQL.

Preparazione dell’ambiente Google Cloud

Il primo passo consiste nell’attivare un progetto GCP con la fatturazione operativa. Dopo aver aperto Cloud Shell si verifica l’autenticazione con gcloud auth list e si imposta l’ID del progetto usando gcloud config set project <PROJECT_ID>. Successivamente, è necessario esportare le variabili PROJECT_IDREGION (ad esempio europe-west2) e GOOGLE_CLOUD_LOCATIONper poi abilitare tutte le API richieste (Cloud Run, Cloud Build, AI Platform, SQL Admin, ecc.) con un unico comando gcloud services enable …. Questo approccio garantisce che l’intera pipeline, dal database al servizio di IA, operi su infrastruttura gestita e scalabile.

Configurazione del database Cloud SQL con dati di logistica

Una volta attivata l’API Cloud SQL, si crea un’istanza PostgreSQL usando gcloud sql instances create eprix-logistics-instance …scegliendo il tier db-g1-small per un laboratorio a basso consumo. Dopo la creazione, si accede a Cloud SQL Studio e si definiscono le tre tabelle chiave: freight_routes (rotte DHL con costi, durata e emissioni), paddock_accommodations (hotel vicini al paddock con prezzo e distanza) e setup_schedule (check-list operativa per ogni gara). Gli INSERT di esempio popolano il database con dati reali da Monaco a Tokyo, consentendo subito al futuro agente di interrogare informazioni concrete.

Aggiornamento dinamico delle strutture

Per personalizzare il catalogo alberghiero, si può inserire una nuova struttura con una semplice istruzione INSERTad esempio una suite boutique a 250 m dal paddock di Tokyo al prezzo di $175 per notte. Questo esercizio dimostra come l’agente possa usare dati aggiornati in tempo reale, senza dipendere da dataset statici.

Installazione e setup di MCP Toolbox for Databases

Il MCP Toolbox funge da ponte sicuro tra il modello LLM e il database relazionale, gestendo connessioni, autenticazione e parametrizzazione delle query. Dopo aver scaricato il binario Linux (curl … -o toolbox) e averlo reso eseguibile, si crea un file tools.yaml che descrive la fonte di dati (cloud-sql-postgres) e tre strumenti: calculate-freight-optionsfind-paddock-accommodations e get-setup-schedule. Ogni strumento contiene la dichiarazione SQL parametrizzata, i tipi di input e una breve descrizione, così l’agente può selezionare dinamicamente l’interrogazione più adeguata.

Esecuzione del server MCP

Lanciando ./toolbox --config "tools.yaml" --ui il servizio ascolta sulla porta 5000 e rende disponibili, tramite interfaccia web, le tre funzioni di query. Una prova rapida tramite la UI (ad esempio find-paddock-accommodations con Tokyo Paddock e budget $200) restituisce un elenco ordinato per distanza, confermando che il collegamento è operativo.

Sviluppo dell’agente con Agent Development Kit

Con il toolbox in esecuzione, si passa alla creazione dell’agente. Si installa l’ADK in un ambiente virtuale Python, si genera lo scaffolding con adk create eprix_logistics_app e si sceglie il modello gemini-3.8-flash su Vertex AI. Il cuore dell’app è il file agent.pydove si inizializza il ToolboxSyncClient puntando a http://127.0.0.1:5000si carica il set di strumenti my_logistics_toolset e si definisce un prompt di sistema articolato.

Prompt di sistema personalizzato

Il prompt descrive l’agente come “Responsabile operativo Motorsport“, includendo linee guida obbligatorie: (1) privilegiare modalità di trasporto a bassa impronta di carbonio (marittimo o ferroviario) quando i tempi lo consentono; (2) selezionare alloggi entro 1 km dal paddock e sotto i $200 per notte; (3) riorganizzare il setup_schedule in caso di previsioni meteo avverse, spostando le attività più sensibili alla pioggia in cima alla lista. Queste regole garantiscono decisioni coerenti e sostenibili.

Test, interfaccia e deployment opzionale

Una volta avviato l’agente (adk run eprix_logistics_app/) si può interagire tramite CLI o la UI FastAPI. Domande tipiche – “Come trasportare sostenibilmente l’attrezzatura da Monaco a Tokyo?” o “Quali hotel sono disponibili per meno di $200?” – vengono risolte da LLM che invoca autonomamente gli strumenti MCP, restituisce tavole comparative e suggerimenti operativi. Per ambienti di produzione, il toolbox può essere containerizzato e distribuito su Cloud Run mentre l’agente ADK si pubblica anch’esso come servizio serverless, mantenendo le credenziali in Secret Manager e i permessi di accesso a Cloud SQL. Questo approccio offre scalabilità automatica, endpoint sicuri e la possibilità di integrare nuove città o partner logistici con un semplice aggiornamento del CSV di origine.

Al termine, è buona norma eliminare le risorse – servizi Cloud Run e l’istanza Cloud SQL – per evitare costi residui, usando i comandi gcloud run services delete … e gcloud sql instances delete …. In questo modo si completa il ciclo completo, dalla prototipazione alla pulizia, dimostrando come la IA generativa possa supportare operazioni di sport motoristici ad alta intensità logistica in modo efficiente e sostenibile.

Scritto da Ilaria Mauri