AI Development

Il JSON era sempre valido e prescriveva 31 serie di petto a settimana: i vincoli numerici vanno calcolati nel codice, prima del prompt

Un generatore AI restituiva un JSON sempre valido e prescriveva 31 serie di petto a settimana: i vincoli numerici si calcolano nel codice, prima del prompt.

Luca Di Domenico

Luca Di Domenico

· 2 min di lettura

Grafica su fondo scuro con la scritta “Le regole numeriche vanno nel codice, non nel prompt”: obiettivo, esperienza, giorni e salute entrano in una funzione deterministica che fissa serie, recuperi, carichi e limiti, mentre il modello sceglie solo gli esercizi; in basso la nota “JSON valido ≠ decisione corretta”

In breve

Un generatore di allenamenti costruito con l’AI restituiva sempre un JSON valido e prescriveva 31 serie di petto a settimana a chi voleva solo tenersi in forma, e 3 serie da 5 alla leg press a una principiante che aveva segnalato un problema al ginocchio. La correzione è stata togliere i numeri dal prompt: una normale funzione calcola i limiti prima della chiamata — 10-12 serie settimanali per muscolo per un principiante, 12-16 per un intermedio, 14-20 per un avanzato, recuperi più lunghi se l’obiettivo è la forza, una settimana di scarico ogni sei — e al modello resta la scelta degli esercizi dentro quei confini. Un JSON valido dice solo che la risposta ha la forma giusta, senza dire che quello che c’è dentro abbia senso.

🏋️ Un generatore di allenamenti costruito con l’AI restituiva sempre un JSON perfettamente valido. Peccato che a una persona che voleva solo tenersi in forma abbia prescritto 31 serie di petto a settimana.

Schema valido, consiglio pericoloso

E a una principiante che aveva segnalato un problema al ginocchio, 3 serie da 5 alla leg press.

Tecnicamente era tutto corretto: schema valido, campi giusti, struttura rispettata.

Il consiglio però era sbagliato, e in alcuni casi poteva anche essere pericoloso.

I numeri escono dal prompt e passano al codice

Chi ha costruito quel coach ha quindi cambiato il modo in cui usa il modello: i numeri non li decide più l’AI.

Prima di creare il prompt, una normale funzione calcola la prescrizione dell’allenamento usando obiettivo, esperienza, giorni disponibili e informazioni sullo stato di salute.

Solo a quel punto entra in gioco il modello.

Riceve dei limiti già stabiliti e può scegliere gli esercizi senza uscire da quei confini.

Quali limiti calcola la funzione

Per esempio:

  • 10-12 serie settimanali per muscolo per un principiante
  • 12-16 per un intermedio
  • 14-20 per un avanzato
  • recuperi più lunghi se l’obiettivo è la forza, più brevi per il lavoro metabolico
  • una settimana di scarico ogni sei settimane, oppure ogni quattro in presenza di un segnale medico

Le fasce di volume settimanale hanno un riscontro in letteratura: la meta-analisi dose-risposta di Schoenfeld, Ogborn e Krieger (Journal of Sports Sciences, 2017) associa a ogni serie settimanale in più un incremento medio dello 0,37% nel guadagno di massa muscolare e analizza separatamente le fasce sotto 5, 5-9 e 10 o più serie a settimana per muscolo. Sulla durata dei recuperi, il position stand dell’American College of Sports Medicine (2009) raccomanda 2-3 minuti con carichi pesanti e 1-2 minuti nel lavoro di ipertrofia.

Anche il numero di giorni disponibili incide sui volumi, ma sempre entro regole definite.

Da cinque giorni in su il limite settimanale aumenta di due serie, fino a un massimo. Sotto i due giorni diminuisce, senza mai scendere sotto le sei serie.

Perché lo stesso ragionamento vale per gli altri prodotti AI

La parte interessante, secondo me, è che questo ragionamento vale per moltissimi prodotti AI.

Ci sono decisioni che puoi lasciare al modello.

E ce ne sono altre che, se sbagliate, possono costarti soldi, creare problemi di sicurezza o fare danni reali.

Quelle conviene toglierle dal prompt e metterle nel codice.

È la stessa separazione che applico nei progetti di realizzazione software su misura: le regole che devono valere sempre vivono nel codice, e al modello resta la parte flessibile.

Quattro regole per dividere codice e prompt

In pratica:

1) Decidi prima cosa l’AI può scegliere e cosa invece deve essere fisso.

2) Tutto quello che deve rispettare regole precise lo calcoli con codice normale.

3) Al modello lasci la parte più flessibile.

In questo caso può scegliere gli esercizi, ma non inventarsi serie, recuperi e carichi.

4) E soprattutto: un JSON valido ti dice solo che la risposta ha la forma giusta.

Non ti dice che quello che c’è dentro abbia senso.

Tu quali decisioni stai ancora lasciando al modello che, se sbagliate, possono costarti davvero?

Fonti

Vuoi capire cosa significa per il tuo prodotto?

Se stai costruendo software con l'AI e vuoi un confronto su come stai lavorando, raccontami il tuo progetto.

Luca Di Domenico LogoRaccontami il tuo progetto
Prodotti AIStructured OutputPrompt EngineeringAI Development

Articoli correlati

Continua a leggere

409.000 decisioni umane sui comandi di un agente AI: una minaccia su tre passa, e la colpa è della stanchezza da conferme

Leggi: la stanchezza da conferme
31 serie a settimana: i vincoli numerici vanno nel codice | Luca Di Domenico