UiPath: Human-in-the-loop
I dette blogindlæg viser vi, hvordan en organisation kan bruge UiPath til at implementere arbejdsprocesser, hvor maskine og menneske skal samarbejde for at fuldføre opgaven.
Scenarier
I dette eksempel er opgaven, at en bruger skal validere om udlæg og signaturer er korrekte. Kort beskrevet, ser det ud som følgende:
1. Scanning af udlæg.
2. Robotten indlæser udlægget.
3. Robotten opretter en arbejdsopgave for at få valideret udlæg og underskrifter.
4. Administratoren tildeler en medarbejder en arbejdsopgave.
5. Medarbejderen læser og validerer udlæg og underskrifter.
6. Robotten fortsætter processen med godkendte udlæg og underskrifter.
7. Robotten gemmer de godkendte underskrifter.
Et par bemærkninger, som skal fremhæves. Den UiPath-platform version, som vi benytter, er et "preview" og er derfor ikke stabil og en version med fejl. Implementeringen er ikke beregnet til produktion, men kun for at demonstrere begrebet ”human-in-the-loop”.
Ovenfor nævner vi, at godkendte underskrifter skal gemmes. Ideen bag er, at man skal implementere machine learning (ML) eller kunstig intelligens (AI) i fremtiden for, at robotten kan genkende håndskrevne underskrifter. Vi vil uddybe dette emne i et senere blogindlæg. I forhold til ML og AI, er UiPath i gang med at udvikle løsninger til håndtering af fakturaer og kvitteringer. Dette vil vi også vende tilbage til, så snart løsningerne er mere stabile.
Til at håndtere disse typer scenarier, skal du kende to begreber som UiPath bruger, Task og Long running workflows. Ud over en unattended robot er der også brug for Orchestrator. Vi vil desuden vise, hvordan apps kan bruges.
Robot
Via robotpanelet kan processen startes manuelt. Men da man stadig har behov for en ”Orchestrator”, skal man lade procespanelset starte automatisk. I dette eksempel kalder jeg processen "HumanInTheLoop_OrchProc_Demo". Billedet under viser, hvilke processer der er installeret på robotten, og hvilke processer der kører i baggrunden. I dette tilfælde er den nævnte proces startet.
Task
”Task” er det arbejde, som robotten skaber til mennesker. Hver opgave omfatter en formular med oplysninger, der skal udveksles med et menneske. Alle opgaver vises i ”Orchestrator”, hvor de derefter kan tildeles til en bruger.
På billedet ovenfor, kan man se tre nye opgaver, der endnu ikke er tildelt til en medarbejder og to opgaver som er fuldført af administratoren. En opgave skal først tildeles til en person, for at den kan udføres. Som administrator kan man både tildele andre og sig selv opgaver. Opgaven kan derefter åbnes i Orchestrator eller i Apps. Jeg benytter Apps og du kan se formularen nedenfor.
Apps
UiPath har en app til Orchestrator, der kan installeres på telefoner og lignende. Med appen kan man tilgå mange af de samme muligheder, som er tilgængelige i standard Orchestrator. Via appen kan du blandt andet håndtere opgaver og langvarige transaktioner samt overvåge processer og robotter.
Medarbejderen får en meddelelse, når der er tildelt en opgave. Derefter kan man åbne Orchestrator-appen, se task og udføre dem. Som man kan se på billedet nedenfor, er det administratoren, som styrer tasks.
Når en opgave åbnes, vises den tilknyttede formular. I eksemplet ovenfor vises et logo og to afkrydsningsfelter til at angive, om udlæg og underskrifter er korrekte. Det, der mangler i formularen, er billedet af de scannede udlæg og underskrift. Indtil videre kan vi forestille os, at de er der. Hver opgave har et ID-nummer og i dette tilfælde er ID-nummeret 9912. Når medarbejderen har afsluttet opgaven, fortsætter robotten processen. I eksemplet vises en meddelelse med ID-nummer, hvilken handling brugeren har foretaget (er der trykket OK eller Annuller) og den rå JSON-kode med formulardata. Når en opgave er udført bliver status ændret.
Long Running workflows
Efter robotten har oprettet en arbejdsopgave og afventer på svar, kan den frit udføre andre processer. Man kan godt sætte flere robotter til at oprette opgaver og sætte dem til at samarbejde. Når en medarbejder har besvaret opgaven, overtager den første ledige robot og fortsætter processen. Processens status skal være godkendt før, at robotten kan fortsætte. Dette er konceptet bag long running workflows, og fordelen er, at robotternes effektivitet kun øges.
Orchestrator
Orchestrator bruges i denne sammenhæng til at køre processer og styre opgaverne. I Orchestrator kan administratoren tildele opgaver til medarbejderne. Derefter kan medarbejderen åbne opgaven og den tilknyttede formular. Se ovenfor.
UiPath Studio
For at implementere det beskrevne scenarie skal UiPath-projektet oprettes fra skabelonen Orchestration Process, og der henvises til følgende pakker.
Billedet nedenfor viser, hvilke aktiviteter, som kan indgå i long running workflows. Til at oprette opgaver med tilhørende formularer, bruger jeg Create Form Task. Jeg benytter også Wait For Form Task and Resume, når jeg venter på, at en medarbejder gennemfører en opgave.
Efterfølgende oprettes der opgaver, for hvert billede med et indscannet udlæg. Det gør man ved at indtaste felterne, Task Titel, Task Priority og de data i formularen som skal vises dynamisk eller de værdier brugeren skal benytte. I mit eksempel er det værdierne isExpensesOK og isSignatureOK.
I aktiviteten kan du også åbne formularadministratoren, samt oprette enkle formularer. I eksemplet har jeg indtastet titel, logo, data (se formulardata ovenfor), samt knapper til OK (send) og annuller.
Når alle opgaver er oprettet, er næste step i processen, at de skal fuldføres. Inputparameteren angiver den opgave som sendes retur når den er fuldført (resultTask). Outputparameteren angiver, hvilken knap brugeren har trykket på, samt formulardata og dens værdier.
Opsummering
Selv om vores eksempel er trivielt og har skønhedsfejl, viser det stadig konceptet Human-In-The-Loop og hvad det kræves for at gennemføre det. I de fremtidige blogindlæg vil vi prøve at vise, hvordan RPA og især UiPath kan bruges sammen med Machine Learning.