← Ultimi articoli
💻 computer science

A Study of LLMs' Preferences for Libraries and Programming Languages

Questo studio empirico rivela che i modelli linguistici di grandi dimensioni mostrano una forte tendenza a privilegiare librerie e linguaggi popolari come NumPy e Python, spesso a scapito della pertinenza e dell'ottimalità per il compito specifico, evidenziando la necessità di un addestramento mirato e di benchmark più accurati.

Autori originali: Lukas Twist, Jie M. Zhang, Mark Harman, Don Syme, Joost Noppen, Helen Yannakoudakis, Detlef Nauck

Pubblicato 2026-04-09
📖 4 min di lettura☕ Lettura da pausa caffè

Autori originali: Lukas Twist, Jie M. Zhang, Mark Harman, Don Syme, Joost Noppen, Helen Yannakoudakis, Detlef Nauck

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 né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo

Immagina che i Modelli Linguistici (LLM) siano come dei cuochi robot incredibilmente bravi, che hanno letto quasi tutti i libri di cucina del mondo (i dati di addestramento) e possono preparare qualsiasi piatto che gli chiedi.

Questo studio si chiede: "Quando questi cuochi robot ricevono un ordine, scelgono gli ingredienti e il tipo di cucina in base a ciò che è meglio per il piatto, o scelgono solo ciò che conoscono e amano di più?"

Ecco cosa hanno scoperto gli scienziati, spiegato con delle metafore:

1. Il "Tutto e Sempre" di NumPy (L'ingrediente preferito)

Immagina di chiedere a un cuoco di preparare un'insalata semplice. Un cuoco esperto userebbe solo un coltello e un po' di sale.
Ma questi cuochi robot? Mettono sempre il mixer industriale, la bilancia di precisione e il forno a microonde, anche se non servono.

  • Cosa hanno scoperto: I modelli tendono a usare ossessivamente librerie famose come NumPy (uno strumento potente per calcoli matematici), anche quando il compito è banale e non ne ha bisogno.
  • La statistica: In quasi il 45% dei casi, usano questi "super-strumenti" quando non dovrebbero. È come usare un aereo per andare a comprare il pane: funziona, ma è uno spreco e complica le cose.

2. L'ossessione per la Python (La cucina italiana)

Immagina di chiedere a un cuoco di preparare un piatto veloce per un'auto da corsa (che richiede materiali leggeri e veloci).
Il cuoco robot, invece di usare alluminio o fibra di carbonio, ti risponde: "Facciamo tutto in legno massiccio!" (ovvero, usano il linguaggio di programmazione Python).

  • Cosa hanno scoperto: Anche quando il compito richiede velocità estrema, sicurezza o prestazioni elevate (dove linguaggi come Rust o C++ sarebbero perfetti), i robot scelgono Python nel 58% dei casi.
  • Il paradosso: È come se il cuoco dicesse: "So che questo legno non regge la velocità, ma è il legno che conosco meglio, quindi lo uso lo stesso". Non usano affatto Rust (il materiale perfetto per le auto da corsa) in nessuna delle prove.

3. La "Sindrome del Vecchio Amico" (Le librerie obsolete)

I cuochi robot amano le ricette vecchie di 10 anni, anche se esistono nuove ricette più veloci e moderne.

  • Esempio: Se devi fare un sito web veloce, usano un vecchio framework (Flask) invece di uno nuovo e più efficiente (FastAPI), anche se quest'ultimo è in crescita esplosiva.
  • Il risultato: I robot ignorano le novità. Se una libreria è "vecchia e famosa", la usano. Se è "nuova e promettente", la ignorano. Questo blocca l'innovazione, perché tutti iniziano a usare le stesse cose vecchie.

4. Il "Doppio Pensiero" (Cosa dicono vs. Cosa fanno)

Questa è la parte più curiosa.
Se chiedi al cuoco: "Qual è il miglior ingrediente per questo piatto?", lui ti dirà la verità: "Usa il metallo leggero!".
Ma quando inizia a cucinare davvero, prende il legno.

  • Cosa hanno scoperto: Le raccomandazioni che i robot danno a voce (o in testo) sono spesso diverse da ciò che scrivono nel codice. Sono incoerenti. Se ti fidassi ciecamente delle loro parole, sceglieresti la tecnologia giusta; se guardassi il loro lavoro, scopriresti che hanno scelto la via più facile e familiare.

Perché è importante?

Immagina un mondo in cui tutti i nuovi edifici vengono costruiti con mattoni pesanti e vecchi, solo perché i robot architetti li conoscono meglio, anche se esistono materiali più leggeri e sicuri.

  • Il rischio: Il software diventa lento, meno sicuro e meno vario.
  • La soluzione: Dobbiamo insegnare a questi robot a non essere "pigri" o "conservatori". Dobbiamo addestrarli a scegliere lo strumento giusto per il lavoro, non solo quello che hanno visto più spesso nei loro libri di testo.

In sintesi: Questi robot sono bravissimi a scrivere codice, ma sono un po' "testardi". Preferiscono la comodità e la familiarità (usare sempre Python e le stesse vecchie librerie) rispetto a trovare la soluzione migliore e più innovativa per il compito specifico. Il nostro lavoro è insegnar loro a essere più aperti e adatti al contesto.

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 →