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à.
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
| Uso | Obiettivo | Varianza desiderata | Nota |
|---|---|---|---|
| Estrazione | output parsabile e ripetibile | bassa | schema e validazione contano più della creatività |
| Refactor | patch piccola e controllabile | bassa | meglio chiedere alternative in una fase separata |
| Brainstorming | molte opzioni diverse | media/alta | valuta 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:
- estrazione di dati in JSON;
- generazione di una funzione piccola;
- 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:
| Workflow | Modello | Parametri | Formato | Verifica | Varianza 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.