Tra dodici annunci fatti da OpenAI lo scorso dicembre uno di quelli forse meno “AI” ma che hanno avuto più impatto sul mio flusso lavorativo sono i progetti.
Si tratta a prima vista di una funzione di organizzazione dell’elenco infinito di conversazioni che stiamo accumulando e che neanche con l’ausilio della funzione di ricerca si riesce più a ritrovare, ma non appena ho avuto accesso alla funzione ho trovato molto di più e oggi è tra le funzionalità più importanti nella mia interazione con l’intelligenza artificiale.
Cerchiamo di capire in cosa consiste questa novità e i suoi impatti nella creazione di un terreno comune di discussione ordinata con l’AI.
Come funzionano i progetti in ChatGPT
La funzionalità, se disponibile, appare nella barra sinistra dell’interfaccia sopra la lista delle conversazioni. Per aggiungere un progetto è sufficiente cliccare sul ‘+’ che appare quando ci si muove col mouse sopra la scritta “Progetti” (attualmente l’applicazione mobile consente di usare i progetti ma non di crearli).

La richiesta di creazione del progetto apre un popup in cui viene chiesto il suo nome.

La spiegazione di cosa sia un progetto già evidenzia che non si tratta di un semplice folder di chat: oltre alle chat infatti possiamo fornire sia file che istruzioni personalizzate, ovverosia due dei tre elementi che caratterizzano un GPT (mancano solo le azioni).
Una volta creato il progetto la sua interfaccia appare con una casella per avviare una nuova conversazione nel progetto, la possibilità di aggiungere file e quella di specificare istruzioni specifiche che saranno applicate a tutte le conversazioni del progetto.

È possibile spostare chat esistenti in un progetto o spostarle al di fuori di esso con un semplice drag&drop.
Le nuove chat nel progetto avranno accesso alle informazioni presenti in tutte le chat del progetto, ai file e terranno conto delle istruzioni del progetto.
Si tratta di uno splendido strumento per fornire un contesto articolato di informazioni che siano utili allo sviluppo di una conversazione non banale con l’AI. Già ora molti utenti, incluso il sottoscritto, avevano imparato che continuare a discutere sempre sulla stessa chat consente di costruire una “storia” di una o più discussioni su un determinato argomento, ma onestamente chat troppo lunghe sono difficili da gestire, anche con l’aiuto dell’AI stessa!
Ora invece possiamo fornire documenti e un contesto e avviare più discussioni nella certezza che le informazioni contenute contribuiranno alle interazioni anche in chat successive. Per apprezzarne l’utilizzo ho provato a usare la funzione per due progetti: uno dedicato alla generazione di post per il mio profilo LinkedIn, post di cui io possa condividere il contenuto e la forma ma che accelerino la loro composizione; e l’altro dedicato allo sviluppo di software, e in particolare del framework Oraculum.
Generare post sul LinkedIn
Io appartengo a quella categoria di utenti della AI che fanno fatica a farsi generare testo che poi fanno proprio. Lo faccio quando compongo documenti di natura burocratica, ma quando scrivo articoli, o documenti, fatico ad adattare il mio modo di scrivere a quello dell’AI e finisco sempre per non usare l’AI perché mi viene più facile scrivere direttamente il testo come lo penso. Ho pensato quindi che generare post (in inglese) su LinkedIn avrebbe potuto essere un buon esercizio per cominciare a sperimentare una scrittura insieme all’AI.
Ho creato quindi un progetto denominato LinkedIn senza file ma con istruzioni specifiche visibili nella seguente immagine:

Personalmente ritengo che sia corretto informare un lettore quando un testo è stato generato con l’ausilio dell’AI, ho quindi informato in un post su LinkedIn che avrei cominciato questa sperimentazione taggando i post con #AICoEdit e spiegando l’obiettivo dell’esperimento. Ho quindi pensato di aggiungere a tutti i post un footer con il riferimento al post che spiega l’iniziativa.
Nel progetto ho quindi iniziato una conversazione per ciascun post e per ora l’esperimento si sta rivelando decisamente sorprendente. A volte chiedo a GPT di cercare news interessanti, più spesso parto da una riflessione o da un link a un’informazione che mi ha colpito. Ovviamente se si vuole realizzare un contenuto originale e decentemente interessante non ci si può limitare a chiedere un post basato su una singola informazione, avvio quindi una chiacchierata aggiungendo elementi o riflessioni nella chat. Quando sento di aver introdotto elementi sufficienti chiedo a GPT di generare il post in inglese includendo in una sezione “Sources” in coda al post gli eventuali link alle fonti. Concludo con la richiesta di un’immagine da associare al post.
Vediamo un esempio: ho letto un report che indicava che le PMI italiane hanno una bassa percentuale di adozione dell’AI (4,7%) e mi sono naturalmente chiesto cosa succedeva fuori Italia:

Ho quindi chiesto dei confronti:

La risposta sembrava ignorare che una PMI americana è spesso enorme rispetto alla controparte italiana ed ho quindi tirato in ballo l’argomento:

Alla fine abbastanza soddisfatto degli elementi discussi ho chiesto di generare il post.
Dopo quasi tre settimane posso dire che l’esperimento sta funzionando e sono soddisfatto dei risultati raggiunti. Un aspetto che mi ha colpito è come le nuove conversazioni rispondono decisamente alla dinamica in cui prima si discute e infine si genera, e anche i post che mi venivano inizialmente proposti molto schematici ora sono più discorsivi come tendo a preferirli. È evidente quindi che le interazioni che ho avuto in passato condizionano effettivamente le nuove chat nel progetto rendendo decisamente più efficace l’interazione con l’AI rispetto alle singole chat.
Uno spazio di brainstorming sul codice
Per provare un caso d’uso differente ho immaginato un Progetto dedicato a brainstorming sui possibili sviluppi del framework Open Source Oraculum che ho sviluppato e che continuo a mantenere. In questo caso oltre a poche semplici istruzioni sullo scopo del progetto e sulle risposte che mi aspettavo ho allegato tutti i file sorgente del progetto.
Ho cominciato quindi una conversazione sull’evoluzione della memoria della Sibylla, l’assistente che usa la base di conoscenza di Oraculum per rispondere in una chat. Il risultato mi ha decisamente sorpreso, ponendo domande specifiche ho ricevuto risposte molto puntuali con ipotesi su modifiche al codice decisamente appropriate. Certamente alcune operazioni continuo a svolgerle con il supporto di GitHub Copilot, ma per valutazioni complessive e le attività di brainstorming ho trovato questo uso del progetto molto utile.

Conclusioni
I Progetti di ChatGPT non vanno quindi considerati come un mero folder di Chat, assomigliano più a dei GPTs personali che grazie a documenti e istruzioni specifiche supportano attività in modo organico consentendo di fornire un contesto articolato al modello, anche gradualmente, consentendo di investire nel tempo su un insieme di conoscenze condivise tra utente e modello affinché le interazioni siano decisamente più proficue e centrate. In poche settimane sono diventate uno strumento facile da usare ed essenziale per il mio flusso di lavoro con ChatGPT.
I Progetti si sposano naturalmente con la rinnovata abilità di GPT di cercare online, fornendo uno spazio di brainstorming molto efficace che dimostra come le innovazioni non sono sempre nella nuova versione di un modello: il buon vecchio software engineering può ancora fare la differenza, così come la UX/UI di un software.