modulo 01 / lezione 03

Fondamenti per sviluppatori

Determinismo, temperatura, parametri di sampling

Controllare la variabilità dell'output quando serve coerenza e accettare la varianza quando serve creatività.

60 min Prompt Engineering

Determinismo, temperatura, parametri di sampling

Due esecuzioni dello stesso prompt possono produrre risposte diverse. A volte è un problema: estrazione dati, test, refactor e output JSON richiedono stabilità. A volte è un vantaggio: brainstorming, naming, alternative di architettura e copy possono beneficiare della varietà. Il punto è decidere quanta varianza vuoi prima di lanciare il prompt.

Perché questa lezione conta

Senza controllo della variabilità, non sai se stai migliorando un prompt o se hai solo ottenuto una risposta fortunata. Per uno sviluppatore questo è pericoloso: potresti accettare un template fragile perché in una singola esecuzione ha prodotto l’output giusto.

Questa lezione non trasforma i parametri in una formula universale. Ti dà un criterio operativo: task ripetibili richiedono parametri, prompt e versioni salvate; task esplorativi richiedono invece varietà gestita.

Parametri principali

Temperatura

La temperatura controlla quanto il modello tende a esplorare alternative. In modo pratico:

  • temperatura bassa: risposte più stabili e conservative;
  • temperatura alta: risposte più varie, ma anche più imprevedibili;
  • temperatura non documentata: impossibile confrontare bene due output.

Per codice, estrazione strutturata, review e classificazione, di solito vuoi bassa variabilità. Per ideazione, naming o alternative di prodotto puoi accettare più varietà.

Top-p, top-k e seed

Top-p e top-k limitano l’insieme di token candidati. Il seed, quando disponibile, aiuta a riprodurre una generazione a parità di modello e parametri. Non devi necessariamente regolarli ogni volta, ma devi sapere che fanno parte dell’esperimento.

Se confronti due prompt cambiando insieme prompt, modello e temperatura, non stai facendo un confronto pulito. Stai cambiando troppe variabili.

Versione modello

Il parametro più sottovalutato è il modello stesso. Una nuova versione può cambiare aderenza al formato, stile, capacità di ragionamento, tendenza a chiedere chiarimenti e lunghezza delle risposte. Per workflow seri, salva sempre versione modello e parametri accanto al prompt.

Tre preset pratici

UsoObiettivoVarianza desiderataNota
Estrazioneoutput parsabile e ripetibilebassaschema e validazione contano più della creatività
Refactorpatch piccola e controllabilebassameglio chiedere alternative in una fase separata
Brainstormingmolte opzioni diversemedia/altavaluta dopo, non durante la generazione

Questi preset non sono numeri assoluti, perché ogni provider espone parametri diversi. Sono però categorie decisionali.

Esempio operativo

Prompt fragile:

Genera una soluzione elegante per validare questi dati.

Prompt orientato alla stabilità:

Genera una funzione di validazione deterministica.

Vincoli:
- output booleano più lista errori;
- niente dipendenze esterne;
- gestisci input null, stringhe vuote e campi mancanti;
- restituisci anche 5 test case.

Obiettivo: stessa logica e stesso formato a ogni esecuzione.
Se proponi alternative, mettile dopo la soluzione principale e non cambiare la firma.

Prompt orientato all’esplorazione:

Proponi 5 alternative per progettare la validazione.
Per ciascuna indica pro, contro, costo di implementazione e quando scartarla.
Non scrivere codice: in questa fase voglio solo opzioni architetturali.

La differenza è che nel primo caso vuoi convergenza, nel secondo divergenza. Mischiarle nello stesso prompt produce spesso output confuso.

Laboratorio guidato

Scegli tre task:

  1. estrazione di dati in JSON;
  2. generazione di una funzione piccola;
  3. proposta di alternative per un refactor.

Per ogni task esegui lo stesso prompt più volte con impostazioni diverse, se lo strumento lo permette. Se non puoi cambiare parametri, ripeti comunque la richiesta e misura la variabilità.

Annota:

  • differenze nel formato;
  • differenze nei dettagli tecnici;
  • omissioni o invenzioni;
  • costo/lunghezza dell’output;
  • quale varianza è accettabile per il task.

Output atteso

Una tabella di preset per il tuo workflow:

WorkflowModelloParametriFormatoVerificaVarianza accettabile
Code review
Estrazione JSON
Brainstorming tecnico

Checklist di verifica

  • so distinguere task che richiedono stabilità e task che richiedono varietà;
  • salvo prompt, modello e parametri quando devo confrontare output;
  • non valuto un prompt su una sola risposta fortunata;
  • separo fase esplorativa e fase esecutiva;
  • so spiegare perché un output variabile può essere accettabile o inaccettabile.

Errori comuni

Chiedere creatività e precisione nello stesso passaggio. Prima esplora, poi scegli, poi rendi deterministico.

Cambiare troppi fattori insieme. Se cambi prompt, modello e parametri, non sai cosa ha migliorato o peggiorato l’output.

Non salvare la configurazione. Senza configurazione, non puoi riprodurre un risultato né investigare una regressione.

Collegamenti

  • Modulo: Fondamenti per sviluppatori — lezione 3 del corso.
  • Lezione precedente: Token, finestra di contesto, attenzione.
  • Prossima lezione: Costi, latenza, qualità: i tre vincoli reali.