Maieutica socratica con i LLM (large language model)

Maieutica socratica con i LLM (large language model)

Condividi con i tuoi amici...

La maieutica socratica è un metodo filosofico sviluppato da Socrate, filosofo greco vissuto tra il 490 e il 399 a.C. Questo metodo si basa sul dialogo e sul porre domande, con lo scopo di stimolare la riflessione critica e la scoperta delle conoscenze.

Socrate credeva che la verità e la saggezza fossero già presenti all’interno di ogni persona, e che il suo ruolo come filosofo fosse quello di aiutare gli altri a “partorire” queste verità nascoste.

La maieutica socratica era caratterizzata da una serie di passaggi: Socrate iniziava con domande semplici, guidando poi l’interlocutore verso questioni più profonde. Attraverso questo processo, l’interlocutore era portato a esaminare e a mettere in dubbio le proprie credenze, spesso scoprendo inconsistenze o contraddizioni nei propri pensieri.

Questo metodo era rivoluzionario per l’epoca perché spostava l’attenzione dall’insegnamento diretto e dalla memorizzazione delle informazioni, verso un approccio più orientato al pensiero critico e all’autoesplorazione. La maieutica ha influenzato profondamente l’educazione e la filosofia occidentale, ponendo le basi per l’indagine critica e l’autoanalisi.

Socrate non ha lasciato opere scritte; ciò che conosciamo del suo pensiero e del suo metodo proviene principalmente dagli scritti dei suoi studenti, in particolare da Platone. Nei dialoghi di Platone, Socrate è spesso il personaggio principale, e attraverso questi dialoghi possiamo osservare il metodo maieutico in azione.

Ecco alcuni dialoghi:

Nel “Teeteto”, Socrate discute con Teeteto, un giovane studente, per definire cosa sia la conoscenza. Socrate guida Teeteto attraverso una serie di domande e riflessioni per aiutarlo a giungere a una definizione più chiara e profonda della conoscenza.

Nel “Menone” Socrate discute con Menone sulla natura della virtù e se possa essere insegnata. In un famoso episodio, Socrate usa un servo per dimostrare che la conoscenza è latente in tutti gli esseri umani e può essere “risvegliata” attraverso domande appropriate.

Nell’ “Eutifrone” Socrate interroga Eutifrone, che si considera un esperto di questioni religiose e morali. Attraverso una serie di domande, Socrate mostra che Eutifrone non ha una comprensione chiara e coerente della pietà, uno dei concetti che afferma di conoscere bene.

In tutti questi dialoghi, il metodo maieutico di Socrate emerge come un potente strumento per sfidare e sviluppare il pensiero critico, spingendo gli interlocutori a esaminare e raffinare le proprie credenze.

Dialogo immaginario

Socrate: Buongiorno, amico mio. Mi è giunto all’orecchio che tu sei un esperto di giustizia. Potresti dirmi cosa è, in realtà, la giustizia?

Interlocutore: Certo, Socrate. La giustizia è dare a ciascuno ciò che gli spetta.

Socrate: Interessante. Quindi, se io avessi un libro che appartiene a te, sarebbe giusto restituirtelo, giusto?

Interlocutore: Esatto, questo sarebbe un atto di giustizia.

Socrate: E se io sapessi che tu intendi usare quel libro per scopi malvagi? Sarebbe ancora giusto restituirtelo?

Interlocutore: Beh, in quel caso… forse no. Non sarebbe giusto aiutarti a fare del male.

Socrate: Allora, sembra che la giustizia non sia semplicemente dare a ciascuno ciò che gli spetta, ma piuttosto dare a ciascuno ciò che è bene per lui, non è vero?

Interlocutore: Sì, sembra ragionevole.

Socrate: Ma come possiamo sapere ciò che è realmente bene per qualcuno? Non è forse necessario avere una comprensione profonda del bene e del male?

Interlocutore: Sì, sembra necessario.

Socrate: Quindi, per essere veramente giusti, dobbiamo prima essere saggi e comprendere il bene. La giustizia, quindi, non è solo un’azione, ma richiede anche la conoscenza e la saggezza. Che ne pensi?

Interlocutore: Sembra che tu abbia ragione, Socrate. La giustizia è più complessa di quanto pensassi.

Questo dialogo illustra il tipico approccio maieutico di Socrate: inizia con una definizione semplice fornita dall’interlocutore, poi la mette in discussione con esempi pratici e domande, portando infine l’interlocutore a una comprensione più profonda e matematica del concetto discusso.

Modelli generativi del linguaggio (LLM) e maieutica

Utilizzare un approccio maieutico con modelli di linguaggio come GPT è un’idea affascinante. Anche se i modelli LLM non possono “pensare” o “riflettere” come gli umani, possono simulare un dialogo socratico attraverso un’intelligente programmazione delle domande e delle risposte. Ecco come potrebbe funzionare:

Si può Iniziare il dialogo con domande che stimolano la riflessione. Ad esempio, si potrebbe chiedere al modello di definire un concetto complesso o di esprimere un’opinione su un argomento controverso.

Dopo la risposta iniziale del modello, potete sfidare questa risposta con domande di follow-up. Queste domande dovrebbero essere progettate per approfondire l’argomento, esplorando le implicazioni, le eccezioni o i presupposti della risposta.

Questa parte è il cuore del procedimento.

Anche se il modello non può effettivamente pensare criticamente, può simulare il processo attraverso risposte che mostrano come si potrebbero considerare diverse prospettive o esaminare le conseguenze di un’idea.

Infine, si potrebbe chiedere al modello di riassumere il dialogo o di riflettere su ciò che è stato discusso, fornendo una sintesi che evidenzi i punti chiave e le possibili contraddizioni o aree di ulteriore indagine.

Step by step

Utilizzare un modello di linguaggio come GPT per affrontare problemi complessi richiede un approccio strategico che combina domande mirate e analisi delle risposte. Ecco alcuni passaggi per orientare il modello verso la soluzione di problemi complessi:

Inizia con una descrizione dettagliata e specifica del problema. Più il problema è definito chiaramente, più facile sarà per il modello fornire risposte pertinenti.

Spezza il problema in parti più piccole e gestibili. Chiedi al modello di analizzare ciascuna porzione separatamente. Questo può aiutare a identificare i fattori chiave e le possibili aree di intervento.

Chiedi al modello di generare diverse ipotesi o soluzioni potenziali. Questo può includere il brainstorming di idee diverse, anche quelle che possono sembrare inizialmente improbabili.

Una volta che le ipotesi sono state formulate, valutale criticamente. Chiedi al modello di discutere i pro e i contro di ciascuna soluzione, considerando vari scenari e possibili conseguenze.

Introduci esempi reali o ipotetici per vedere come il modello applica le soluzioni proposte in situazioni concrete. Questo può aiutare a identificare lacune o punti deboli nelle soluzioni proposte.

Dopo aver valutato le diverse soluzioni, rifletti sui risultati. Potresti dover iterare il processo, modificando la tua domanda iniziale o esplorando aspetti diversi del problema basandoti sulle risposte ottenute.

Infine, chiedi al modello di sintetizzare le scoperte e presentare una conclusione o una raccomandazione basata sull’analisi effettuata.

Approccio contrarian

Adottare un atteggiamento contrarian, che mira a confutare o criticare le ipotesi del modello, può offrire diversi vantaggi, specialmente quando si tratta di problem solving e di generazione di idee creative.

Criticare o mettere in discussione le risposte del modello può aiutare a identificare lacune o errori nelle sue soluzioni, portando a risultati più accurati e completi. Questo approccio stimola un pensiero più critico e analitico, utile non solo per valutare le risposte del modello, ma anche per affinare la propria capacità di analisi e valutazione critica. Mettendo in discussione le risposte del modello, si possono esplorare alternative e considerare prospettive diverse, che potrebbero essere trascurate in un approccio più conformista. Contraddire o criticare le risposte aiuta a evitare il bias di conferma, dove si è inclini ad accettare informazioni che confermano le proprie credenze preesistenti, ignorando quelle che le contraddicono.

Sistema multi-agente

Ci si può avvalere di due modelli GPT: uno che sostiene una tesi e l’altro che sostiene la tesi opposta. facendoli conversare possono nascere nuove idee.

Si può fare in modo molto semplificato ponendo una domanda o comunicando un’asserzione al primo modello ed inserendo la sua risposta come input nel secondo modello, il quale a sua volta genererà una risposta da inserire nel primo modello e così via.

Un esempio di chatbot “contrarian” che si può usare per questo scopo: chatbot contrarian.

Insistere

La reiterazione del procedimento è un procedura efficace perchè i modelli LLM non essendo deterministici non danno le stesse risposte alle medesime domande, ma variano proponendo novità di volta in volta. Impariamo, quindi, a non aver timore di chiedere le stesse cose o cose molto simili.

Se per offrire un buon contesto al modello è spesso utile interagire con esso nell’ambito della stessa conversazione, a volte potrebbe essere altrettanto efficace creare una nuova conversazione dedicata ad una parte del problema che si sta analizzando o ad una specifica domanda in modo che il modello non sia condizionato dalla via precedentemente intrapresa per affrontare la questione, ma che sia messo nelle condizioni di affrontarla esplorando una nuova strada.

Puoi leggere alcune conversazioni fatte con il modello GPT3.5 e GPT4 in questa sezione

L’articolo Programmare con chatGPT e modelli simili mostra come i modelli GPT possono essere utilizzati per programmare. Il procedimento efficace da adottare è molto simile a quello descritto in questo articolo

Approfondisci le tecniche di prompt engeenering