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

Marzo 18, 2025
Averna Spazio Open

• Sviluppo del sito web di Averna Spazio Open utilizzando WordPress, con Oxygen Builder per un design personalizzato e Advanced Custom Fields (ACF) per la gestione dinamica del contenuto. • Creato un sistema di invio di idee degli utenti, che venivano pubblicate sul sito, con una funzione di voto per selezionare l’idea migliore annualmente. • […]

Maggio 1, 2025
NutriCHOice - Sistema multi-agente

Introduzione al Progetto NutriCHOice rappresenta un'innovativa soluzione nell'ambito della nutrizione personalizzata, sviluppata come progetto finale del Bootcamp AI di Edgemony. Il sistema utilizza un approccio "Generate then Fix" (Genera e Correggi) per creare ricette personalizzate che rispettano specifici obiettivi nutrizionali, con particolare attenzione al contenuto di carboidrati (CHO). Evoluzione del Progetto: Da RAG a "Generate […]

veronicaschembri
Copyright Ā© Veronica Schembri

Privacy Policy
Cookie Policy