Agente di viaggio: tool use in sequenza (italiano)
6 domande · scoring agentic · contaminazione low
Com'è andata
Primo giro, 8 modelli cloud, 1 ripetizione. Sei modelli su otto fanno 100% (qwen3-235b, DeepSeek V4 Flash, gpt-5.4, Haiku 4.5, GLM 5.2, Sonnet 4.6). Gli unici a cadere sono i due GPT piccoli (mini e nano, 83%), e cadono sullo stesso task: il multi (t5).
Lettura netta: il tool use in sequenza semplice è risolto per i frontier. Cercare, leggere il risultato e prenotare l'opzione giusta — anche filtrando (4 stelle, volo diretto), con un criterio diverso dal prezzo (arrivo più presto) o sapendosi fermare (il condizionale su Tokyo) — non li mette in difficoltà: nessuno sbaglia t1–t4 e t6. Il divario si apre solo quando il task chiede due sotto-sequenze in un turno lungo (prenota volo e hotel): lì mini e nano cercano entrambi ma non completano tutte e due le prenotazioni, chiudendo il dialogo a metà.
Cosa misura
Un eval agentic: il modello non produce le chiamate in un colpo solo (come in tool-use-it), ma agisce in sequenza dentro un ambiente. Cerca i voli → legge il risultato → prenota l'opzione giusta. La mossa dopo dipende dai dati della mossa prima: l'id del volo più economico non si può indovinare, va recuperato. Dominio viaggi (voli + hotel), 6 task in italiano, fino a 8 turni ciascuno.
Il voto è binario e sullo stato finale (le prenotazioni), non sulla traiettoria: conta se lo stato finale è quello giusto, ricalcolato dalle query deterministiche dell'ambiente. Ground truth eseguibile, nessun giudice LLM — vedi /scoring/agentic/.
I 6 task coprono schemi diversi:
- cheapest — prenota il volo più economico (dipendenza pura: cerca → minimo → prenota).
- filtro — il 4 stelle più economico / il volo diretto più economico (filtra, poi minimizza).
- criterio — il volo che arriva prima (ordina per un campo diverso dal prezzo).
- multi — due sotto-sequenze in un solo task: volo e hotel. È l'unico che discrimina.
- condizionale — prenota solo se sotto una soglia, altrimenti non prenotare nulla.
Note di metodo
- Poco discriminante ai vertici (per ora): con 6/8 a 100%, il segnale utile viene da un solo task. Prossimi passi per alzare l'asticella: catene più lunghe (3+ prenotazioni), vincoli combinati (budget totale, orari), distrattori negli strumenti, e più ripetizioni per stanare l'instabilità (una sola run non vede i casi in cui un modello a volte chiude e a volte no).
- Sapersi fermare è acquisito: il condizionale (t6, "non prenotare") lo azzeccano tutti — nessuno prenota il volo long-haul sopra soglia.
- Contaminazione bassa: task nativi su un ambiente inventato e deterministico (stessi argomenti → stessi risultati), riproducibile e ri-gradabile.
- Costi: da ~$0.002 (qwen3-235b, DeepSeek) a ~$0.14 (Sonnet) a run — l'agentic multi-turn resta economico su 6 task.
- Favorisce i locali: le sequenze sono passi singoli e dipendenti, quindi un modello che fa una tool call per turno (come qwen/gemma sul Jetson) non è penalizzato come nel tool use parallelo. Da provare col qwen locale (manifest jetson-qwen-agent).
Aggiornare quando si aggiungono task più difficili, ripetizioni o il modello locale.