Torna al blog
Un piano prima di agire: come LIA prepara e verifica le tue richieste in più passaggi
Architettura4 min di lettura

Un piano prima di agire: come LIA prepara e verifica le tue richieste in più passaggi

Il problema

Scrivi: «manda a Marco un riassunto del meteo di domani». Dietro questa frase ci sono tre azioni: leggere il meteo, ritrovare Marco nei tuoi contatti, poi comporre l'e-mail. L'ordine conta: l'e-mail non può partire prima di avere il meteo e l'indirizzo.

Un modello linguistico che improvvisa queste azioni strada facendo può sbagliare l'ordine, inventare uno strumento che non esiste o chiedere dieci risultati a uno strumento che ne restituisce cinque. Finché non è partito nulla, l'errore non costa niente. Una volta inviata l'e-mail, sì.

Cosa volevo

Volevo che tutto ciò che si può verificare lo fosse prima della prima chiamata, quando una correzione è ancora gratuita. E che, una volta avviato il piano, LIA ti dicesse onestamente cosa è successo, senza rieseguire passaggi alle tue spalle.

Com'è fatto un piano

Un piano è un elenco di passaggi. Ciascuno indica lo strumento da chiamare, i suoi parametri e i passaggi di cui ha bisogno. Per Marco: (1) il meteo di domani, (2) il contatto Marco, (3) la bozza dell'e-mail, che aspetta i primi due e riprende l'indirizzo trovato al passaggio 2.

  • Ondate in parallelo. I passaggi che non aspettano nulla partono insieme. Qui il meteo e il contatto vengono cercati contemporaneamente, poi segue l'e-mail. Una richiesta che tocca più ambiti non richiede quindi per forza più tempo.
  • «Per ciascuno». «Manda l'ordine del giorno a ciascuno dei partecipanti alla mia riunione di domani» diventa un solo passaggio che si ripete su un elenco, con un tetto massimo. Se uno degli invii fallisce, gli altri conservano il loro risultato. E prima di agire su un intero elenco, LIA ti mostra quanti elementi sono coinvolti, con un'anteprima.
  • Condizioni. Un passaggio può anche essere un test: fare questo solo se quello è vero.

Cosa viene verificato prima della prima chiamata

  • Strumenti reali. Un nome di strumento inventato viene individuato, e i piccoli errori di nome più comuni vengono corretti.
  • Un piano possibile. Per rispondere a un'e-mail serve il suo identificativo, quindi uno strumento che legga le e-mail. LIA si assicura che ogni dato richiesto da uno strumento possa essere ottenuto da un altro strumento presente. Altrimenti non esisterebbe nessun piano valido e al modello non resterebbe che inventare.
  • Limiti dichiarati. Ogni strumento dice cosa accetta, per esempio quanti risultati restituisce in una volta, e il pianificatore lo vede. Un valore troppo alto viene riportato entro i limiti, e il piano prosegue.
  • Cercare, poi filtrare. «I miei appuntamenti medici del mese»: il tuo calendario sa cercare per data; il concetto di «medico» non lo conosce. Il pianificatore è guidato a recuperare il periodo e a lasciare la selezione alla risposta, e il validatore se ne accorge quando una parola del genere si infila in una ricerca.
  • La coerenza. Un piano che fa meno o più di quanto chiesto («tutti i miei contatti», ma ne viene trattato uno solo), un passaggio che cita un passaggio inesistente, un'azione rischiosa su un'informazione vaga: il piano torna al pianificatore, per un numero limitato di volte. Se manca un'informazione che nessuno può indovinare, come il contenuto di un'e-mail, LIA ti fa la domanda. E se un piano che modifica qualcosa resta dubbio dopo questi tentativi, si ferma e ti fa la domanda.

Quando un passaggio fallisce

Una volta avviato il piano, nulla viene rieseguito alle tue spalle. Un guasto passeggero viene già ritentato dalla connessione che l'ha incontrato. Un servizio scollegato o un accesso negato non si aggirano con un nuovo piano. Un risultato vuoto è una risposta. Ogni passaggio fallito arriva intero fino alla risposta, che ti dice quale strumento ha fallito, perché e cosa ha funzionato accanto.

Al contrario, anche ciò che una lettura ha trovato ci arriva: i tempi di percorrenza di un itinerario o la pagina successiva di una ricerca non restano bloccati nei dati dello strumento. E il rifiuto di un servizio non viene trasformato in successo lungo la strada.

Quando indichi un risultato tramite mittente, titolo o posizione, LIA usa prima gli elementi che ha effettivamente mostrato. Se ne corrispondono diversi, chiede quale. Anche una ricerca pianificata che agirebbe sul primo di più risultati attende la tua scelta, poi prosegue con quell’elemento.

I limiti

Un piano viene scritto prima di aver visto i risultati. Non cambia strada a metà percorso: se vuoi che LIA cerchi un'altra fonte quando la prima non risponde, è il ruolo della modalità ReAct, che attivi con il pulsante della modalità, in alto nello schermo. E la verifica controlla la forma del piano; non ti legge nel pensiero. Un piano ben formato può capire male ciò che volevi. Per questo un invio, una modifica o un'eliminazione passa ancora dalla tua conferma, tranne alcuni gesti che riguardano solo te e si annullano con un clic.

Per approfondire: Tenere il controllo senza farsi disturbare: come LIA ti chiede il consenso; Vedere LIA lavorare: i passaggi che compaiono mentre aspetti.

#planner#execution-plan#task-orchestration#parallel-execution