La soglia minima di intelligenza utile
Sul Cardputer, dopo l'avvio, restano circa 18 KB di memoria libera. Un modello linguistico non ci sta. Ma non è per quello che l'assistente non è un modello.
di Nicola Sabaini 3 min di lettura Progetto: NucleoOS Cardputer
Il Cardputer sta in una mano. Dentro ha un ESP32-S3 con 512 KB di memoria e nessuna espansione, e quando NucleoOS ha finito di avviarsi ne restano liberi circa 18: lo spazio di un file di testo di due pagine, per tutto quello che succederà dopo.
Un modello linguistico lì dentro non ci sta. Non è per quello che ANIMA, l’assistente del sistema, non è un modello linguistico.
Ancorato per costruzione
ANIMA è un motore di linguaggio naturale scritto in C: cerca su tre livelli, ragiona su un grafo di conoscenza, sa fare i conti e convertire le unità di misura, impara e tiene un profilo di chi le parla.
Quello che non sa fare è dire una cosa che non ha. Non perché ci sia un controllo che la ferma, ma perché non esiste il passaggio in cui una risposta verrebbe composta a partire da niente. È una proprietà della forma, non una regola appiccicata sopra.
Dentro un sistema operativo questa differenza è tutto. Chiedi quanto manca di batteria, o quale applicazione ha i permessi per la rete, e una risposta verosimile è peggio di nessuna risposta: nessuno ha modo di accorgersi che è verosimile e basta. Un assistente che inventa dentro l’OS lo scopri tardi, e lo scopri perché hai fatto una cosa che non andava fatta.
La voce che non genera
Anche il parlato segue la stessa strada. La sintesi è concatenativa: un vocabolario finito viene registrato sul PC una volta sola, e sul dispositivo si incollano le clip giuste nell’ordine giusto.
Voce naturale, memoria praticamente zero, nessuna rete. Legge l’ora al minuto, conferma i lanci, dice lo stato del sistema.
In cambio pronuncia solo quello che sta nel vocabolario. Che poi è la stessa proprietà di prima, applicata al suono: il perimetro di quello che può uscire lo conosco prima, non dopo. E per le cose che non vanno dette ad alta voce risponde che si leggono sullo schermo.
Su una macchina senza vincoli, le stesse scelte
Aria è l’assistente dentro ExaWar, che gira su un PC: memoria quanta ne vuole, nessun tetto. Eppure è costruita nello stesso modo.
Capisce per significato in cinque lingue grazie a un piccolo modello che trasforma le frasi in numeri confrontabili, e quel modello è facoltativo: se manca, Aria continua a funzionare con meno finezza invece di spegnersi.
Quando deve scrivere codice nel linguaggio interno del gioco non lo compone a parole libere. Recupera esempi pertinenti, poi genera partendo da una grammatica, così quello che esce è valido per costruzione. Prima di eseguirlo lo prova a vuoto, guarda cosa succede e corregge. Non c’è nessun passaggio che valuti testo arbitrario, e a parità di richiesta il risultato è sempre lo stesso.
Su un chip da mezzo megabyte quelle scelte sembrano imposte dal vincolo. Su un PC non le impone niente, e le ho fatte uguali.
Quando serve un modello vero
Per il resto ci sono i modelli di frontiera, configurabili anche insieme, con ricaduta automatica se uno non risponde. Due dettagli contano più della scelta del fornitore.
Un microcontrollore non regge una sessione cifrata verso l’esterno mentre fa tutto il resto, e soprattutto non deve. Tiene lo stato, serve i dati, e il lavoro grosso lo fa la macchina di chi sta guardando.
Il sistema più piccolo che fa il lavoro non è un ripiego. È l’unico di cui so dire, prima di accenderlo, che cosa non farà.