Muutama viikko sitten Microsoft julkaisi Copilot Studioon uuden työkalun (tool) kaikkien kokeiltavaksi. Uuden tietokoneen käyttö (computer use) -työkalun avulla agentti voi käyttää itsenäisesti internet-sivuja.

Mutta miksi ihmeessä agentin pitäisi päästä käyttämään nettisivuja?

Koska usein agentin työstämässä prosessissa on joku osuus, jonka suorittamiseksi ei ole tarjolla Power Platform yhdistintä (connector), rajapintaa, MCP-palvelinta tai ylipäätään mitään modernia tapaa. Nyt agentin toiminnan ei tarvitse tyssätä siihen. Tämän uuden ominaisuuden avulla agentti voi navigoida tarvittavalle verkkosivulle ja hoitaa omatoimisesti tehtävän maaliin käyttäen tätä verkkosivua. Jatkossa agentti voi käyttää samaan tapaan myös windows-sovelluksia.

Agentti + tietokoneen käyttö vs RPA (Robotic Process Automation)

Tietokoneohjelma joka suorittaa selaimella / windows-sovelluksella ennaltamäärättyjä tehtäviä. Eikös tämä ole RPA:ta? Tätähän on tehty vuosikymmeniä. Mikä tässä nyt on niin mullistavaa?

RPAn ja agentin tietokoneen käytön välillä on aivan merkittävä ero.

  • RPA:ssa ohjelmistorobotti suorittaa ennaltamäärättyjä skriptejä. Jokainen tehtävän suorittamiseen tarvittava napin painallus, kursorin kohdistus tekstikenttään jne on mukana skriptissä. Mikäli RPA:n käyttämä käyttöliittymä muuttuu, joutuu näitä skriptejä aina korjaamaan. Mikäli suorituksen aikana eteen tulee uusi ennakoimaton virhe, ohjelmistorobotti tuskin siitä selviää.
  • Agentin tietokoneen käyttö taas perustuu tekoälyyn. Sille annetaan tehtävä (varaa sivustolta x elokuvaliput kahdelle Helsingin Tennispalatsista torstai illaksi johonkin toimintaelokuvaan) ja agentti päättelee itse, miten tämä tehtävä kyseisellä työkalulla suoritetaan. Agentin toimintaa voi toki tehostaa kertomalla sille miten annettu tehtävä on helpointa suorittaa. Jos käytettävä käyttöliittymä muuttuu, ei se vaikuta agentin toimintaan mitenkään.

Agentin tietokoneen käyttö on välillä aivan tuskaisen hidasta. Eikä se aina (vajavaisilla ohjeilla) kykene suorittamaan tehtävää edes loppuun. Mutta lupaus on niin mullistava (vs perinteinen RPA tekeminen), että tämä kortti on syytä katsoa.

Esimerkki – Agentti joka tekee tilauksia verkkokauppa.comista

Koitetaan tätä uutta työkalua käytännössä. Kuvitellaan että meillä on työnkulku, joka käsittelee henkilöstöltä tulevat (IT) tarviketilaukset. Tietokoneet ja puhelimet menevät hyväksynnän jälkeen omaa automaattista polkuaan maaliin, mutta jäljelle jää kaikki pienempi ATK-tilpehööri.

Ne voitaisiin antaa hyväksynnän jälkeen agentille tilattavaksi. Hypätään prosessin alkuvaiheen ohitse, ja keskitytään siihen miten saamme agentin tilaamaan meille tavaraa verkkokaupasta. Luodaan sitä varten uusi agentti.

Lisätään agentille työkalu (tool).

New tool -painikkeen takaa löytyy lisää vaihtoehtoja.

Valitaan työkaluksi Computer use.

Seuraavaksi annetaan työkalulle ohjeet mitä sen tulee tehdä ja edetään seuraavaan vaiheeseen (Add and configure).

Nimetään työkalu ja annetaan sille kuvaus. Kuvaus on tärkeä, sillä sen perusteella agentti tunnistaa milloin sen tulee käyttää tätä työkalua.

Voit lisäksi

  • Tallentaa työkalun käyttämät salasanat (esim sisäänkirjautuminen palveluun). Käytännössä muodostetaan linkki Azure Key Vaultin tietueeseen.
  • Rajata mille sivustoille työkalu voi mennä. Hallusinoivien agenttien kanssa tämä voi olla järkevä varotoimenpide.
  • Määritellä käytetäänkö agentin tekijän vai suorittajan käyttäjätunnusta

Helpointa on käyttää alustan tarjoamaa konetta (hosted browser). Tosin silloin on mahdollista käyttää ainoastaan selaimella verkkosivuja.

Lisätään työkalulle vielä parametri (items to purchase). Työkalulle kerrotaan aina, mitä tuotteita sen halutaan ostavan.

Saatoitkin jo huomata, että huijasimme hieman. Emme pyydä agenttia ostamaan pyydettyjä tuotteita. Ainoastaan lisäämään ne ostoskoriin. En halua generoida itselleni hirveää määrää kuluja tämän esimerkin vuoksi.

Tämä on ongelma oikeissakin toteutuksissa. Miten testaamme että lopullinen tilaaminen onnistuu? Tilaamatta oikeasti mitään.

Toimiiko se?

Tallennetaan computer use -työkalu ja testataan.

Kerrotaaan mitä agentin tulisi meille tilata

  • kaksi perus hiirtä
  • 2m ethernet-kaapeli

Tasan 4 minuuttia siinä meni, mutta (tällä kertaa) lopputulos on juuri sitä mitä haettiin.

Oheiselta videolta näkyy reilusti nopeutettuna agentin tekemä työ alusta loppuun. Vasemmassa reunassa agentti kertoo mitä se tekee/yrittää tehdä.

Agentin etenemisen seuraaminen on kiehtovaa. Joskus se lähtee hakemaan tuotteita haulla, toisinaan se navigoi tuoteryhmien läpi kohti haluttua tuotetta. Joskus se kirjoittaa hakukenttään uuden haun edellisen hakutekstin perään. Jostain syystä se haluaa avata verkkokaupan megamenun mitä erikoisimmissa tilanteissa. Esimerkiksi kun sen tarkoitus on lisätä tuote ostoskoriin.

Useimmiten se huomaa nämä virheet ja osaa korjata toimintaansa. Jos joku ei onnistu yhdellä tapaa, agentti koittaa jotain toista. Ohjeilla voi vaikuttaa paljon agentin toimintaan. Pienetkin erot sanamuodoissa ovat merkityksellisiä. Kannatta testata useilla eri lähtötiedoilla ja katsoa missä kohtaa agentti alkaa hölmöilemään. Ja yrittää sitten ohjeistamalla korjata.

Yhteenveto

Tietokoneen käyttö avaa agenteille aivan uusia mahdollisuuksia. Mutta ei sen käyttö ongelmatonta vielä ole.

  • Kielimallit eivät toimi jokaisella suorituskerralla identtisesti. Uskallatko antaa agentille luottokorttisi ja päästää sen tekemään puolestasi ostoksia? Pyysin esimerkin agenttia ostamaan iPhonen ja ethernet-kaapelin. Lopputuloksena ostoskorissa oli 4 iPhonea ja 13 (väärää) ethernet-kaapelia.
  • Ainakaan vielä agentti ei pysty keskeyttämään tietokoneen käyttöä kysyäkseen käyttäjältä vahvistusta. Esimerkiksi ”Minulla on nyt nämä tuotteet ostoskorissa. Jatkanko?”.
  • Päivän valinta datepicker-kontrollilla tuntuu olevan vielä todella vaikeaa.
  • Mikäli verkkopalvelu haluaa vahvistaa ensin onko käyttäjänä ihminen (Verify you are human), lopettaa agentti kiltisti siihen.

Ominaisuus on preview-vaiheessa ja sille on annettu varsin rajallisesti resursseja. Tämä onkin tuttu näky.

Puutteistaan huolimatta tämä on todella kiinnostava avaus.