Che cos'è l'SDK per agenti Microsoft 365

Il Managed Disks è un framework di sviluppo per la creazione di agenti di conversazione. Gli agenti di conversazione sono software che possono ricevere messaggi dagli utenti, elaborarli e rispondere. Si pensi al livello di infrastruttura tra un utente che invia un messaggio (in Teams, in un sito Web, Slack o altrove) e la logica implementata per rispondere a tale messaggio.

L'SDK gestisce i meccanismi di ricezione e invio di messaggi in diverse superfici, in modo che gli sviluppatori possano concentrarsi su ciò che l'agente esegue in realtà anziché su protocolli di comunicazione di basso livello.

Lingue supportate

L'SDK per agenti supporta:

  • C# con SDK .NET 8.0
  • JavaScript con Node.js versione 18 e successive
  • Python nelle versioni dalla 3.9 alla 3.11

Tre problemi risolti da Agents SDK

  • L'agente deve lavorare in più di un luogo. Gli utenti non comunicano tutti tramite lo stesso canale. Alcuni usano Microsoft Teams, alcuni usano Microsoft 365 Copilot, alcuni usano un sito Web aziendale e alcuni usano strumenti non Microsoft come Slack o Facebook Messenger. Senza un framework, uno sviluppatore deve scrivere codice di integrazione separato per ognuna di queste superfici, ognuna con il proprio formato di messaggio, schema di autenticazione e protocollo di connessione.

    L'SDK fornisce un livello di astrazione del canale. La logica dell'agente viene scritta una sola volta e l'SDK converte i messaggi in ingresso e in uscita dal formato previsto da ogni canale. L'aggiunta di un nuovo canale non richiede la riscrittura del comportamento principale dell'agente.

  • Non si vuole essere bloccati in un unico servizio di intelligenza artificiale. La scelta del servizio di intelligenza artificiale che funge da agente, sia che si tratti di Azure AI Foundry, OpenAI, Kernel semantico o qualcos'altro completamente, cambia frequentemente man mano che il panorama si evolve e man mano che emergono casi d'uso diversi. Un framework per agenti che integra un provider specifico di intelligenza artificiale costringe gli sviluppatori a riscrivere grandi porzioni del loro codice quando tale scelta cambia.

    L'SDK è indipendente dall'intelligenza artificiale per impostazione predefinita. Fornisce lo scaffolding per la ricezione di messaggi, la gestione dello stato e il routing degli eventi, ma non presuppone ciò che genera la risposta. Gli sviluppatori si collegano a qualsiasi servizio di intelligenza artificiale o librerie di orchestrazione che preferiscono. L'SDK non interferisce con quella scelta.

  • La gestione dello stato della conversazione è difficile. Le conversazioni non sono prive di stato. Un utente potrebbe porre una domanda di completamento, fare riferimento a qualcosa detto due turni fa o abbandonare una conversazione e riprenderla in un secondo momento. La gestione di tale contesto, incluso il rilevamento di ciò che è accaduto, dove è archiviato e come fluisce tra i messaggi, è noiosa e soggetta a errori da costruire da zero.

    L'SDK offre la gestione predefinita dello stato e dell'archiviazione. Introduce il concetto di turno (una singola unità di lavoro in una conversazione) e tiene traccia dello stato attraverso i turni senza richiedere agli sviluppatori di implementare il proprio livello di persistenza. Ciò significa meno codice boilerplate e meno bug nella logica del flusso di conversazione.

Come si adatta insieme

Al suo interno, l'SDK esegue tre operazioni quando arriva un messaggio:

  1. Riceve il messaggio da qualsiasi canale inviato (Teams, chat Web, Slack e così via) e lo normalizza in un formato comune denominato Activity.

  2. Indirizza l'attività al handler appropriato nel codice del tuo agente. Ad esempio, un'attività di messaggio attiva un gestore, un utente che partecipa a una conversazione attiva un altro.

  3. Invia di nuovo la risposta attraverso lo stesso canale, convertendo nuovamente la risposta nel formato previsto dal canale.

Gli sviluppatori scrivono gestori per i tipi di attività di cui si preoccupano. L'SDK gestisce tutto il resto, tra cui l'autenticazione, la conversione del formato dei messaggi e la connettività del canale.

Cosa non è l'Agents SDK

Agents SDK non è un modello di intelligenza artificiale, un motore di orchestrazione o un generatore di codice senza codice. Agents SDK non decide cosa dice un agente. Questi elementi sono il lavoro di qualsiasi servizio di intelligenza artificiale o logica di business che lo sviluppatore collega all'agente. Agents SDK è il framework che ottiene messaggi da e verso tale logica in modo affidabile, tra canali, con stato di conversazione intatto.

Passaggi successivi