Il chatbot: due livelli, gli strumenti, e le regole che non deve rompere
· 8 min · ai, chatbot, tool-calling, openrouter
Un solo componente per tre assistenti, un modello gratis per gli anonimi e uno migliore per chi entra, strumenti che pescano dallo stesso motore della mappa. E l’errore che non gridava.
Il chatbot è stato uno dei primi mattoni del lab, a febbraio, per un motivo pratico: per capire come si comporta un modello dentro un prodotto vero (non in un notebook) serviva un prodotto vero dove metterlo. È lo stesso componente che oggi risponde in tre posti: sul sito, dentro Seantral, dentro Iterzen. Tre assistenti, una sola macchina sotto.
Due livelli, secondo chi sei
Da anonimo la chat gira su un modello gratuito (uno slot economico servito via OpenRouter) con un tetto di messaggi. Da registrato passi a un modello migliore. Niente paywall travestito: gli anonimi hanno un assaggio vero, e la differenza di qualità la paga il fatto che almeno si sa che sei entrato. La scelta del modello la fa l’edge in base al ruolo, mai il browser: il client chiede, la funzione decide con che slot rispondere. Così il modello buono non è mai esposto a chi non è passato dal login.
Un componente, tre teste, una base di conoscenza per ciascuna
La parte interessante è come tre assistenti diversi convivano nello stesso codice. Cambia la knowledge base, non la macchina. Ogni assistente ha la sua base curata a mano: cosa può dire, cosa deve tacere, come rispondere quando non sa. Le regole sono precise perché devono esserlo. L’assistente del sito parla dei progetti in termini generici, e i nomi in codice di quelli non ancora pubblici non li pronuncia, punto. È una regola vera, e la lista dei nomi da non dire resta fuori dal contesto che il modello vede: un consiglio nel prompt, il modello potrebbe ignorarlo in un momento creativo.
Gli strumenti, e lo stesso motore della mappa
L’assistente di Seantral non si limita a chiacchierare: ha degli strumenti. Se chiedi “dove vado a nuotare stamattina”, dietro chiama un tool che classifica gli spot, e quel tool usa lo stesso motore del verdetto che disegna la mappa. È una scelta voluta: se l’AI usasse una sua logica separata, prima o poi ti darebbe un numero diverso da quello che vedi sullo spot, e a quel punto non ti fidi più di nessuno dei due. Un motore solo, due modi di interrogarlo.
L’errore che non gridava
E qui è arrivato il colpo. Le classifiche del tool erano leggermente sbagliate. Non a caso, non in modo vistoso: uno spot che avrebbe dovuto essere secondo usciva terzo, un punteggio di poco diverso da quello della mappa per lo stesso posto alla stessa ora. Nessun errore, nessun crash, nessun allarme. Solo un assistente che rispondeva con sicurezza cose un filo storte.
La causa era sottile. Il tool leggeva un valore congelato al momento in cui i dati erano stati scaricati, invece di proiettarlo all’ora corrente come fa la mappa quando la guardi. Stesso motore, ora di riferimento diversa: bastava quello per far divergere la classifica. Il tipo di bug peggiore, perché il sistema non ti aiuta a trovarlo: non si rompe, mente piano. Da lì resta una regola: diffidare degli errori che non gridano, e testare i tool con l’ora fissata a un valore noto, non “adesso”.
Catene di fallback, budget, e il 429
Ogni funzione AI ha una catena di fallback. Se il modello preferito è giù, o è diventato troppo caro, o proprio adesso risponde lento, si scende al successivo invece di sbattere un errore in faccia a chi sta scrivendo. L’utente vede una risposta un po’ meno brillante, non una schermata rotta. Sopra c’è un budget di spesa AI per ogni app (un tetto giornaliero) e un tetto per singolo account. Quando un account sfonda il suo limite riceve un 429, la chat glielo dice con parole umane, e il conto si fa prima di chiamare il modello: chi è già oltre soglia non spende ancora. È la stessa lezione del brief (contare prima, non dopo) imparata su una macchina diversa.
Cosa dice la chat a chi scrive
Due cose restano esplicite. La prima: le risposte sono generate da un’AI e possono sbagliare: sta scritto dove si chatta, non in una pagina di condizioni che nessuno apre. Un assistente che sembra sicuro di tutto è più pericoloso di uno che ogni tanto dice “controlla”. La seconda: le conversazioni si salvano solo col consenso, e il consenso è funzionale: serve a farti ritrovare la chat, non a profilarti. Senza consenso la conversazione vive nella sessione e poi sparisce. Nessun archivio silenzioso di cose che la gente ha scritto pensando fossero effimere.
Sviluppi futuri
Dove sta andando. Gli strumenti dell’assistente di Seantral sono pochi: classifica gli spot, poco altro; il passo naturale è dargliene altri che pescano dallo stesso motore, così che “com’è a Torre dell’Orso rispetto a ieri” diventi una domanda a cui risponde con numeri veri e non con una frase generica. Sul lato modelli sarebbe utile che la scelta dello slot tenesse conto anche della domanda, non solo del ruolo: una richiesta banale non ha bisogno del modello buono. E la knowledge base oggi è curata a mano: funziona, ma non scala a molte app; il passo dopo è tenerla vicina al codice che descrive, così che quando cambia una feature l’assistente non racconti la versione di due mesi fa. Come sempre: direzioni, non date.