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
Gestire trasferimenti cloud con Azure Storage Mover
Planning & Specification Driven Development + GitHub Copilot
Keynote .NET Conference Italia 2025
Utilizzo di CSS Scroll Snap per realizzare un carousel
Utilizzare @property per animare nativamente un oggetto HTML tramite CSS
Effettuare chiamate API tramite GitHub App
Utilizzare ExecuteUpdate per aggiornare colonne JSON in Entity Framework
Usare la parola chiave field per semplificare la scrittura di proprietà in C#
Esporre tool MCP con Azure Functions
Raggruppamento degli aggiornamenti di dipendenze tra directory in un monorepo con Dependabot
Stop alle password con Azure Managed Identity


