Introduzione agli AI Agent in Oracle APEX

Oracle APEX è stato a lungo apprezzato per la sua capacità di creare rapidamente applicazioni enterprise basate sui dati e sui flussi di lavoro. Con l’arrivo degli AI Agent, la piattaforma compie un salto di qualità: gli sviluppatori possono ora realizzare applicazioni in cui l’utente non si limita a porre domande in linguaggio naturale, ma il sistema ragiona sul contesto, recupera informazioni aziendali e avvia azioni concrete.

Dalla tradizionale AI Assistant all’AI Agent

Un assistente AI tradizionale risponde a prompt, riassume contenuti, riscrive testi o classifica informazioni. È utile, ma rimane limitato a fornire risposte testuali. Un AI Agent, invece, persegue un obiettivo specifico, attraversando più step per raggiungere un risultato pratico. Il flusso tipico di un agente comprende:

    • Comprendere l’intento dell’utente
    • Determinare quali informazioni sono necessarie
    • Recuperare il contesto dall’applicazione
    • Eseguire una o più azioni
    • Osservare i risultati
    • Continuare finché non si ottiene un risultato utile

Questo approccio è noto come agentic AI e rappresenta la differenza fondamentale per le applicazioni enterprise, dove gli utenti cercano progressi concreti piuttosto che semplici risposte.

Cosa rende “agentico” un sistema AI?

Un sistema agentico combina tre capacità fondamentali:

1. Ragionamento sull’intento dell’utente

L’AI interpreta la richiesta, anche se ambigua o di alto livello, per capire l’obiettivo reale.

2. Accesso a capacità esterne

Il modello può invocare funzioni o strumenti definiti dall’applicazione per recuperare dati o eseguire operazioni.

3. Esecuzione iterativa

Il sistema opera in un ciclo: richiede contesto, chiama uno strumento, analizza il risultato e ripete fino al completamento del compito.

La chiamata a funzioni: fondamento degli AI Agent

Il meccanismo chiave è il function calling, spesso chiamato tool. I grandi modelli di linguaggio non conoscono direttamente i dati aziendali, le regole di approvazione o i processi di business. Per interagire in modo sicuro e strutturato, si espongono le funzionalità tramite tool.

Oracle APEX implementa questa possibilità tramite la sezione Tools all’interno di un AI Agent. Gli sviluppatori definiscono i tool in maniera dichiarativa; questi possono essere eseguiti sul server o sul client e possono essere attivati su richiesta o per arricchire il prompt di sistema con contesto aggiornato.

Il principio di design è chiaro: il modello non accede direttamente alle tabelle né esegue codice arbitrario. Operando su un elenco curato di capacità, il developer mantiene il pieno controllo su ciò che l’AI può fare.

Il ciclo dell’Agent in Oracle APEX

Una volta definiti i tool, l’interazione segue un ciclo anziché un singolo scambio request‑response:

    • L’utente invia un messaggio.
    • APEX aggiunge al contesto la conversazione, il system prompt e l’elenco dei tool disponibili.
    • Il modello decide se rispondere direttamente o se chiamare uno o più tool.
    • APEX esegue i tool richiesti.
    • I risultati dei tool vengono reinseriti nella conversazione.
    • Il modello prosegue, eventualmente effettuando ulteriori chiamate o producendo la risposta finale.

Questo “agent loop” è ciò che rende il sistema agentico anziché semplicemente conversazionale.

Fig 2. Il ciclo dell'Agent in APEX

Configurare un AI Agent in APEX

La creazione di un AI Agent avviene come qualsiasi altro componente condiviso in APEX:

    • Definire i tool in modo dichiarativo (query SQL, blocchi PL/SQL, snippet JavaScript).
    • Configurare i punti di esecuzione: Augment System Prompt per fornire contesto ad ogni messaggio, oppure On Demand per azioni specifiche.
    • Impostare parametri con tipi e validazioni; APEX gestisce lo schema JSON.
    • Collegare l’agent a un componente AI Assistant nella pagina desiderata.

Le precedenti “AI Configurations” sono state rinominate “AI Agents” e migrano automaticamente, mantenendo le integrazioni RAG già esistenti.

Modello dei tool: Augment System Prompt vs On‑Demand

Gli AI Agent in APEX combinano due categorie di tool:

Augment System Prompt

Questi tool si eseguono per ogni nuovo messaggio e inseriscono i risultati come messaggi di sistema nella cronologia. Sono ideali per includere informazioni contestuali (nome utente, data corrente) o per implementare RAG analizzando la richiesta dell’utente o l’intera storia della chat.

On‑Demand

Attivati solo quando il servizio AI li richiama durante la generazione della risposta. Possono accettare parametri e restituire dati o eseguire operazioni. Anche qui è possibile realizzare RAG, poiché l’AI richiede i dati solo quando necessario.

APEX offre tre tipi di tool predefiniti:

    • Retrieve Data – esegue query SQL per estrarre informazioni.
    • Execute Server‑side Code – avvia blocchi PL/SQL o procedure nel database.
    • Execute Client‑side Code – lancia script JavaScript nel browser.

È inoltre possibile creare plug‑in Generative AI Tool personalizzati, riusabili in più agenti e applicazioni.

Esempio pratico: scenario CRM per un rappresentante di vendita

Consideriamo il caso di un venditore che chiede all’applicazione: “Qual è il prossimo passo da compiere?” L’AI Agent procede così:

    • Riconosce l’intento di pianificare l’attività successiva.
    • Invoca un tool Retrieve Data per ottenere le opportunità aperte, lo stato dei contratti e le scadenze imminenti.
    • Usa un tool Execute Server‑side Code per verificare eventuali approvazioni pendenti.
    • Genera una risposta che combina le informazioni recuperate, evidenziando blocchi (es. “contratto in attesa di approvazione”) e suggerendo l’azione consigliata (“contattare il cliente entro 2 giorni”).

Il risultato non è più una semplice lista di dati, ma