Fine-tuning, retrieval-augmented generation (RAG) e semplice prompting risolvono ciascuno una diversa classe di problemi per i grandi modelli linguistici (LLM). Scegliere quello sbagliato spreca cicli GPU, gonfia i costi del cloud e lascia comunque gli utenti con risposte errate. Di seguito è riportato un framework passo dopo passo che consente agli sviluppatori di decidere quale strumento si adatta al proprio caso d'uso e come combinarli quando necessario.

Le tre leve

Cosa cambia Come funziona Uso tipico
RAG Aggiunge fatti esterni al contesto del modello durante l'inferenza Aggiornamento dei prezzi, recupero degli ultimi documenti di policy, citazione di dati privati
Fine-tuning Regola i pesi interni del modello per alterare stile, formato o comportamento ripetibile Tono coerente, strutture di output complesse, classificazione ad alto throughput
Prompting Modella la risposta immediata del modello con istruzioni ed esempi chiari Ragionamento generale, prototipi rapidi, rilascio di una funzionalità in pochi giorni

La domanda fondamentale da porsi all'inizio di ogni progetto è: la carenza è un gap di conoscenza o un gap di comportamento? Un gap di conoscenza significa che il modello semplicemente non possiede i fatti corretti; un gap di comportamento significa che conosce i fatti ma non li esprime nel modo in cui ne hai bisogno.

Quando il problema è un gap di conoscenza – punta sulla RAG

Se il modello allucina, restituisce numeri obsoleti o non riesce a indicare una fonte, il problema è la mancanza di informazioni o la loro obsolescenza. La RAG risolve il problema recuperando il documento o il punto dati corretto all'interno del prompt durante l'esecuzione.

  • Usa la RAG quando i fatti cambiano frequentemente: ad esempio livelli di inventario, prezzi di mercato o tabelle normative.
  • Usala quando devi fornire citazioni o tracciabilità per scopi di conformità o audit.
  • Usala per corpora privati che non possono essere esposti a un modello pubblico; lo strato di recupero mantiene i dati dietro il tuo firewall.

Aggiornare un documento è facile. Riaddestrare un modello è difficile.

Quando il problema è un gap di comportamento – fai fine-tuning

Se il modello conosce già i fatti corretti ma li presenta nel formato o nel tono sbagliato, o con una struttura incoerente, devi modellarne il comportamento interno. Il fine-tuning riscrive i pesi del modello affinché lo stile desiderato diventi quello predefinito.

  • Ideale per la voce specifica di un brand, il linguaggio legale o qualsiasi output che debba seguire un template rigoroso.
  • Funziona bene per compiti ripetitivi ad alto volume, come la classificazione massiva, dove un piccolo costo del prompt per ogni chiamata si accumula.
  • Può accorciare i prompt, riducendo l'uso di token e, di conseguenza, il costo dell'inferenza.

Un errore comune è fare il fine-tuning di un modello solo per insegnargli dei fatti. Ciò spreca risorse di calcolo e lascia comunque il modello vulnerabile al futuro data drift. I fatti appartengono a uno strato di recupero; il fine-tuning appartiene allo strato di comportamento.

Quando il problema è un gap di istruzioni – inizia con il prompting

Il prompt engineering è il modo più economico e veloce per testare se il modello sia in grado di risolvere un compito. Istruzioni chiare, esempi few-shot e il prompting chain-of-thought spesso colmano il divario senza apportare modifiche al modello.

  • Usalo per esplorare come appare una risposta "buona" prima di impegnarsi in una soluzione più costosa.
  • Applicalo a compiti che richiedono molto ragionamento, brainstorming o qualsiasi scenario in cui sia necessario un rapido turnaround.
  • Se riesci a ottenere risultati soddisfacenti con un prompt ben strutturato, eviti il sovraccarico di raccolta dati, addestramento del modello o pipeline di recupero.

Se non hai esaurito le opzioni di un prompting chiaro e di alcuni esempi, non sei pronto per investire in infrastrutture di fine-tuning o RAG.

Flusso decisionale

Passa il tuo caso d'uso attraverso la checklist sottostante. Fermati al primo "sì" e applica quella tecnica. Se si applica più di una condizione, combina le soluzioni.

  1. Hai provato il prompting con istruzioni esplicite ed esempi few-shot? No → inizia con il prompting.
  2. Il fallimento deriva da fatti mancanti o obsoleti, o hai bisogno di citare le fonti? → aggiungi uno strato RAG.
  3. Il fallimento deriva da uno stile o da una formattazione incoerenti, o dalla necessità di un output ripetibile ad alto throughput? → fai il fine-tuning del modello.

Quando esistono sia gap di conoscenza che di comportamento, combina RAG e fine-tuning: recupera prima i fatti corretti, poi lascia che il modello sottoposto a fine-tuning li renda nello stile desiderato.

Misurare il successo

Non affidarti mai alle "sensazioni". Crea un piccolo set di valutazione rappresentativo che catturi gli input principali e gli output attesi. Esegui lo stesso set su ogni soluzione candidata: solo prompt, prompt + RAG, prompt + fine-tuning o l'intero stack. Confronta accuratezza, qualità delle citazioni, costo dei token e latenza. I dati ti diranno quale livello aggiunge valore reale e quale rappresenta un overhead inutile.

Scegliere la leva giusta fin dall'inizio fa risparmiare tempo, denaro e frustrazione. Inizia con il prompt, aggiungi il retrieval quando i fatti sono il collo di bottiglia e procedi con il fine-tuning quando lo è il comportamento. Misura, itera e eviterai l'errore comune di sprecare potenza GPU sul problema sbagliato.