Mikä on Microsoft 365 -agenttien SDK?

Microsoft 365 -agenttien SDK on kehityskehys keskusteluagenttien rakentamiselle. Keskusteluagentit ovat ohjelmistoja, jotka voivat vastaanottaa viestejä käyttäjiltä, käsitellä niitä ja vastata. Ajattele sitä putkikerroksena viestin lähettävän käyttäjän (joko Teamsissa, sivustossa, Slackissä tai muualla) ja minkä tahansa logiikan välillä, jonka olet luonut tähän viestiin vastaamiseksi.

SDK käsittelee viestien vastaanottamisen ja lähettämisen mekaniikan eri pinnoilla, joten kehittäjät voivat keskittyä siihen, mitä agentti todella tekee, alemman tason viestintäprotokollien sijaan.

Tuetut kielet

Agents SDK tukee seuraavia:

  • C# käyttämällä .NET 8.0 SDK:ta
  • JavaScript Node.js versiolla 18 ja sitä uudemmilla versioilla
  • Python käyttämällä versiota 3.9 ja 3.11

Kolme ongelmaa, joita Agenttit SDK ratkaisee

  • Agenttisi pitää työskennellä useammassa kuin yhdessä paikassa. Kaikki käyttäjät eivät kommunikoi saman kanavan kautta. Jotkut käyttävät Microsoft Teams:ia, jotkut Microsoft Copilot, jotkut yrityksen verkkosivuja ja jotkut ei-Microsoft-työkaluja, kuten Slackia tai Facebook Messengeriä. Ilman sovelluskehystä kehittäjän on kirjoitettava erillinen integrointikoodi kullekin näille pinnoille, joilla kullakin on oma sanomamuotonsa, todennusmallinsa ja yhteysprotokollansa.

    SDK tarjoaa kanavan abstraktiokerroksen. Kun kirjoitat agenttilogiikan kerran, SDK kääntää saapuvat ja lähtevät viestit kunkin kanavan odottamaan muotoon ja sieltä pois. Uuden kanavan lisääminen ei edellytä agentin ydintoiminnan kirjoittamista uudelleen.

  • Et halua olla lukittuna yhteen tekoälypalveluun. Tekoälypalvelun valinta toimii edustajana, olivatpa ne sitten Azure AI Foundry, OpenAI, Semantic Kernel tai jotain muuta kokonaan, muuttuu usein maiseman kehittyessä ja erilaisten käyttötapausten ilmaantuessa. Agenttikehys, joka paiskoo tietyssä tekoälypalvelussa, pakottaa kehittäjät kirjoittamaan uudelleen suuren osan koodistaan, kun tämä valinta muuttuu.

    SDK on AI-riippumaton suunnittelun mukaan. Se tarjoaa rakennetiedot viestien vastaanottamiseen, tilan hallintaan ja reititystapahtumiin, mutta ei tee oletuksia siitä, mikä vastauksen luo. Kehittäjät yhdistävät haluamansa tekoälypalvelut tai orkestrointikirjastot. SDK ei tule tämän valinnan tielle.

  • Keskustelutilan käsittely on vaikeaa. Keskustelut eivät ole tilattomia. Käyttäjä voi esittää jatkokysymyksen, viitata johonkin mainittuun kaksi käänneä sitten tai hylätä keskustelun ja jatkaa sitä myöhemmin. Tämän kontekstin hallinta, mukaan lukien tapahtumien, tallennuspaikan ja viestien välisen työnkulun seuranta, on työlästä ja virhe altis alusta alkaen luomiseen.

    SDK tarjoaa sisäänrakennetun tilan ja tallennustilan hallinnan. Se esittelee käsitteen vuorosta (yksi työyksikkö keskustelussa) ja seuraa tilaa vuorojen välillä ilman, että kehittäjien on kytkettävä oma pysyvyyskerroksensa. Tämä tarkoittaa vähemmän kattilaalustakoodia ja vähemmän virheitä keskustelutyönkulun logiikassa.

Miten se sopii yhteen

SDK tekee ytimessä kolme asiaa, kun viesti saapuu:

  1. Vastaanottaa viestin mistä tahansa kanavasta (Teams, verkkokeskustelu, Slack jne.) ja normalisoi sen yleiseen muotoon, jonka nimi on Activity.

  2. Reitittää toiminnan asianmukaiselle käsittelijälle agenttikoodissasi. Esimerkiksi viestiaktiviteetti käynnistää yhden käsittelijän ja keskusteluun liittyvä käyttäjä käynnistää toisen.

  3. Lähettää vastauksen takaisin saman kanavan kautta kääntäen vastauksesi takaisin kanavan odottamaan muotoon.

Kehittäjät kirjoittavat käsittelijöitä niille toimintotyypeille, joita he välittävät. SDK käsittelee kaiken muun, mukaan lukien todentamisen, viestimuodon käännöksen ja kanavayhteyden.

Agenttien SDK:ta ei ole.

Agenttien SDK ei ole tekoälymalli, orkestrointimoduuli eikä koodinmuodostin. Agents SDK ei päätä, mitä agentti sanoo. Nämä elementit toimivat tekoälypalvelun tai liiketoimintalogiikan mukaisesti, jonka kehittäjä liittää agenttiin. Agentit SDK on kehys, joka välittää viestejä kyseiseen logiikkaan ja sieltä pois luotettavasti kanavien välillä, säilyttäen keskustelutilan ennallaan.

Seuraavat vaiheet