Magazzino PMI: evadere ordini e riordinare (italiano)
8 domande · scoring agentic · contaminazione none
Cosa misura
Il primo eval agentic da PMI: non viaggi ma il gestionale — evadere ordini clienti, controllare le scorte, riordinare dai fornitori. Ambiente simulato deterministico con dati fissi scritti a mano (6 articoli, 6 ordini clienti, listini fornitori), 8 task in italiano, fino a 12 turni. Ogni strumento risponde ok/ko: in caso di ko l'input è stato validato e l'errore spiega cosa correggere (sku validi, lotto minimo, giacenza mancante) — l'agente ha sempre una chance concreta di rimediare.
Il voto è binario e sullo stato finale (giacenze, stato di ogni ordine, riordini emessi), ricalcolato dalle stesse costanti dell'ambiente: nessuna azione in più o in meno. Ground truth eseguibile, nessun giudice LLM — vedi /scoring/agentic/.
Gli 8 task, dal facile al cattivo:
- evadi (M1) — l'evasione secca: cerca l'ordine, evadilo.
- copertura (M2) — la giacenza non basta: NON evadere e riordinare il minimo che copre l'ordine, al costo totale più basso (i lotti minimi ribaltano la classifica dei prezzi unitari).
- riordino-scorte (M3) — sotto scorta minima: riordino per ogni articolo, criterio prezzo unitario, quantità = max(lotto, reintegro); un articolo sotto scorta non ha fornitori e va lasciato stare.
- evadi-e-riordina (M4) — catena: evadi, ricontrolla le scorte, riordina ciò che è sceso sotto soglia.
- lotto-vs-prezzo (M5) — la trappola secca: il prezzo unitario più basso perde sul totale per colpa del lotto 50.
- lead-time (M6) — il fornitore più economico consegna troppo tardi: vince il secondo.
- infeasibile (M7) — giacenza zero e nessun fornitore: la mossa giusta è non fare nulla.
- priorità (M8) — due ordini, giacenza per uno solo: le azioni sono definitive, evadere prima quello sbagliato rende l'altro impossibile.
Com'è andata
Tredici modelli cloud (due ripetizioni su Haiku/mini/nano): al 100% Opus 4.8, Fable 5, GPT-5.5, Sonnet 5, GPT-5.4, Sonnet 4.6, GLM 5.2 e Kimi K2.5; all'87.5 (solo M2 sbagliato) Haiku, qwen3-235b, DeepSeek Flash e Pro — con qwen e Flash a $0.006 a run contro i $0.90 di Fable: tre ordini di grandezza di prezzo a parità di 7/8; poi mini 75 (62.5–87.5) e nano 68.75 (62.5–75).
M2 (copertura) è lo spartiacque: 15 successi su 38 run contando anche il gemello muto, e la linea passa esattamente tra frontier e resto. Lo passano in base tutti i top di gamma (Opus, Fable, GPT-5.5, Sonnet 5, GPT-5.4, Sonnet 4.6, GLM, Kimi); nel muto reggono solo Opus, Fable, GPT-5.5, Sonnet 5 e GLM, più Pro e Haiku a intermittenza; mai i piccoli e i medi open-weight. Per Sonnet 4.6 la differenza è proprio il feedback: in base l'errore esplicativo di evadi_ordine ("servono 10, disponibili 6") gli mette il fabbisogno sotto gli occhi, nel muto sbaglia. I modi di sbagliarlo sono un campionario: Haiku, qwen e i due DeepSeek ordinano i 10 pezzi interi da CaffeItalia senza mai tentare l'evasione — l'errore canonico, identico tra modelli e varianti (il ko che aiuterebbe non scatta mai); mini si ferma dopo aver letto i listini senza ordinare nulla; nano arriva a tentare l'evasione dopo il riordino, come se la merce fosse già arrivata; gpt-5.4 nel muto aggiunge la trappola M5 (ImportSud: prezzo unitario minimo, lotto 50, 500 € contro 440).
Gli altri errori ricorrenti dei piccoli: M6 (nano legge i fornitori e non emette mai l'ordine, 2 run su 2) e M4, dove la catena evadi→ricontrolla→riordina si spezza a metà (mini rep 1: quattro fornitori di fila e nessun ordine).
Note di metodo
- Contaminazione: none — dati inventati, ambiente autoriale e deterministico (stessi argomenti → stessi risultati), riproducibile e ri-gradabile dai raw.
- Le azioni sono definitive: niente rollback, come in un gestionale vero. M8 esiste apposta: l'ordine delle azioni è parte della risposta giusta.
- Distrattore:
storico_venditeè puramente informativo — chiamarlo non è un errore, usarlo per decidere quantità sì. - Il gemello muto: magazzino-muto-it è identico in tutto ma i ko arrivano senza spiegazione — il delta tra le due colonne isola il valore del feedback correttivo.