Shippy è un agente di intelligenza artificiale costruito per prendere decisioni ad alto rischio in mare, dove errori possono avere conseguenze reali. In questo articolo parleremo dell’architettura di Shippy e le lezioni imparate, trasferite alle altre piattaforme ambientali di Ai2.

Immaginiamo Shippy in azione rispondendo a una query sulle EEZ del Ghana. La risposta include il confine, la fonte dati, l'orario della query, e un collegamento al link per tornare alla mappa Skylight. La trasparenza di ogni passo rende la risposta credibile e verificabile.

La costruzione di un agente come Shippy per un dominio ad alto rischio come la protezione marittima richiede affidabilità. Per un analista marittimo, errori possono portare a un'errata direzione, con costi notevoli e potenzialmente pericolosi per il personale.

Quando il team Skylight ha iniziato a costruire Shippy, l'obiettivo non era semplicemente costruire un modello. Ma sviluppare un sistema che fosse corretto, adatto a lavorare in modo affidabile, e testabile a partire dall'insieme dei dati di Skylight costantemente aggiornati.

Pensiamo a un agente come Shippy in termini di tre componenti base: una anima, abilità, e configurazione.

Anima

L’anima di Shippy è un prompt che definisce il comportamento e la personalità dell'agente. Impone limiti comportamentali. Le abilità dicono a Shippy come rispondere a tipi specifici di richieste. Insieme, anima e abilità vengono "incorporati" in un'immagine Docker.

Abilità

Le skill di Shippy seguono lo stesso schema standard utilizzato in strumenti come Code. Restano facili da comprendere, aggiornabili separatamente, e sono organizzati in file markdown. Al momento le abilità di Shippy includono:

    • La funzione per interrogare l’API di Skylight sulla pesca.
    • Funzioni per risolvere i poligoni geografici.
    • La capacità di collegare i risultati alle origini dati partner come Global Fishing Watch.

Un esempio: quando si chiede a Shippy di mostrare l’attività di pesca nel Panama EEZ del mese scorso, l’agente utilizza la funzione API di Skylight per ottenere i dati, li organizza con link alla mappa e attributi riferibili ai partner della Skylight.

Un'unica domanda può coinvolgere più skill di Shippy. "Ci sono navi in prossimità della MPA Cordillera de Coiba?" usa l’API di Skylight, la banca dati MPA di uno dei partner, e l’interpretazione del tracciato.

Configurazione

Le configurazioni di Shippy sono comprese in tutto ciò che non rientra in anima e abilità. Include dettagli come l'implementazione con l’open source OpenClaw e l’utilizzo del modello Claude Opus 4.6.

Le informazioni sensibili, come le chiavi API, vengono iniettate in tempo reale. Cambiare modello o l’agente stesso non richiede un reinno, basta modificare la configurazione.

Fase di Implementazione

L’agente non è deterministico. Per controllare i tool che si possono utilizzare, Shippy interagisce attraverso un interfaccia CLI fatta apposta per Skylight anziché usare direttamente l’API.

La CLI di Skylight semplifica chiamate complesse in semplici comandi, gestendo paginazione, autentificazione, struttura, e fornendo feedback utile. Riduce errori di sintassi, ad esempio con filtri mal interpretati.

Architettura Interna

Il sistema si basa su un API standardizzata con risorse accessibili attraverso le operazioni di ricerca e aggregazione. Le risorse vanno dagli eventi alla traiettorie di navi, con schema comune per input/output.

Questo livello gerarchico – API tipizzato, CLI deterministico, e skill agenti che vi si connettono – permette test separati in ogni strato. La test suite dell'API, ad esempio, funziona indipendentemente dal CLI.

Isolamento di Sessione

Per gestire le centinaia di governi e ONG servite Skylight (oltre 70 nazioni), abbiamo sviluppato Mothership: un platform per agenti. Ogni sessione è isolata, con i propri dati e una configurazione privata.

Quando un utente inizializza una sessione, Mothership distribuisce un pod Kubernetes dedicato. Il risultato è un ambiente isolato in cui Shippy può funzionare su dati personalizzati e dove risultati intermedii non vengono condivisi.

L’ambiente sandbox consente all’agente di installare pacchetti di supporto, analizzare dati multi-step, eseguire analisi, tutto in isolamento. Ogni sessione ha un limite di accesso alle risorse, assicurando confidenzialità e sicurezza.

Valutazione dell’Agente

I benchmark tradizionali non mostrano il comportamento reale di un agente in un workflow completo. Per valutare Shippy, abbiamo sviluppato un sistema di valutazione che si basa sul lavoro effettivo.

Gli esperti di dominio stilano scenari e criteri di valutazione; ad ogni task sono attribuiti pesi. Sono i giudici a valutare risposte come corrette o meno, garantendo precisione e coerenza.

Un esempio: se chiediamo a Shippy riguardo eventi di pesca, i criteri principali sono correttezza dei dati, precisione spaziale e temporale, e attribuzioni. Siamo in grado di assegnare punteggi e verificare gli andamenti in tempo reale.