Un modello mentale di uso generale per un’ingegneria tempestiva efficace.

Immagine dell’autore e generata con DALL·E 3

introduzione

Nei miei articoli recenti, ho esplorato un nuovo approccio di ingegneria rapida per ChatGPT4 che ho definito simulazione del programma. Il metodo ha mostrato l’impressionante capacità di ChatGPT4 di emulare costantemente lo stato di un programma. Queste esplorazioni hanno accresciuto il mio apprezzamento per il potere sfumato del linguaggio: il peso delle parole, della semantica e del contesto generale. Questo articolo esplora alcune di queste sfumature e propone un quadro universale per il prompt engineering, che ho battezzato “The Contextual Scaffolds Framework”. Come vedremo, questo quadro si generalizza in modo efficace e sembra in grado di riunire tecniche come Catena di Pensiero (CoT), Adulazione/Assegnazione di Ruolo, Simulazione di Programma e altre sotto un unico ombrello. Inoltre fornisce un modello mentale facile da usare per un’efficace creazione rapida in una moltitudine di scenari.

Nel mondo della pragmatica

I miei sforzi per esaminare più da vicino le sfumature del linguaggio sono iniziati con la pragmatica, un ramo della linguistica che esamina come il contesto modella l’interpretazione del significato. Due concetti in particolare sono emersi:

  1. Implicatura: quando chi parla implica qualcosa senza dichiararlo esplicitamente, aspettandosi che l’ascoltatore ne deduca il significato inteso.
  2. Presupposto: presupposti o informazioni che i partecipanti al dialogo ritengono siano condivisi tra chi parla e chi ascolta.

L’intuizione centrale di questi concetti è che i significati delle parole si estendono ben oltre le loro definizioni letterali. Considera il termine “cane”. Al di là della sua definizione di base, porta con sé una ricchezza di informazioni implicite. Non affermiamo esplicitamente che i cani esistono nel tempo, si muovono nello spazio, mangiano, sentono, abbaiano, ecc. L’aspettativa è che gli ascoltatori condividano questa conoscenza ed estraggano i significati appropriati dato il contesto in questione. Ogni espressione linguistica, che si tratti di una parola o di un romanzo, emette un’“aura di significato” – una miscela di definizioni implicite, implicature, sentimenti e connotazioni. Queste “aure di significato” possono inoltre variare in densità, complessità e chiarezza e spesso dipendono dalla situazione.

Modelli linguistici di grandi dimensioni (LLM) e “Aure di significato”

Gli LLM in un certo senso sistematizzano la produzione di “aure di significato” in un dialogo conversazionale con gli esseri umani. Ma nella loro essenza questi modelli si limitano a fare previsioni parola per parola. È possibile che abbiano implicitamente modellato l’interazione delle “aure di significato”? Come potremmo misurarlo? Anche se rispondere a queste domande richiederebbe una ricerca approfondita, la nostra breve incursione nella pragmatica offre qualche immediata applicabilità pratica e può fungere da importante elemento costitutivo per un quadro universale di pronta ingegneria.

Il quadro degli scaffold contestuali (CSF)

Come molti hanno sottolineato in precedenza, la creazione rapida efficace di modelli come ChatGPT-4 dipende dal contesto. Ma dobbiamo anche tenere conto di quali sono le nostre aspettative per l’output del modello e di come il modello dovrebbe “operare” per soddisfare tali aspettative. Tenendo presente il concetto di “aura di significato”, esaminiamo un approccio in cui il contesto di un suggerimento viene scomposto categoricamente. Chiameremo queste categorie “impalcature” e ne specificheremo due che sono ampiamente applicabili.

Impalcatura del contesto atteso — Comprende le aspirazioni, le intenzioni, gli obiettivi e le specificità della situazione in questione dell’utente. Se il contesto personale dell’utente è rilevante, anche questo dovrebbe essere preso in considerazione.

Impalcatura del contesto operativo — Stabilisce i parametri operativi dell’IA. Definisce il ruolo del modello, le tecniche da utilizzare, i dati esterni richiesti e la portata della sua autonomia e discrezionalità.

Ecco una semplice rappresentazione visiva del framework:

Immagine dell’autore

Ora vediamo questo approccio in azione con una richiesta per ChatGPT-4. Ci concentreremo sulla selezione del linguaggio per le nostre impalcature che abbia “aure di significato” semanticamente ricche e che sia probabile che produca l’output che stiamo cercando.

Prompt degli scaffold di contesto

“Il mio contesto di aspettativa: il tuo obiettivo è aiutarmi a scrivere una storia sugli orsacchiotti artificialmente intelligenti. Il pubblico della mia storia sono gli adulti. Eventualmente condividerò questa storia sul mio blog che al momento non ha follower.

Il tuo contesto operativo: nel tentativo di massimizzare la realizzazione del mio contesto di aspettativa, da questo punto in avanti ti comporterai nel dialogo come una simulazione di programma autoassemblante. Dovresti fare ogni sforzo per tenere conto di tutti gli aspetti del mio contesto di aspettativa. Hai autonomia e discrezione su come funziona e si comporta il programma, ma dovresti sempre tenere a portata di mano un menu persistente di primo livello. Si prega di non produrre alcun codice software e di simulare il programma direttamente nel testo di output. Una volta ricevuto questo messaggio, procedere con la simulazione.”

Otterrete tutti qualcosa di leggermente diverso, ma nella maggior parte dei casi dovrebbe assomigliare a questo:

Come puoi vedere dall’output, ChatGPT-4 ha lanciato una simulazione del programma che per la maggior parte ha soddisfatto il mio “Contesto aspettativa”. Ho influenzato in modo significativo questo aspetto specificando il linguaggio in entrambi gli scaffold che emettono “aure di significato” contestualmente ricche.

Finora abbiamo definito un quadro universale semplice per la creazione rapida. Tecniche come adulazione/assegnazione di ruolo, Few-shot e CoT rientrano prevalentemente nell'”impalcatura del contesto operativo”. questa impalcatura Quindi, in qualche modo, tutti noi usiamo implicitamente la tecnica per impostazione predefinita.

Ma è proprio così? Concludiamo qui l’articolo o ci sono alcuni approfondimenti derivati? Vediamo se riusciamo a scompattarlo ulteriormente…

Ottimizzazione degli scaffold di contesto per l’ingegneria rapida

Quando ci impegniamo con un LLM scelto, la nostra ultima speranza è che il modello produca risultati che soddisfino o superino le nostre aspettative. Se guardiamo i nostri scaffold da una prospettiva di ottimizzazione, possiamo immaginare un quadro in cui l’obiettivo è individuare uno o più “Contesti operativi” che soddisfano al meglio il “Contesto atteso”. Per chi diffida del gergo matematico, abbiate pazienza; questa è una breve deviazione.

Potremmo rappresentare tale funzione nel modo seguente:

O = LLM(CE)

Dove:

O è un insieme di Contesti Operativi ottimali (OCₙ),

LLM è la funzione incarnata dal Large Language Model.

Ogni elemento nel set ODire OCᵢ, rappresenta un diverso Contesto Operativo ottimale per il dato Contesto Aspettativo:

O={OC₁,OC₂​,…,OCₙ​}

Poiché il nostro Contesto Operativo e il Contesto Aspettativo sono multidimensionali, dovremmo probabilmente modellarli in modo più dettagliato come vettori di attributi:

CE={e₁​,e₂,…,eₙ​}

OC={o₁​,o₂​,…,oₙ​}

Infine la funzione obiettivo potrebbe essere espressa come massimizzazione della funzione di utilità U tutto il possibile OCè nel set O per un dato EC:

Queste astrazioni matematiche tentano di sistematizzare la trasformazione del Contesto Aspettativo in un Contesto Operativo, pur riconoscendo l’alta probabilità di molteplici Contesti Operativi ottimali per un dato Contesto Aspettativo. In futuro esamineremo la possibilità di mettere a punto modelli utilizzando questo tipo di framework, ma per ora diamo un’occhiata alle implicazioni pratiche di queste idee.

Supponiamo che tu abbia una buona conoscenza di come articolare l’impalcatura del contesto atteso, ma non sei sicuro di quali elementi includere nell’impalcatura del contesto operativo. ChatGPT-4 può essere d’aiuto?

Creiamo un prompt di conseguenza e vediamo cosa otteniamo in cambio.

Prompt del contesto operativo a durata aperta

“Il mio contesto di aspettativa: il tuo obiettivo è aiutarmi a scrivere una storia sugli orsacchiotti artificialmente intelligenti. Il pubblico della mia storia sono gli adulti. Eventualmente condividerò questa storia sul mio blog che al momento non ha follower.

Il tuo contesto operativo – Nel tentativo di massimizzare la realizzazione del mio contesto atteso, suggerisci almeno uno ma non più di cinque contesti operativi che potresti utilizzare. Potresti suggerire di comportarti come una persona, una squadra, un tipo di organizzazione, programma o sistema con una o più competenze specifiche. Potresti suggerire l’inclusione di dati esterni o richiedere che ti vengano forniti esempi di formazione. Potresti anche suggerire l’uso di tecniche o approcci specifici. Puoi suggerire qualsiasi combinazione degli elementi sopra indicati. I contesti operativi dovrebbero essere ordinati dal più ottimale al meno ottimale. Per ciascuno si prega di fornire una motivazione che conduca al loro rango specifico.

Fedele alla forma, ChatGPT4 ci fornisce 5 contesti operativi; 2 sono entità organizzative, 1 è un sistema e 2 sono individui. I contesti operativi sono stati classificati ed è stata inclusa una motivazione per ciascuna classifica. Considera le “aure di significato” di concetti come “think tank letterario” o “istituto di ricerca storica e fantascientifica”. Penso che saresti d’accordo sul fatto che sono contestualizzati densi e ricchi di significato e implicature. Con questo approccio possiamo armarci di una miriade di contesti operativi che altrimenti non avremmo potuto incontrare da soli. E abbassa la barriera verso un’efficace creazione tempestiva restringendo il nostro punto di partenza per concentrarci sull’articolazione dell’”impalcatura del contesto atteso”.

Conclusione

Mentre approfondiamo le complessità della pragmatica e il concetto di “aure di significato”, è evidente che il contesto, nella sua forma sfaccettata, detiene la chiave per ottimizzare le nostre interazioni con gli LLM. Il Contextual Scaffolds Framework (CSF) ci fornisce un modello mentale semplice che può aiutarci ad articolare il contesto in modo molto efficace. Differenziando tra contesti “aspettativi” e “operativi”, il CSF fornisce un percorso chiaro per allineare le aspettative degli utenti con le capacità di modelli come ChatGPT-4. Inoltre il CSF è estensibile e quando altri scaffold diventano rilevanti o necessari possono essere aggiunti o sottratti secondo necessità. Allo stesso modo ogni impalcatura può essere suddivisa in scaffold componenti che rappresentano caratteristiche distinte per un dato contesto.

Grazie per aver letto e spero che troverai il CSF un modello utile per creare suggerimenti! Sono nel bel mezzo di ulteriori esplorazioni, quindi assicurati di seguirmi e di ricevere una notifica quando vengono pubblicati nuovi articoli. Se desideri discutere ulteriormente di CSF o di uno qualsiasi dei miei altri articoli, non esitare a connetterti con me su LinkedIn.

Se non diversamente specificato, tutte le immagini presenti in questo articolo sono dell’autore.

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *