Agentin kehittäminen ja liittäminen Microsoft 365 Copilot Chatiin Azure-alustalla

Miksi kehittää oma agentti?

Blogikirjoituksen kirjoittaja kohtasi seuraavia rajoitteita valmiissa Copilot Studio -työkaluissa:

  • Agentin testaaminen onnistuu vain Copilot Studion kautta, ei kehittäjille tutuilla työkaluilla.
  • LLM-mallia (kuten GPT-4o) ei voi vapaasti valita orkestroijaksi.
  • Agentin vastauskäyttäytyminen eroaa siitä, mitä saataisiin suoraan LLM:ää käyttämällä.

Näistä syistä kehittäjä päätti rakentaa oman agentin alusta asti, mutta säilyttää Copilotin käyttöliittymän loppukäyttäjän näkökulmasta.


Kehitysprosessi: Yleiskatsaus vaiheisiin

1. Kehitysympäristön asennus

Projektin kehityksessä käytetään Visual Studioa, C#-kieltä ja Agent Toolkitia, joka on osa M365 Copilot SDK:ta. Uusi projekti luodaan käyttämällä Teams-sovelluksen agenttipohjaa, esimerkiksi Weather Agent -mallia. Kehittäjä määrittelee tässä vaiheessa Azure OpenAI -yhteydet (esim. GPT-4o).

2. Projektipohjan muokkaus

Luotu projekti sisältää kaksi osaa:

  • M365Agent: Teams-sovelluksen metatiedot ja debug-määrittelyt.
  • ASP.NET Core Web API -projekti: itse agenttilogiikka ja yhteys Azure Bot Serviceen.

Projektissa hyödynnetään Semantic Kernel -kirjastoja, joilla hallitaan LLM-pohjaisia keskusteluja.

3. Agentin paikallinen testaaminen

Kehityksessä käytetään Visual Studion debug-ympäristöä ja Development Tunnelia, jonka kautta Azure Bot Service voi kommunikoida paikallisesti ajettuun agenttiin.

4. Azure Bot Servicen luominen ja yhdistäminen

Agentti liitetään Azure Bot Serviceen, joka toimii välittäjänä Copilotin ja agentin välillä. Tämä edellyttää:

  • Entra ID -sovelluksen luomista
  • Valtakirjojen (Client ID, Tenant ID, Secret) konfigurointia
  • Messaging Endpointin määrittämistä

5. Julkaisu Copilot Agent Storeen

Lopuksi agentti paketoidaan Teams-sovelluksena ja julkaistaan Microsoft 365 Copilot Agent Storeen:

  • Päivitä manifest.json ja liitä Entra ID -tunnukset.
  • Pakkaa sovellus ZIP-muotoon ja lataa se Teams Admin Centeriin.

Arkkitehtuuri ja tekninen rakenne

Agentin ytimenä toimii Semantic Kernel

Agentti perustuu Semantic Kernelin ChatCompletionAgent-luokkaan, joka vastaa keskustelun kontekstista ja LLM-kutsujen hallinnasta. Käyttäjän kysymykset ohjataan tämän ytimen kautta OpenAI-mallille, ja vastaus muotoillaan Adaptive Cardiksi tai tekstiksi.

Azure Bot Service toimii välittäjänä

Tärkeä huomio on, että agentti ei ”asu” Copilotissa tai Teamsissa, vaan toimii taustapalveluna Azure Bot Servicen kautta. Tämä mahdollistaa agentin päivittämisen ilman muutoksia käyttöliittymään.


Lopuksi: AgentOps – DevOps agenttikehitykselle

Kun agentti on julkaistu, kehitystä voidaan jatkaa iteratiivisesti:

  • Keräämällä käyttödataa ja telemetriaa
  • Parantamalla promptteja ja LLM-asetuksia
  • Laajentamalla toiminnallisuuksia uusilla kyvyillä

Tätä jatkuvaa kehitysprosessia voidaan kutsua AgentOpsiksi, joka viittaa DevOpsin kaltaiseen käytäntöön tekoälyagenttien hallinnassa ja optimoinnissa.

wpChatIcon
wpChatIcon
Scroll to Top