intelligenza artificiale

GitHub Spark, l’AI diventa multi-modello: perché è una svolta



Indirizzo copiato

GitHub Spark, il nuovo servizio di GitHub, promette di rivoluzionare la generazione del codice attraverso l’intelligenza artificiale. Supportando modelli AI di diversi fornitori, come OpenAI e Anthropic, offre la possibilità di creare micro app interattive. Esploriamo le sfide e le implicazioni future di questa innovazione

Pubblicato il 7 nov 2024

Antonio Cisternino

Università di Pisa



github (1)

Github ha recentemente annunciato Github Spark, un nuovo servizio per generare delle “micro app” con l’ausilio dell’intelligenza artificiale. L’annuncio colpisce non solo perché promette l’automazione della generazione del codice, ma soprattutto perché supporta più modelli di AI generativa anche da parte di più vendor come OpenAI e Anthropic.

Questa capacità colpisce per almeno due ragioni: da una parte il software deve adattarsi a più intelligenze artificiali per funzionare, dall’altra Microsoft introduce in uno dei suoi servizi modelli AI che non sono di OpenAI.

Cerchiamo di capire le sfide da affrontare nello sviluppo di software capace di sfruttare più modelli di AI e le implicazioni che può avere per il futuro. La scelta di Microsoft di differenziare il supporto per i modelli AI può suggerire che quella sia la via da seguire.

New spark model picker

GitHub Spark in breve

Il servizio sembra istituzionalizzare l’idea che sia possibile generare codice automaticamente che realizzi semplici funzioni applicative usando modelli AI, un po’ come succede per gli artifact realizzati con Claude, tenendo però conto che GitHub vive di sviluppo e sviluppatori e promette quindi la generazione di veri e propri programmi usando l’AI.

Il servizio è per ora in technical preview ed è quindi presto per potersi formare delle opinioni proprie, ma dalle informazioni che si trovano sembra che se si ha bisogno di un’applicazione che svolga una funzione specifica, o di generare un semplice videogame arcade, il risultato sia decisamente buono e più curato di quanto possano essere gli artifacts di Anthropic.

Karaoke night app

Un altro aspetto che colpisce dell’annuncio è la possibilità di sviluppare direttamente dallo smartphone aprendo una nuova pagina per attività creative come prototyping e anche di realizzazione di app da scambiare con gli amici. GitHub si candida ovviamente ad ospitare le eventuali connessioni server, c’è quindi da aspettarsi che con un abbonamento si possa anche avere un servizio premium.

La capacità di creare app interattive che facciano anche uso del 3D potrebbe aprire scenari interessanti, ad esempio usando software che effettuano lo scanner 3D dallo smartphone come Polycam si potrebbero acquisire modelli 3D della propria casa e poi animarli con l’aiuto dell’AI per promuovere la vendita o realizzare un gioco.

Spark dashboard on mobile

Scrivere sistemi multi-modello

L’integrazione del software è studiata dal software engineering e richiede che i software rispettino numerose convenzioni nello sviluppo affinché sia possibile che due software sviluppati da programmatori differenti possano interagire correttamente.

Da un punto di vista del software engineering interagire con più modelli di AI sviluppati da entità differenti pone sfide analoghe alla realizzazione di altri software ma con un distinguo molto importante: le API, dei contratti che consentono ad un programma di invocare i servizi di un altro, sono normalmente complesse nell’integrazione e il programmatore deve seguire numerose convenzioni nella loro invocazione per assicurare il corretto funzionamento, mentre nell’AI generativa l’API dominante segue il modello della ChatCompletion di OpenAI (supportato anche da molti software Open Source come Ollama) che sostanzialmente offre un’interfaccia molto semplice:

ChatComplete (Messages)

Sostanzialmente si passa una sequenza di messaggi scritti in linguaggio naturale corrispondenti all’interazione della Chat e si ottiene la risposta dell’assistente come nuovo messaggio.

Dal punto di vista del software engineering non è quindi troppo difficile sviluppare sistemi che supportino più modelli di intelligenza artificiale (prova ne è Ollama che consente di eseguire migliaia di modelli AI senza dover essere programmato), quello che è invece molto difficile è adattare il comportamento del proprio software a risposte di modelli differenti.

Il software open source Oraculum che ho sviluppato supporta più modelli AI sfruttando il fatto che molti software li espongono mediante le API di OpenAI, ma quando ho cambiato il modello ho dovuto adattare numerosi aspetti affinché il comportamento del mio software rimanesse invariato.

Per provare a capire le differenze ho proposto a Claude e a ChatGPT il seguente prompt:

Scrivi una funzione javascript chiamata Mandelbrot che calcola date le coordinate di un punto nello spazio complesso la velocità del punto in accordo alla regola del popolare insieme

Il risultato riportato nelle seguenti immagini (sopra l’output di ChatGPT 4o e sotto quello di Claude) è sostanzialmente analogo, e la segnatura della funzione (nomi e parametri) sono stati generati nello stesso modo in entrambi gli output. Però la funzione generata da ChatGPT restituisce un numero intero tra 1 e maxIterations mentre quella generata da Claude un numero decimale tra 0 e 1.

Immagine che contiene testo, schermata, Carattere, documentoDescrizione generata automaticamente
Immagine che contiene testo, schermata, softwareDescrizione generata automaticamente

Come si può osservare a parità di prompt nella generazione del software si possono ottenere risultati apparentemente compatibili ma con un significato diversissimo per chi volesse usare la funzione generata in modo automatico.

Ovviamente è possibile integrare il prompt in modo che l’output sia quello atteso, ma anche in questo semplice esempio emerge chiaramente le sfide che deve affrontare chi pensa di realizzare sistemi, soprattutto che generano programmi come GitHub Spark, utilizzando modelli diversi.

L’importanza strategica di sviluppare software multi-modello

Sviluppare software che usa più modelli di AI generativa per funzionare ha inevitabilmente un costo, e sicuramente il cambio di modello può condizionare significativamente il comportamento di un programma (anche se si limita a mostrare all’utente il risultato di un particolare prompt), ma si tratta di una scelta strategica molto importante volta a preservare gli investimenti fatti nella realizzazione del software stesso.

Supportare modelli AI realizzati da entità differenti, come Anthropic e OpenAI nel caso di GitHub Spark, è ancora più difficile, siamo infatti tutti abituati al fatto che classi differenti di modelli esibiscono comportamenti significativamente differenti rispetto a modelli che appartengono alla stessa classe (e tipicamente sviluppatore).

Per Microsoft la scelta di aprire a più modelli anche diversi da quelli di OpenAI, seppur in un servizio minore, rappresenta un’interessante palestra per imparare ad adattare il software a comportamenti differenti preservandone il comportamento, sicuramente un passo che consentirà potenzialmente al colosso di Redmond di avere alternative per il futuro qualora la relazione con OpenAI si dovesse guastare col tempo.

Conclusioni

Per troppo tempo si è parlato solo dei modelli LLM, della loro conoscenza, dei loro pregi e difetti, il software che li usa è però altrettanto importante e rappresenta un investimento sempre più rilevante per chi sviluppa. È importante assicurarsi che questo investimento possa durare nel tempo e supportare più modelli sembra un modo ragionevole di farlo.

EU Stories - La coesione innova l'Italia

Tutti
Iniziative
Analisi
Social
Video
Agevolazioni
A febbraio l’apertura dello sportello Mini Contratti di Sviluppo
Quadri regolamentari
Nuovi Orientamenti sull’uso delle opzioni semplificate di costo
Coesione
Nuovo Bauhaus Europeo (NEB): i premi che celebrano innovazione e creatività
Dossier
Pubblicato il long form PO FESR 14-20 della Regione Sicilia
Iniziative
400 milioni per sostenere lo sviluppo delle tecnologie critiche nel Mezzogiorno
Formazione
“Gian Maria Volonté”: dalle aule al mondo del lavoro, focus sui tirocini della Scuola d’Arte Cinematografica
TRANSIZIONE ENERGETICA
Il ruolo del finanziamento BEI per lo sviluppo del fotovoltaico in Sicilia
Formazione
“Gian Maria Volonté”: dalla nascita ai progetti futuri, focus sulla Scuola d’Arte Cinematografica. Intervista al coordinatore Antonio Medici
MedTech
Dalla specializzazione intelligente di BionIT Labs una innovazione bionica per la disabilità
Finanza sostenibile
BEI e E-Distribuzione: investimenti per la sostenibilità energetica
Professioni
Servono competenze adeguate per gestire al meglio i fondi europei
Master
Come formare nuove professionalità per governare e gestire al meglio i fondi europei?
Programmazione UE
Assunzioni per le politiche di coesione: prossimi passi e aspettative dal concorso nazionale. Il podcast “CapCoe. La coesione riparte dalle persone”
innovazione sociale
Rigenerazione urbana: il quartiere diventa un hub dell’innovazione. La best practice di San Giovanni a Teduccio
Programmazione europ
Fondi Europei: la spinta dietro ai Tecnopoli dell’Emilia-Romagna. L’esempio del Tecnopolo di Modena
Interventi
Riccardo Monaco e le politiche di coesione per il Sud
Iniziative
Implementare correttamente i costi standard, l'esperienza AdG
Finanziamenti
Decarbonizzazione, 4,8 miliardi di euro per progetti cleantech
Formazione
Le politiche di Coesione UE, un corso gratuito online per professionisti e giornalisti
Interviste
L’ecosistema della ricerca e dell’innovazione dell’Emilia-Romagna
Interviste
La ricerca e l'innovazione in Campania: l'ecosistema digitale
Iniziative
Settimana europea delle regioni e città: un passo avanti verso la coesione
Iniziative
Al via il progetto COINS
Eventi
Un nuovo sguardo sulla politica di coesione dell'UE
Iniziative
EuroPCom 2024: innovazione e strategia nella comunicazione pubblica europea
Iniziative
Parte la campagna di comunicazione COINS
Interviste
Marco De Giorgi (PCM): “Come comunicare le politiche di coesione”
Analisi
La politica di coesione europea: motore della transizione digitale in Italia
Politiche UE
Il dibattito sul futuro della Politica di Coesione
Mobilità Sostenibile
L’impatto dei fondi di coesione sul territorio: un’esperienza di monitoraggio civico
Iniziative
Digital transformation, l’Emilia-Romagna rilancia sulle comunità tematiche
Politiche ue
Fondi Coesione 2021-27: la “capacitazione amministrativa” aiuta a spenderli bene
Finanziamenti
Da BEI e Banca Sella 200 milioni di euro per sostenere l’innovazione di PMI e Mid-cap italiane
Analisi
Politiche di coesione Ue, il bilancio: cosa ci dice la relazione 2024
Politiche UE
Innovazione locale con i fondi di coesione: progetti di successo in Italia
Agevolazioni
A febbraio l’apertura dello sportello Mini Contratti di Sviluppo
Quadri regolamentari
Nuovi Orientamenti sull’uso delle opzioni semplificate di costo
Coesione
Nuovo Bauhaus Europeo (NEB): i premi che celebrano innovazione e creatività
Dossier
Pubblicato il long form PO FESR 14-20 della Regione Sicilia
Iniziative
400 milioni per sostenere lo sviluppo delle tecnologie critiche nel Mezzogiorno
Formazione
“Gian Maria Volonté”: dalle aule al mondo del lavoro, focus sui tirocini della Scuola d’Arte Cinematografica
TRANSIZIONE ENERGETICA
Il ruolo del finanziamento BEI per lo sviluppo del fotovoltaico in Sicilia
Formazione
“Gian Maria Volonté”: dalla nascita ai progetti futuri, focus sulla Scuola d’Arte Cinematografica. Intervista al coordinatore Antonio Medici
MedTech
Dalla specializzazione intelligente di BionIT Labs una innovazione bionica per la disabilità
Finanza sostenibile
BEI e E-Distribuzione: investimenti per la sostenibilità energetica
Professioni
Servono competenze adeguate per gestire al meglio i fondi europei
Master
Come formare nuove professionalità per governare e gestire al meglio i fondi europei?
Programmazione UE
Assunzioni per le politiche di coesione: prossimi passi e aspettative dal concorso nazionale. Il podcast “CapCoe. La coesione riparte dalle persone”
innovazione sociale
Rigenerazione urbana: il quartiere diventa un hub dell’innovazione. La best practice di San Giovanni a Teduccio
Programmazione europ
Fondi Europei: la spinta dietro ai Tecnopoli dell’Emilia-Romagna. L’esempio del Tecnopolo di Modena
Interventi
Riccardo Monaco e le politiche di coesione per il Sud
Iniziative
Implementare correttamente i costi standard, l'esperienza AdG
Finanziamenti
Decarbonizzazione, 4,8 miliardi di euro per progetti cleantech
Formazione
Le politiche di Coesione UE, un corso gratuito online per professionisti e giornalisti
Interviste
L’ecosistema della ricerca e dell’innovazione dell’Emilia-Romagna
Interviste
La ricerca e l'innovazione in Campania: l'ecosistema digitale
Iniziative
Settimana europea delle regioni e città: un passo avanti verso la coesione
Iniziative
Al via il progetto COINS
Eventi
Un nuovo sguardo sulla politica di coesione dell'UE
Iniziative
EuroPCom 2024: innovazione e strategia nella comunicazione pubblica europea
Iniziative
Parte la campagna di comunicazione COINS
Interviste
Marco De Giorgi (PCM): “Come comunicare le politiche di coesione”
Analisi
La politica di coesione europea: motore della transizione digitale in Italia
Politiche UE
Il dibattito sul futuro della Politica di Coesione
Mobilità Sostenibile
L’impatto dei fondi di coesione sul territorio: un’esperienza di monitoraggio civico
Iniziative
Digital transformation, l’Emilia-Romagna rilancia sulle comunità tematiche
Politiche ue
Fondi Coesione 2021-27: la “capacitazione amministrativa” aiuta a spenderli bene
Finanziamenti
Da BEI e Banca Sella 200 milioni di euro per sostenere l’innovazione di PMI e Mid-cap italiane
Analisi
Politiche di coesione Ue, il bilancio: cosa ci dice la relazione 2024
Politiche UE
Innovazione locale con i fondi di coesione: progetti di successo in Italia

Articoli correlati

Articolo 1 di 3