Avvocati e Mac

impara a lavorare in modo efficiente con macOS ed iOS

  • 📰 Articoli, 🎙Podcast e 📺 Webinar
    • Articoli
    • Podcast Compendium
    • A2 podcast
    • Webinar
  • 🗺 Percorsi di approfondimento
  • 👨‍🎓 Chi sono, 📡 RSS e 📧 Newsletter
    • Chi sono
    • Newsletter
    • RSS

58. Come fare domande ad un LLM (prompt engineering)

June 30, 2025 by Filippo Strozzi

In questa puntata ti parlo di legal prompting e prompt engineering con esempi pratici ed approfondimenti sulle tecniche principali per scrivere un prompt in modo efficace. Proseguo nell’approfondimento della puntata 56.

Note dell’episodio

Come sempre, se ti è piaciuto quel che hai letto, ascoltato o visto e non l’hai già fatto, ti suggerisco di iscriverti alla mia newsletter.
Ti avvertirò dei nuovi articoli che pubblico (oltre ai podcast e video su YouTube) e, mensilmente, ti segnalerò articoli che ho raccolto nel corso del mese ed ho trovato interessanti.

Qui trovi la registrazione in video della puntata non editata.

Link

  • Newsletter: se vuoi rimanere aggiornato sulle mie pubblicazioni.
  • Prompt Engineering: guida ben fatta anche in italiano.
  • Open WebUI
  • Tika
  • SearXNG

Sinossi

Ti ricordo che la sinossi è generata dalla IA in particolare usando la trascrizione del podcast fatta con l’app Transcriber dell’amico Alex Raccuglia (trovi le sue tante applicazioni su Ulti.media) e NotebookLM.

Comunicazioni di servizio

  • Tra fine maggio e giugno è previsto lo spostamento del podcast da Squarespace, con i primi test già avviati.
  • Il nuovo indirizzo previsto sarà compendium.avvocati-e-mac.it, con un redirect da avvocati-e-mac.com/podcast una volta completato il passaggio.

Dal Legal Prompting al Prompt Engineering

  • Questa puntata (la 58) si collega alla puntata precedente (la 56), che trattava il legal prompting.
  • Secondo l'autore, il legal prompting non è fondamentale; è più interessante imparare a scrivere prompt efficaci, ovvero il normale prompt engineering.
  • La puntata si concentra sulle tecniche vere e proprie di prompt engineering basate su ricerche approfondite.
  • Imparare il prompt engineering è più efficace e importante per ottenere i maggiori risultati dai Large Language Model (LLM).
  • Il prompt engineering non è l'unico aspetto da conoscere per sfruttare correttamente gli LLM e non commettere errori; è importante approfondire anche altri aspetti come le "allucinazioni".
  • Il legal prompting da solo non è la soluzione a tutti i problemi.

Cos'è il Prompt Engineering

  • Il Prompt Engineering si riferisce al processo di creazione e ottimizzazione delle istruzioni (prompt) per i sistemi di intelligenza artificiale, in particolare gli LLM, al fine di ottenere risposte pertinenti, accurate e utili.
  • Sebbene l'episodio sia fatto nell'ottica legale, gli esempi non saranno focalizzati solo su questo ambito, ma anche su altre attività svolte con gli LLM.
  • Viene segnalata come risorsa una guida al Prompt Engineering disponibile nelle note dell'episodio.

System Prompt vs User Prompt

  • È fondamentale distinguere tra System Prompt (Prompt di sistema) e User Prompt (Prompt dell'utente).
  • Il System Prompt è un prompt generale che governa tutte le risposte dell'LLM in un determinato contesto.
  • In sistemi come Open Web UI, il System Prompt è personalizzabile per ogni chat, permettendo di inserire informazioni generali senza ripeterle nell'User Prompt.
  • Il System Prompt, in estrema sintesi, viene inserito prima dell'User Prompt vero e proprio e aiuta a uniformare la strutturazione della domanda.
  • LLM online a volte hanno System Prompt di base sconosciuti o modificabili dalle aziende, il che può influenzare le risposte.
  • L'User Prompt è la domanda specifica posta dall'utente o una serie di domande in una chat.
  • Le tecniche per l'User Prompt si applicano in gran parte anche al System Prompt, sebbene gli scopi siano differenti.

Capire gli LLM

  • Le regole di Prompting nascono dalla comprensione di come funzionano gli LLM.
  • Un LLM è un generatore di testo statistico, che produce il testo più probabile.
  • Gli LLM sono addestrati su testi disparati.
  • Domande generiche o non strutturate senza contesto specifico portano a risposte "mediane", basate sulla media dei testi di allenamento.
  • Gli LLM non hanno intuito o contesto umano; è necessario essere molto chiari, descrittivi e specifici su cosa si vuole ottenere e sul risultato atteso.
  • Spesso sono necessarie più interazioni (chat) per raffinare la domanda e ottenere risposte adeguate.
  • Una domanda ben posta porta a ottime risposte, mentre una mal formulata no.
  • Il processo di iterazione con l'LLM può essere un metodo di autoapprendimento per capire come formulare meglio le domande.

Regole Generali di Prompt Engineering

  • Bisogna avere un obiettivo o scopo specifico e descrivere chiaramente il compito per l'LLM.
  • Il linguaggio deve essere chiaro e preciso.
  • Un trucco utile è chiedere all'LLM di riformulare il proprio prompt per renderlo più chiaro o di fare domande sulla domanda per tirare fuori l'obiettivo.
  • È fondamentale considerare le aspettative sul formato della risposta.
  • Gli LLM possono generare risposte in formati specifici come elenchi puntati, paragrafi brevi, tabelle o testi per email.
  • Una caratteristica potente degli LLM è la capacità di strutturare i dati, anche in formati come JSON.
  • Viene mostrato un esempio di come un LLM può decostruire una sentenza della Cassazione e ricostruirla in formato JSON.
  • Viene fatto un esempio pratico non legale: usare un LLM per estrapolare argomenti e creare i timestamp per i capitoli di un video YouTube da una trascrizione.
  • Il formato della risposta non va sottovalutato ed è stato oggetto di un focus specifico.
  • È cruciale spiegare il contesto, poiché l'LLM non conosce la situazione dell'utente.
  • Viene mostrato un esempio di prompt strutturato trovato online per generare capitoli YouTube, sebbene lungo.
  • Viene mostrato un prompt alternativo creato dall'autore, molto più semplice ma efficace, per lo stesso scopo.
  • I prompt più semplici possono funzionare bene, soprattutto con LLM più potenti che richiedono minore specificità.

Sperimentare e Salvare i Prompt

  • Il modo migliore per migliorare è sperimentare e salvare i prompt.
  • Tenere un archivio dei prompt e svilupparli nel tempo è consigliato.
  • L'autore utilizza Obsidian per prendere appunti sui prompt, formattandoli come codice per facilitare la copia.
  • Viene descritto un sistema personale per organizzare i prompt basato sul nome dell'LLM e una descrizione.
  • Un prompt creato per un LLM specifico (es. Notebook LM) potrebbe non funzionare allo stesso modo su un altro (es. ChatGPT).

Esempio di System Prompt Legale

  • Viene presentato un esempio di System Prompt utilizzato in ambito legale con LLM locali (Open Web UI).
  • Il prompt specifica il ruolo dell'LLM ("assistente legale italiano nel settore civile") e il compito ("esamina la fattispecie, individua norme e giurisprudenza, argomenta in base ai risultati, cita sempre riferimenti").
  • Vengono sottolineati i verbi specifici e chiari utilizzati nel prompt (esamina, individua, argomenta, cita).
  • Sono incluse preferenze di formattazione (norme in grassetto, massime giurisprudenziali in corsivo) con esempi (one shot).
  • Una regola importante per cercare di evitare le allucinazioni è istruire l'LLM a rispondere "non ho le informazioni per risponderti" se non sa la risposta.
  • Le allucinazioni sono una funzione degli LLM di generare testo verosimile ma non veritiero; questo sistema non risolve il problema completamente ma aiuta.
  • L'autore inserisce sempre la "catena di pensiero" ("ragiona passo passo e segui un filo logico") anche se alcuni LLM la implementano già.
  • Il prompt di sistema mostrato viene utilizzato anche per ricerche web, chiedendo all'LLM di trovare informazioni online e restituire risposte con citazioni dalle fonti web.
  • Dare un indirizzo prevalentemente legale a un LLM è utile per ottenere risposte più sensate e appropriate nel mondo legale, anche se un LLM non può sostituire un avvocato.

Tecniche Avanzate (Zero Shot, One Shot, Few Shot, Chain of Thought)

  • Gli LLM moderni, nati per il completamento del testo, funzionano bene in chat grazie ai "transformer" e alla capacità di "attenzione".
  • Lo Zero Shot consiste nel fare una domanda secca all'LLM aspettandosi una risposta diretta senza esempi.
  • In alternativa allo Zero Shot, si può usare la chat per iterare e raffinare la risposta attraverso un dialogo.
  • L'approccio via chat può essere comodo per tentativi, come nel caso dell'autore che ha chattato con un'IA per creare un programma non sapendo programmare.
  • Nel mondo legale, l'autore tende a usare l'approccio Zero Shot, strutturando e raffinando prompt specifici.
  • Il One Shot e il Few Shot consistono nel dare degli esempi di risultato all'LLM direttamente nel prompt. Questo aiuta a ottenere un risultato più preciso, come visto nell'esempio dei capitoli YouTube.
  • La Chain of Thought (catena di pensiero) si basa sull'osservazione che quando l'LLM "ragiona" sulla risposta, il risultato è solitamente migliore.
  • Nei nuovi LLM, c'è una parte di "pensiero" prima della risposta finale.
  • Anche per modelli che non ragionano intrinsecamente, frasi come "pensiamo passo dopo passo" o "ragiona passo passo e segui un filo logico" aiutano a ottenere risposte più centrate.

Dare le Fonti agli LLM

  • Dare le fonti all'LLM è una tecnica molto efficace.
  • Il modo più semplice è inserire direttamente il testo della fonte nel prompt, come copiare il testo di una sentenza. Questo approccio è limitato dalla finestra di contesto.
  • Un modo più efficace è utilizzare i tag XML per delimitare il testo della fonte all'interno del prompt. Questo struttura i dati e permette di fare riferimento alla fonte (es. <documento>...</documento>).
  • La fase successiva per documenti grandi o finestre di contesto limitate è la RAG (Retrieval Augmented Generation).
  • La RAG spezzetta il documento e, in base alla domanda, estrae le porzioni di testo più attinenti da inserire nel prompt.
  • L'autore sta sperimentando la RAG con il codice civile e di procedura civile in Open Web UI, ottenendo risultati molto centrati e corretti. Il system prompt legale menzionato in precedenza è spesso usato in questo caso.
  • L'approccio più evoluto è l'interazione con ricerche online. L'LLM va online, fa ricerche, acquisisce le fonti e genera una risposta basata su di esse.
  • L'autore è riuscito a far fare ricerche online a LLM locali usando software come Tika e SearXNG.
  • Questo approccio restituisce non solo la risposta ma anche un elenco delle fonti utilizzate, utile per approfondire e verificare.
June 30, 2025 /Filippo Strozzi
legal prompting, Intelligenza Artificiale
  • Newer
  • Older

Powered by Squarespace