Oltre il Chatbot: la nascita dell'Agente AI

Fino ad ora, la maggior parte delle persone ha interagito con i Large Language Models (LLM) attraverso un'interfaccia di chat, come ChatGPT o Claude. In questo scenario, il modello si comporta in modo puramente reattivo: riceve un input (prompt), genera una risposta basandosi sulla sua conoscenza pregressa e si ferma, attendendo il comando successivo.

Un Agente AI rappresenta un salto di paradigma. Non si limita a rispondere a una domanda, ma lavora attivamente per raggiungere un fine. Per trasformare un LLM in un agente capace di operare in autonomia all'interno dei flussi aziendali, dobbiamo dotarlo di tre elementi fondamentali:

  • Un Obiettivo (Goal): La direzione e i confini entro cui operare.
  • Strumenti (Tools): Le braccia operative per interagire con il mondo esterno (database, API, software).
  • Memoria (Memory): La capacità di ricordare il contesto nel breve e nel lungo termine.

In questa lezione analizzeremo in profondità questi tre pilastri, comprendendo come interagiscono per trasformare un generatore di testo in un collaboratore virtuale autonomo.

---

1. L'Obiettivo: la bussola dell'Agente

Un chatbot tradizionale esegue istruzioni dirette passo-passo. Un agente, al contrario, riceve un obiettivo finale di alto livello e deve capire autonomamente quali passaggi intermedi compiere per raggiungerlo.

Questo comportamento è guidato da un sistema di pianificazione, spesso basato sul framework ReAct (Reasoning and Acting). Di fronte a un obiettivo, l'agente segue un ciclo continuo:

  1. Pensiero (Thought): Analizza la situazione attuale e decide cosa fare.
  2. Azione (Action): Sceglie uno strumento e lo utilizza.
  3. Osservazione (Observation): Analizza il risultato dell'azione e decide il passo successivo.

Se chiediamo a un chatbot: "Trova l'email di contatto di TAS e invia una proposta", il chatbot si scuserà dicendo che non può navigare o inviare email. Un agente AI, invece, pianificherà l'azione: cercherà sul web, estrarrà l'email, scriverà la bozza e userà un servizio di posta per inviarla.

---

2. Gli Strumenti (Tools) e il Function Calling

I modelli linguistici, per loro natura, sono "scatole chiuse". Non sanno che ore sono, non possono fare calcoli matematici complessi senza sbagliare e non hanno accesso ai dati aziendali aggiornati in tempo reale.

I Tools sono le API e le funzioni che mettiamo a disposizione dell'agente per superare questi limiti. Il meccanismo tecnico che permette questo collegamento si chiama Function Calling (chiamata di funzione).

È importante capire un concetto chiave: l'LLM non esegue direttamente il codice dello strumento. Il processo avviene in questo modo:

  1. Forniamo all'LLM una lista di strumenti disponibili descritti in formato testuale (es. "Strumento: Calcolatrice. Input richiesto: operazione matematica").
  2. L'LLM capisce che per raggiungere il suo obiettivo ha bisogno di quello strumento.
  3. L'LLM genera un output strutturato (solitamente in formato JSON) che indica quale strumento vuole usare e con quali parametri (es. {"tool": "calcolatrice", "query": "234 * 89"}).
  4. La nostra applicazione (o la piattaforma no-code/low-code) intercetta questa richiesta, esegue fisicamente l'operazione e restituisce il risultato all'LLM sotto forma di testo.
  5. L'LLM legge il risultato e prosegue verso l'obiettivo.

---

3. La Memoria: breve e lungo termine

Senza memoria, un agente sarebbe costretto a ricominciare da zero a ogni singola interazione. Per lavorare in modo efficace, l'architettura di un agente prevede due tipi di memoria:

Memoria a Breve Termine (Contesto della sessione)

Consente all'agente di ricordare i passaggi già compiuti all'interno dello stesso ciclo di lavoro o della stessa conversazione. Se l'agente ha appena cercato un dato su Google, deve ricordarlo nel passaggio successivo quando dovrà scriverlo in un foglio di calcolo. Questa memoria risiede interamente all'interno della context window (la finestra di contesto) del modello durante l'esecuzione del task.

Memoria a Lungo Termine (Database e Profili)

Consente all'agente di ricordare informazioni utili tra sessioni diverse, avvenute a distanza di giorni o settimane. Si divide principalmente in:

  • Memoria Semantica (RAG): L'accesso a una base di conoscenza esterna (es. manuali aziendali, store di procedure) tramite database vettoriali.
  • Memoria Episodica: Il salvataggio delle preferenze dell'utente o dei feedback ricevuti nei compiti precedenti, per migliorare le performance future.

---

Esercizio Pratico: Simuliamo un ciclo ReAct

Per comprendere come un LLM ragiona quando ha a disposizione strumenti, obiettivi e memoria, possiamo simulare il comportamento di un agente direttamente all'interno di una chat standard (come ChatGPT o Claude). Copia e incolla il prompt seguente per osservare la logica di funzionamento dietro le quinte.

Sei un Agente AI di supporto vendite.
Il tuo OBIETTIVO è: Verificare se il cliente "Mario Rossi" ha fatture insolute e, in caso positivo, calcolare la penale del 10%.

Hai a disposizione questi STRUMENTI:
1. CercaCliente [nome]: Cerca l'ID del cliente nel database.
2. VerificaFatture [ID_cliente]: Restituisce lo stato delle fatture per quell'ID.
3. CalcolaPenale [importo]: Moltiplica l'importo per 1.10.

Regola: Non inventare dati. Se hai bisogno di usare uno strumento, scrivi prima il tuo PENSIERO, poi indica lo STRUMENTO da usare nel formato: [STRUMENTO: NomeStrumento, Parametro: valore] e fermati, attendendo che io ti dia il risultato dello strumento.

Inizia descrivendo il tuo primo Pensiero e la prima Azione.

Cosa succederà dopo l'invio?

Il modello non proverà a indovinare la risposta. Scriverà il suo pensiero ("Devo prima trovare l'ID di Mario Rossi") e invocherà lo strumento CercaCliente. A quel punto, rispondi tu simulando il database (es. scrivi: "Risultato strumento: ID Cliente 402") e osserva come l'agente utilizzerà questa nuova informazione per pianificare l'azione successiva.

---

Conclusioni

Un agente AI non è semplicemente un LLM più potente, ma un'architettura di sistema in cui il modello linguistico funge da "motore decisionale". Comprendere come bilanciare obiettivi chiari, strumenti precisi e una memoria ben configurata è il primo passo fondamentale per progettare automazioni avanzate capaci di sostituire ore di lavoro manuale ripetitivo.