AI Travel Agent with AWS

Ogni tanto capita un progetto che ti cambia la prospettiva.

Per me, questo è stato uno di quelli.

Durante il corso Build AI Agents with AWS di Zero To Mastery, ho avuto la sensazione di aver sbloccato un nuovo livello:

un po’ come Goku quando si allena nella stanza dello spirito e del tempo — solo che invece di allenarmi con Vegeta, stavo orchestrando agenti intelligenti, scrivendo funzioni Lambda e dialogando con Claude 3.5 Sonnet.

Illustrazione di Goku con 3 Agenti AI

Mi ha fatto scoprire un mondo completamente nuovo: quello dell’orchestrazione multi-agente in cloud, dove ogni dettaglio — dalla progettazione delle istruzioni alla gestione dei log — può fare la differenza tra un’idea e un sistema che funziona davvero.

🌍 Il progetto: un agente AI che pianifica viaggi

Schema del workflow del sistema di agenti.
Api gateway, lamba function di attivazione per l'agente supervisore, diramazione verso gli agenti

L’obiettivo? Costruire un sistema in cui agenti AI specializzati collaborano tra loro, orchestrati da un supervisore, per aiutare l’utente a:

  • trovare un hotel o un Airbnb
  • scegliere un ristorante
  • costruire un mini itinerario su misura

In pratica, un piccolo team di assistenti digitali che si parlano, si attivano a vicenda, e risolvono i problemi dell’utente come un gruppo affiatato.

☁️ I superpoteri di AWS al servizio degli agenti

Per realizzarlo, ho usato alcuni dei servizi AWS che ormai considero la mia cassetta degli attrezzi AI:

  • Lambda: il cuore operativo, dove la logica degli agenti prende vita
  • IAM: per gestire i permessi e i ruoli degli agenti
  • S3: per archiviare i file CSV con le informazioni su hotel, ristoranti, airbnb
  • Bedrock: per costruire e gestire gli agenti AI con Claude 3.5 Sonnet
  • API Gateway: per esporre il sistema tramite API

🧠Agenti specializzati + un Supervisore che orchestra tutto

Ogni agente ha un compito preciso:

  • L’Agente Supervisore riceve la richiesta iniziale e decide chi deve agire
  • L’Agente Alloggi si occupa della selezione di hotel o Airbnb
  • L’Agente Ristoranti suggerisce dove mangiare

Il bello? Vederli collaborare in modo fluido. Come una scena dietro le quinte in cui ogni attore sa quando entrare e cosa dire.

Il supervisore si basa su un set di istruzioni di collaborazione che scriviamo noi — un po’ come un direttore d’orchestra che ha lo spartito e sa quando far intervenire i fiati o gli archi.

🎯 L’Agente Alloggi lavora in modo condizionale

Prima di tutto, raccoglie le preferenze dell’utente: tipo di struttura, città, presenza di piscina, sauna, animali…

Poi, le converte in parametri e invoca dinamicamente la funzione corretta.

Un assaggio del comportamento condizionale, in puro stile AWS Lambda:

if function == 'listHotels':
            location = param_dict.get('location', None)
            print(location)
            s3_key = HOTEL_CSV_KEY
            filter_column = 'Location'
            filters = {filter_column: location}

elif function == 'listAirbnbs':
            location = param_dict.get('location', None)
            pets = param_dict.get('pets', None)
            pool = param_dict.get('pool', None)
            sauna = param_dict.get('sauna', None)
            print(location, pets, pool, sauna)

            s3_key = AIRBNB_CSV_KEY
        
            filters = {'Location':location, 'Pets':pets, 'Pool':pool, 'Sauna':sauna}
Code language: JavaScript (javascript)


Il sistema decide quale funzione attivare, quali dati filtrare e come rispondere, in base ai parametri raccolti nella conversazione.

🔄 Un processo conversazionale, ma rigoroso

Ecco un estratto delle istruzioni che l’Agente Alloggi segue:

You need to determine if they want a hotel or an Airbnb:

  • If hotel: you must know the city.
  • If Airbnb: you must know the city, whether pets are allowed, and if a sauna or pool is needed. You must convert all responses of the user to either “Yes” or “No”.

🧪 Debugging e tracciamento: vedere l’AI pensare

Qui viene il nerd-core. Ho scoperto quanto possa essere chiaro e visuale il debugging in questo sistema:

  • Con AWS CloudWatch Logs ho potuto debuggare ogni Lambda, ispezionando richieste e risposte passo passo
  • Con la funzione “Mostra traccia”, ho visualizzato tutto il ragionamento dell’agente supervisore nel tab Orchestrazione e Knowledge base
Screen della traccia di una conversazione per debuggare le risposte
  • E soprattutto: la Multi-agent collaboration trace timeline offre una vista visiva e cronologica di come e quando ogni agente si attiva. In pratica, una timeline interattiva del pensiero distribuito.

Vedere l’interazione tra agenti così chiaramente mi ha aiutata a migliorare, ottimizzare e… divertirmi.


🧪 Test con Postman

Una volta finito tutto, ho testato le API con Postman. E con grande soddisfazione… funzionava! 🎉

Passando alla chiamato un body, con un session id costante, potevo continuare a parlare con il mio sistema di agenti!

Screen post man, per mostrare la risposta alla chiamata API del modello

Modulare, riutilizzabile, scalabile

Le funzioni Lambda sono assegnate agli agenti, non “incollate” a essi. Questo le rende versionabili, modulari e riutilizzabili: possono essere usate in altri progetti, aggiornate in sicurezza e scalate in automatico.

La vera potenza è la separazione tra logica e orchestrazione.

È come costruire con i LEGO… ma per sistemi intelligenti.

🎯 Cosa mi porto a casa

  • ✅ Ho imparato a orchestrare agenti intelligenti in un sistema fluido e collaborativo
  • ✅ Ho scoperto come collegare il potere dei LLM con dati strutturati reali
  • ✅ Ho acquisito confidenza con Bedrock, Lambda, IAM, API Gateway e S3
  • ✅ Ho visto quanto sia potente rendere visibile il ragionamento dell’AI

E soprattutto: mi sono sentita una costruttrice di mondi digitali.

💡 Se stai pensando di esplorare il mondo degli agenti AI e ti interessa andare oltre il prompt engineering, consiglio di partire proprio da qui:

Bedrock + Lambda + un pizzico di architettura.

Potresti finire per costruire… molto più di quanto immagini.

Schermata di AWS per il testing degli agenti.

Related Projects

Giugno 17, 2025
AI Agent per il benchmark GAIA

Quando GPT-4, uno dei modelli più avanzati al mondo, riesce a risolvere solo il 15% delle domande di un benchmark mentre un umano medio raggiunge il 92%, capisci che c'è qualcosa di speciale in quel benchmark. Quel benchmark si chiama GAIA, e rappresenta una delle sfide più interessanti nell'AI moderna. 🎯 Cos'è GAIA e perché […]

Marzo 18, 2025
Chanteclair

• Sviluppo del sito web di Chanteclair utilizzando WordPress, sfruttando Oxygen Builder per un design personalizzato e flessibile, e Advanced Custom Fields (ACF) per la gestione dinamica del contenuto, migliorando sia l’aspetto che l’usabilità. • Questo progetto è stato realizzato mentre ricoprivo il ruolo di Head of Web Development presso DigitalMakers. Tecnologie utilizzate: WordPress, Oxygen […]

veronicaschembri
Copyright © Veronica Schembri

Privacy Policy
Cookie Policy
💬