Creare un agente A2A con Azure Logic App

di Cristian Civera,

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

Visualizza/aggiungi commenti

| Condividi su: LinkedIn, Facebook

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi