Conventional Commit Classification using Large Language Models and Prompt Engineering

Questo articolo dimostra che i grandi modelli linguistici senza addestramento, in particolare DeepSeek-R1-32B utilizzando il prompting few-shot, possono classificare efficacemente i commit convenzionali dai diff del codice, offrendo un'alternativa pratica agli approcci tradizionali di apprendimento automatico supervisionato.

Autori originali: H. M. Sazzad Quadir, Sakib Al Hasan, Md. Nurul Ahad Tawhid

Pubblicato 2026-05-06✓ Author reviewed
📖 4 min di lettura☕ Lettura da pausa caffè

Autori originali: H. M. Sazzad Quadir, Sakib Al Hasan, Md. Nurul Ahad Tawhid

Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo

Immagina di essere il responsabile di una biblioteca enorme e caotica, dove ogni giorno vengono aggiunte migliaia di libri. Per mantenere l'ordine, la biblioteca ha una regola rigorosa: ogni nuovo libro deve avere un'etichetta specifica sul dorso (come "Nuova Funzionalità", "Correzione di Bug" o "Documentazione") in modo che i robot possano classificarli automaticamente, aggiornare il catalogo e informare i visitatori sulle novità.

Tuttavia, nella realtà, le persone che aggiungono i libri spesso ignorano le regole. Scrivono note disordinate come "aggiustato la cosa" o "cambiato un po' di codice", rendendo impossibile per i robot capire a quale categoria appartiene il libro.

Questo documento riguarda l'insegnamento a un robot super-intelligente (un'IA) a leggere quelle note disordinate e a determinare l'etichetta corretta, senza dover passare anni a studiare migliaia di esempi in anticipo.

Il Problema: Note Disordinate contro Regole Rigide

Nello sviluppo software, i programmatori scrivono "messaggi di commit" (note) ogni volta che salvano le modifiche al loro codice. L'industria ha un formato standard chiamato Conventional Commits che funge da sistema di archiviazione rigoroso. Richiede che le note inizino con un tag specifico (ad esempio, feat:, fix:).

Ma gli esseri umani sono disordinati. Spesso dimenticano i tag. Tradizionalmente, per risolvere questo problema, i ricercatori costruivano un robot personalizzato alimentandolo con migliaia di esempi etichettati (come uno studente che memorizza un libro di testo). Questo richiede molto tempo e molti dati.

Il Nuovo Approccio: La Strategia del "Prompt"

Invece di addestrare un nuovo robot da zero, gli autori si sono chiesti: Possiamo semplicemente dare a un'IA preesistente molto intelligente un insieme di istruzioni (un "prompt") per svolgere il lavoro?

Hanno trattato l'IA come un brillante stagista che conosce già molto della lingua ma ha bisogno di sapere esattamente quale compito svolgere. Hanno testato tre modi diversi di dare istruzioni:

  1. Zero-Shot (L'Approccio "Dimmi Solo"):

    • L'Analogia: Ti avvicini allo stagista e dici: "Ecco una nota disordinata. Per favore, dimmi a quale categoria appartiene in base alle regole." Non dai esempi.
    • Risultato: Lo stagista indovina, ma spesso sbaglia perché non sa esattamente cosa vuoi.
  2. Few-Shot (L'Approccio "Fammi Vedere gli Esempi"):

    • L'Analogia: Dici: "Ecco una nota disordinata che significa 'Nuova Funzionalità'. Ecco un'altra che significa 'Correzione di Bug'. Ora, guarda questa nuova nota disordinata e dimmi cos'è." Mostri allo stagista alcuni esempi chiari prima.
    • Risultato: Questo ha funzionato meglio. Lo stagista ha compreso il modello rapidamente e ha classificato i libri con precisione.
  3. Chain-of-Thought (L'Approccio "Pensa ad Alta Voce"):

    • L'Analogia: Dici: "Prima di darmi la risposta, per favore scrivi il tuo ragionamento passo dopo passo: 'Vedo la parola "fix", quindi penso sia un bug...'".
    • Risultato: Sorprendentemente, questo non ha aiutato. Per questo compito specifico di classificazione delle etichette, far "pensare ad alta voce" allo stagista ha solo aggiunto passaggi extra senza migliorare la risposta finale. Era come chiedere a un bibliotecario di scrivere un saggio prima di riporre un libro; li ha rallentati senza migliorare il risultato.

I Concorrenti: Quanto Deve Essere Grande il Cervello?

I ricercatori hanno testato tre diversi "stagisti" (modelli di IA) di dimensioni variabili:

  • Mistral-7B: Un cervello di medie dimensioni (7 miliardi di parametri).
  • LLaMA-3-8B: Un cervello leggermente più grande (8 miliardi di parametri).
  • DeepSeek-R1-32B: Un cervello gigante (32 miliardi di parametri).

La Scoperta: Il cervello più grande ha vinto. Il DeepSeek-R1-32B è stato il più preciso nel leggere le note disordinate e trovare l'etichetta corretta. Questo suggerisce che per questo tipo di compito, avere un modello di IA più grande e potente fa una vera differenza.

La Conclusione

Il documento conclude che non è necessario costruire un modello di apprendimento automatico personalizzato da zero per organizzare note software disordinate. Invece, puoi utilizzare un'IA preesistente potente e darle semplicemente alcuni buoni esempi (prompting Few-Shot) per svolgere il lavoro.

  • Migliore Strategia: Mostrare all'IA alcuni esempi prima.
  • Migliore IA: Il modello più grande e potente disponibile.
  • Perdita di Tempo: Far scrivere all'IA un lungo processo di ragionamento prima di rispondere.

Questo approccio risparmia tempo e sforzi perché evita la necessità di raccogliere ed etichettare migliaia di esempi di addestramento, permettendo agli sviluppatori di automatizzare immediatamente l'organizzazione dei loro file.

Sommerso dagli articoli nel tuo campo?

Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.

Prova Digest →