Gli agenti sono applicazioni in cui un modello linguistico decide quali tool invocare per raggiungere un obiettivo usando i risultati dei tool come contesto successivo. Con il protocollo A2A (Agent-to-Agent) si standardizzano messaggi, invocazioni di tool e passaggio di stato tra agenti e servizi, ottenendo interoperabilità e tracciabilità.
In Azure Logic Apps è stata aggiunta la possibilità di creare creare agenti conversazionali come workflow, sfruttando trigger, azioni e connettori senza gestire infrastruttura. In questo articolo vedremo come realizzare un agente che include un tool per generare un valore casuale tramite uno script JavaScript.
Partiamo dalla scelta del tipo di workflow. Aprendo il designer selezioniamo un flusso di tipo Conversation Agents.

Passiamo al consueto designer che si propone con un trigger fisso poiché già implementato secondo lo standard. Dopo il trigger, troviamo il blocco Agent che orchestrerà i tool. Proseguiamo quindi subito a creare un tool nel quale andremo ad inserire un gruppo di azioni dedicato al nostro "random number": due step per ottenere i parametri e un'azione finale Execute JavaScript code che calcola il risultato.

Definisci i passaggi passiamo a configurare l'agent nel primo blocco configurando il modello. Premendo su di esso ci viene infatti chiesto di impostare una connessioen verso Azure OpenAI impostando un deployment o creandone uno nuovo (possiamo utilizzare per ora solo i modelli OpenAI).

Fatto questo passiamo alla definizione dei parametri sui tool. Creiamo l'azione "random number", compiliamo una descrizione chiara e aggiungiamo i parametri min e max di tipo Integer, che l'agente potrà dedurre dal prompt dell'utente o dai passaggi precedenti.

Questa modellazione esplicita dei parametri aiuta il modello a selezionare il tool giusto e a validare gli input.
Arriviamo allo script. L'azione Execute JavaScript code legge gli output degli step getMin e getMax, calcola un numero casuale compreso nell'intervallo e restituisce un oggetto con la proprietà value.

L'agent leggerà automaticamente la risposta dall'output dell'ultima azione, perciò dal ritorno della nostra funzione.
Con questi passaggi otteniamo un agente che produce un risultato casuale affidabile e spiegabile. A questo punto possiamo salvare il flusso e premere il pulsante Chat nella quale testare l'agente e il tool.

Nella stessa schermata troviamo poi l'indirizzo completo all'agente utilizzabile da altri agenti secondo il protocollo. Occorre però proteggerlo e sarà oggetto del prossimo script.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Abilitare il rolling update su Azure Functions flex consumption
Utilizzare WebJobs su Linux con Azure App Service
Gestione dei prompt file a livello di organizzazione aziendale in GitHub
Il nuovo persistent state in Blazor
Recuperare gli audit log in Azure DevOps
Centralizzare gli endpoint AI Foundry con Azure API Management
Semplificare la gestione dei modelli con Azure AI Foundry Model Router
Esporre un server MCP esistente con Azure API Management
Controllare la telemetria con .NET Aspire
Eseguire query in contemporanea con EF
Gestire trasferimenti cloud con Azure Storage Mover
Gestione degli eventi nei Web component HTML




