Hvad er SDK til Microsoft 365-agenter

SDK til Microsoft 365-agenter er en udviklingsramme til opbygning af samtaleagenter. Samtaleagenter er software, der kan modtage meddelelser fra brugere, behandle dem og svare. Tænk på det som VVS-laget mellem en bruger, der sender en meddelelse (uanset om det er i Teams, et websted, Slack eller andre steder), og hvilken logik du har bygget til at reagere på denne meddelelse.

SDK'et håndterer mekanikken i at modtage og sende meddelelser på tværs af forskellige overflader, så udviklere kan fokusere på, hvad agenten rent faktisk gør, i stedet for på kommunikationsprotokoller på lavt niveau.

Understøttede sprog

Agents SDK understøtter:

  • C# ved hjælp af .NET 8.0 SDK
  • JavaScript ved hjælp af Node.js version 18 og nyere
  • Python ved hjælp af version 3.9 til 3.11

Tre problemer, som Agents SDK løser

  • Din agent skal arbejde mere end ét sted. Brugerne kommunikerer ikke alle via den samme kanal. Nogle bruger Microsoft Teams, nogle bruger Microsoft 365 Copilot, nogle bruger et firmawebsted, og nogle bruger ikke-Microsoft værktøjer som Slack eller Facebook Messenger. Uden en struktur skal en udvikler skrive separat integrationskode for hver af disse overflader, hver med sit eget meddelelsesformat, godkendelsesskema og forbindelsesprotokol.

    SDK'et leverer et abstraktionslag for kanaler. Du skriver din agentlogik én gang, og SDK'et oversætter indgående og udgående meddelelser til og fra det format, som hver kanal forventer. Tilføjelse af en ny kanal kræver ikke, at agentens kernefunktionsmåde omskrives.

  • Du ønsker ikke at være låst inde i én AI-tjeneste. Valget af, hvilken AI-tjeneste der driver en agent, uanset om det er Azure AI Foundry, OpenAI, Semantic Kernel eller noget helt andet, ændres ofte, efterhånden som landskabet udvikler sig, og i takt med at der opstår forskellige use cases. En agentstruktur, der bager i en bestemt AI-udbyder, tvinger udviklere til at omskrive store dele af deres kode, når dette valg ændres.

    SDK'et er ai-agnostisk efter design. Det indeholder stilladset til modtagelse af meddelelser, administration af tilstand og routinghændelser, men giver ingen forudsætninger for, hvad der genererer svaret. Udviklere tilslutter de AI-tjenester eller orkestreringsbiblioteker, de foretrækker. SDK'et kommer ikke i vejen for dette valg.

  • Det er svært at håndtere samtaletilstanden. Samtaler er ikke statsløse. En bruger kan stille et opfølgende spørgsmål, henvise til noget, der er sagt for to omgange siden, eller afbryde en samtale og genoptage den senere. Administration af denne kontekst, herunder sporing af, hvad der skete, hvor den er gemt, og hvordan den flyder mellem meddelelser, er kedelig og fejlbehæftet til at bygge fra bunden.

    SDK'et leverer indbygget tilstands- og lageradministration. Den introducerer begrebet tur (en enkelt arbejdsenhed i en samtale) og sporer tilstanden på tværs af turer, uden at udviklere skal tilkoble deres eget persistenslag. Det betyder mindre standardkode og færre fejl i samtaleflowlogik.

Sådan passer det sammen

I sin kerne gør SDK'et tre ting, når der modtages en meddelelse:

  1. Modtager meddelelsen fra en hvilken som helst kanal, der har sendt den (Teams, webchat, Slack osv.), og normaliserer den til et almindeligt format, der kaldes en Activity.

  2. Distribuerer aktiviteten til den relevante handler i agentkoden. En meddelelsesaktivitet udløser f.eks. én handler, og en bruger, der deltager i en samtale, udløser en anden.

  3. Sender svaret tilbage via den samme kanal og oversætter dit svar tilbage til det format, som kanalen forventer.

Udviklere skriver handlere for de aktivitetstyper, de interesserer sig for. SDK'et håndterer alt andet, herunder godkendelse, oversættelse af meddelelsesformat og kanalforbindelse.

Hvad Agent SDK ikke er

Agents SDK er ikke en AI-model, et orkestreringsprogram eller en generator uden kode. SDK'et til agenter bestemmer ikke, hvad en agent siger. Disse elementer er jobbet for den AI-tjeneste eller forretningslogik, som udvikleren ledninger til agenten. Agents SDK er den struktur, der henter meddelelser til og fra denne logik på en pålidelig måde på tværs af kanaler, hvor samtaletilstanden er intakt.

Næste trin