Agente di viaggio HARD: catene lunghe e vincoli (italiano)
6 domande · scoring agentic · contaminazione low
Com'è andata
Primo giro, 8 modelli cloud, 2 ripetizioni. L'asticella si è alzata sul serio: contro il 6/8 a 100% dell'agentic base, qui i modelli perfetti sono 4 — DeepSeek V4 Flash, Haiku 4.5, GLM 5.2, Sonnet 4.6 — e sotto si apre un ventaglio: qwen3-235b e gpt-5.4 al 91.7%, gpt-5.4-mini all'83.3%, gpt-5.4-nano che crolla al 50%.
Le 2 ripetizioni hanno pagato subito: qwen3-235b, gpt-5.4 e soprattutto nano oscillano tra un run e l'altro (range 83–100%, nano 33–67%). Una sola run avrebbe fotografato un voto e nascosto la fragilità — la classifica riporta media e range apposta.
Dal task più facile al più duro: budget-totale (L1) e moderazione (L6) li fanno tutti (100%); multi-city (L2) e valuta (L4) al 94%; orario (L3) all'88%; e il vero scoglio è il branch (L5) al 62% — la regola a due rami sul prezzo dell'hotel, dove la risposta giusta è il 3 stelle e molti afferrano pigramente il 4 stelle. Il crollo di nano è tipico: converte la valuta ma poi non prenota (L4), non filtra l'orario (L3), sbaglia il ramo (L5) e la catena a 3 prenotazioni (L2) a volte non la chiude.
I due distrattori (meteo, cerca_treno) da soli non hanno fatto danni — nessuno si è perso a prenotare un treno (non si può) — conferma che a fare la differenza sono i vincoli, non il rumore negli strumenti. Costi ancora bassi: da ~$0.004 (DeepSeek, qwen) a ~$0.19 (Sonnet) per run.
Cosa misura
La versione difficile di agentic-it: stesso motore (loop multi-turn, voto binario sullo stato finale, ground truth eseguibile), ma alza l'asticella dove quello saturava. I task sono catene più lunghe e con vincoli combinati, e l'ambiente ha più strumenti, con due distrattori.
Ambiente viaggi-long: ai 4 strumenti base (cerca/prenota volo e hotel) si aggiungono converti_valuta e due distrattori — meteo e cerca_treno — che esistono ma non servono a completare le prenotazioni (non c'è un prenota_treno). Testano se il modello sa scegliere lo strumento giusto tra più opzioni.
I 6 task
- budget-totale (L1) — volo + hotel 3 notti, con un tetto sulla spesa complessiva: bisogna sommare volo e 3×prezzo/notte, non ottimizzare i due pezzi separatamente a caso.
- multi-city (L2) — 3 prenotazioni: due voli in tappe diverse (Roma→Parigi, Parigi→Amsterdam) + hotel. La catena più lunga.
- orario (L3) — il volo più economico tra quelli che partono dopo le 12:00: filtro su un campo scomodo prima di minimizzare.
- valuta (L4) — prezzo in euro, soglia in dollari: serve
converti_valutaper decidere se prenotare o no. Vincolo + conversione + condizione. - branch (L5) — regola a due rami sul prezzo dell'hotel: la risposta corretta è il 3 stelle (il 4 stelle non rispetta la condizione) — chi afferra pigramente il 4 stelle sbaglia.
- moderazione (L6) — «dimmi solo il prezzo, non prenotare»: si può cercare, ma prenotare è un errore. Sapersi fermare anche quando l'azione è a portata di mano.
Note di metodo
- Voto binario, stato finale, ricalcolato: come nell'agentic base, l'atteso è ricomputato dalle query deterministiche (nessun
ida mano, nessun giudice LLM) e lo stato deve coincidere esattamente (numero di prenotazioni incluso). Con catene da 3 prenotazioni un solo passo sbagliato fa cadere il task. - Fino a 14 turni per task (le catene lunghe ne richiedono di più).
- 2 ripetizioni: l'instabilità (a volte chiude, a volte no) si vede solo ripetendo — la classifica riporta media e range.
- Distrattori:
meteoecerca_trenosono rumore realistico; un modello robusto li ignora quando servono voli/hotel.
Aggiornare quando si aggiungono modelli, ripetizioni o il modello locale sul Jetson.