Nell’aprile 2023, poco dopo il lancio di GPT-4, Internet fu travolto dall’entusiasmo per due nuovi progetti software: BabyAGI e AutoGPT. Questi agenti autonomi, come Mark Sullivan di Fast Company ebbe a scrivere, erano progettati per collaborare con modelli linguistici di grandi dimensioni (LLM) come GPT-4 di OpenAI, al fine di risolvere problemi complessi. Erano già in grado di svolgere una varietà di compiti, dalla ricerca web alla scrittura di codice, fino alla creazione di liste di cose da fare.

La sfida iniziale di GPT-4
BabyAGI e AutoGPT operavano stimolando ripetutamente GPT-4. L’obiettivo era indurre un comportamento da “agente”: un prompt iniziale forniva a GPT-4 un obiettivo, ad esempio “creare un piano alimentare di 7 giorni per me”, e gli chiedeva di generare una lista di attività conseguenti, come “Cercare piani alimentari sani”, “Pianificare i pasti per la settimana” e “Scrivere le ricette per ogni cena in diet.txt”. Questi framework avrebbero poi guidato GPT-4 nell’esecuzione di un passaggio alla volta, nella speranza che l’invocazione ciclica del modello gli permettesse di affrontare progetti articolati in più fasi.
Nonostante l’iniziale ondata di entusiasmo, divenne presto evidente che GPT-4 non era all’altezza del compito. Spesso, il modello riusciva a produrre un elenco di attività sensato e, a volte, persino a completarne alcune. La capacità di GPT-4 di mantenere la concentrazione era una sfida. Poteva commettere un piccolo errore iniziale, non riuscire a correggerlo e quindi perdersi progressivamente.
Una delle prime recensioni di BabyAGI lamentava che il sistema “sembrava non riuscire a portare a termine la sua lista di attività e continuava a modificare l’attività numero uno invece di passare all’attività numero due“. Entro la fine del 2023, l’interesse per AutoGPT e BabyAGI era scemato, rivelando che gli LLM non erano ancora in grado di sostenere un ragionamento affidabile su più passaggi.
Le cose iniziarono a cambiare radicalmente nella seconda metà del 2024, con l’emergere di sistemi basati sull’intelligenza artificiale in grado di completare in modo coerente compiti complessi e articolati. La nuova generazione di strumenti di codifica, come Bolt.new, Lovable e Replit, ha reso possibile la creazione di app complete con un singolo prompt, anche per chi ha poca o nessuna esperienza di programmazione. Parallelamente, strumenti di codifica agentica come Cursor, Claude Code, Jules e Codex hanno iniziato a supportare programmatori esperti nel completamento di attività di programmazione non banali.
Inoltre, strumenti informatici sviluppati da Anthropic, OpenAI e Manus sono ora in grado di eseguire attività su un desktop virtuale, simulando l’uso di tastiera e mouse. Nel campo della ricerca, strumenti di ricerca approfondita di Google, OpenAI e Perplexity possono analizzare un argomento per diversi minuti e generare report dettagliati e completi.
Secondo Eric Simons, CEO di StackBlitz, l’azienda dietro Bolt.new, il successo di questi nuovi sistemi è stato possibile grazie a modelli IA notevolmente migliorati. In un’intervista podcast di dicembre, Simons ha raccontato come all’inizio del 2024 StackBlitz avesse tentato di sviluppare un prodotto simile a Bolt.new, ma i modelli di intelligenza artificiale dell’epoca “non erano abbastanza validi per generare codice in modo accurato“. A metà del 2024, una nuova generazione di modelli ha cambiato le carte in tavola, spingendo gli sviluppatori di StackBlitz a esclamare: “Oddio, ok, possiamo costruire un prodotto attorno a questo“.
Questo salto nelle capacità dei modelli ha coinciso con un significativo cambiamento nel modo in cui i modelli vengono addestrati. Prima del 2024, i laboratori di intelligenza artificiale dedicavano la maggior parte della loro potenza di calcolo al pre-addestramento, un processo in cui un modello viene addestrato a prevedere la parola successiva in vasti corpus di testo come articoli di Wikipedia e notizie. Tuttavia, nel corso del 2024, le aziende di intelligenza artificiale hanno iniziato a destinare una quota crescente dei loro budget per l’addestramento al post-addestramento, un termine generico che comprende i passaggi successivi alla fase di pre-addestramento.
Molte delle fasi di post-addestramento impiegano una tecnica chiamata apprendimento per rinforzo. Sebbene sia un argomento tecnico con interi libri di testo dedicati, l’apprendimento per rinforzo ha avuto un ruolo fondamentale nel rendere possibile la nuova generazione di sistemi di intelligenza artificiale agentica che ha iniziato ad emergere nella seconda metà del 2024. Questa metodologia ha contribuito in modo significativo a migliorare le capacità dei modelli di affrontare compiti complessi e multi-step.
Il pre-addestramento: imitazione e i suoi limiti
Gli esperti di machine learning vedono il pre-addestramento come una forma di apprendimento per imitazione. In questo processo, i modelli vengono addestrati per replicare il comportamento di autori umani. L’apprendimento per imitazione è una tecnica incredibilmente potente, tanto che gli stessi Large Language Models (LLM) non esisterebbero senza di essa. Tuttavia, presenta anche dei limiti significativi, che i metodi di apprendimento per rinforzo stanno ora contribuendo a superare.
Per comprendere meglio queste limitazioni, possiamo analizzare una famosa ricerca condotta dall’informatico Stephane Ross intorno al 2009, quando era uno studente laureato presso la Carnegie Mellon University.
L’apprendimento per imitazione non si limita alla modellazione del linguaggio; trova applicazione in svariati campi, dalle auto a guida autonoma alla chirurgia robotica. Ross, il cui obiettivo era sviluppare tecniche migliori per addestrare i robot a svolgere compiti complessi (e che ora lavora sulle auto a guida autonoma presso Waymo), ha deciso di partire da un problema più semplice per le sue sperimentazioni: addestrare una rete neurale a padroneggiare SuperTuxKart, un videogioco open source simile a Mario Kart.
Durante il gioco di Ross, il suo software registrava schermate e dati sui pulsanti premuti sul controller. Questi dati sono stati poi usati per addestrare una rete neurale a imitare il suo stile di gioco. L’idea era che, se la rete neurale fosse stata in grado di prevedere quali pulsanti Ross avrebbe premuto in un dato stato di gioco, avrebbe potuto effettivamente giocare premendo quegli stessi pulsanti su un controller virtuale. Un concetto simile è alla base degli LLM: un modello addestrato a prevedere la parola successiva nei documenti esistenti può essere usato per generare nuovi documenti.
I risultati iniziali di Ross con SuperTuxKart furono deludenti. Nonostante avesse mostrato al suo veicolo come percorrere la pista più volte, la rete neurale commetteva numerosi errori. Riusciva a procedere correttamente solo per pochi secondi, prima che l’auto animata si spostasse verso il bordo della pista e precipitasse nell’abisso virtuale.
Ross e il suo supervisore, Drew Bagnell, hanno spiegato perché l’apprendimento per imitazione è soggetto a questo tipo di errore. Poiché Ross era un giocatore piuttosto abile a SuperTuxKart, il suo veicolo trascorreva la maggior parte del tempo vicino al centro della carreggiata. Questo significava che la maggior parte dei dati di addestramento della rete indicava cosa fare quando il veicolo non correva alcun rischio di uscire di pista.
Ogni tanto, il modello si allontanava leggermente dal tracciato. Dato che Ross raramente commetteva lo stesso errore, l’auto si trovava ora in una situazione non rappresentata altrettanto bene nei dati di addestramento. Era quindi più probabile che il modello commettesse un secondo errore, il quale avrebbe potuto spingerlo ancora più vicino al limite. Dopo alcune iterazioni, il veicolo poteva persino uscire di pista.
La lezione più ampia, come sostenuto da Ross e Bagnell, era che i sistemi di apprendimento per imitazione possono soffrire di “errori composti“: più errori commettono, più è probabile che ne commettano altri, poiché gli errori li collocano in situazioni non ben rappresentate dai loro dati di addestramento. Gli esperti di apprendimento automatico definiscono queste situazioni “fuori distribuzione”. Di conseguenza, il comportamento di un modello tende a diventare sempre più irregolare nel tempo
“Queste cose si aggravano nel tempo,” ha detto Ross: “Potrebbe essere solo leggermente fuori dalla distribuzione. Ora inizi a commettere un errore leggermente peggiore, e questo si ripercuote influenzando il tuo input successivo. E quindi ora sei ancora più fuori dalla distribuzione e continui a fare previsioni sempre peggiori perché sei sempre più fuori dalla distribuzione”.
I primi LLM soffrivano dello stesso problema. Un esempio lampante è il famoso articolo di Kevin Roose in prima pagina sul New York Times del febbraio 2023. Roose trascorse più di due ore a parlare con il nuovo chatbot Bing di Microsoft, basato su GPT-4. Durante questa conversazione, il chatbot dichiarò il suo amore per Roose e lo esortò a lasciare la moglie, arrivando a suggerire che avrebbe potuto hackerare altri siti web per diffondere disinformazione e malware.
Oltre il RAG tradizionale: L’evoluzione dei Large Language Models (LLM)
Nel 2023, una delle applicazioni più dibattute per i Large Language Models (LLM) era la creazione di chatbot capaci di comprendere i documenti interni di un’azienda. L’approccio convenzionale a questo problema era noto come RAG (Retrieval Augmented Generation).
Quando un utente poneva una domanda, un sistema RAG eseguiva una ricerca basata su parole chiave o vettori per recuperare i documenti più pertinenti. Questi documenti venivano poi inseriti nella finestra di contesto di un LLM prima di generare una risposta. Sebbene i sistemi RAG potessero essere efficaci per dimostrazioni accattivanti, nella pratica tendevano a non funzionare in modo ottimale. Questo perché una singola ricerca spesso non riusciva a individuare i documenti più pertinenti, compromettendo l’accuratezza delle risposte.
Oggi, è possibile sviluppare sistemi di recupero delle informazioni notevolmente superiori permettendo al modello stesso di scegliere le query di ricerca. Se la prima ricerca non restituisce i documenti corretti, il modello può revisionare la query e riprovare. Questo processo iterativo consente a un modello di eseguire cinque, venti o persino cento ricerche prima di fornire una risposta.
Questo approccio funziona solo se un modello è “agentico”, ovvero se riesce a mantenere la concentrazione su più cicli di ricerca e analisi. Prima del 2024, gli LLM mostravano scarse prestazioni in questo ambito, come dimostrato dagli esempi di AutoGPT e BabyAGI. I modelli odierni sono invece molto più efficaci, il che permette ai moderni sistemi in stile RAG di produrre risultati migliori con meno “scaffolding” (struttura o guida esterna). Si possono considerare gli strumenti di “ricerca approfondita” di OpenAI e di altri come sistemi RAG estremamente potenti, resi possibili da un ragionamento a contesto lungo migliorato.
Lo stesso principio si applica ad altre applicazioni agentiche, come gli agenti di programmazione e quelli per l’utilizzo del computer. Ciò che questi sistemi hanno in comune è la capacità di ragionamento iterativo: pensano, intraprendono un’azione, riflettono sul risultato, intraprendono un’altra azione e così via, in un ciclo continuo di miglioramento e adattamento.
Lo studio è stato pubblicato su ars technica.
