Workflow assistenten
Workflow assistenter er en avansert form for AI-assistenter i AI-School. I stedet for en fri samtale uten fast struktur, gjennomgår brukeren en definert rekke trinn — dirigert av AI. Dette gjør det mulig å automatisere kompliserte, flerstegs prosesser, som en fullstendig leksjon fra start til slutt.
Hva er en workflow-assistent?
En workflow-assistent består av en Visuell arbeidsflyt av noder som er koblet sammen med piler (_edges). Hver node utfører en spesifikk oppgave, som for eksempel:
- Start / Slutt — startpunktet og sluttpunktet for arbeidsflyten
- Evaluer — analyserer kontekst og lagrer strukturert informasjon i minnet
- Betingelse — evaluerer et uttrykk og leder flyten i riktig retning
- LLM — kaller et språkmodell for en spesifikk oppgave (valgfritt: venter på brukerinnspill)
- Godkjenning — stiller et ja/nei-spørsmål og leder flyten basert på svaret
- Under-agent - utfører samme oppgave parallelt for flere elementer, for eksempel en elev per rettingsrunde
Arbeidsflyten lagrer sin tilstand automatisk etter hvert trinn. Når brukeren gir input, fortsettes arbeidsflyten eksakt der den slapp.
Lage workflow-assistent
Gå til Assistanter → Ny assistent og velg typen Workflow assistent. Du kan velge mellom et tomt lerret eller en av de forhåndsoppsette presets.
Generelle innstillinger
Når du oppretter eller redigerer en workflow, setter du generelle innstillinger via innstillingspanelet. Disse innstillingene gjelder for hele arbeidsflyten:
- Mode l: AI-modellen som brukes av alle trinnene. Du velger én modell for hele arbeidsflyten.
- Verktøy: Hvilke verktøy som er tilgjengelige i workflowen (f.eks. Dokumentasjon, SLO-søk, Internett-søk). Slåtte verktøy er tilgjengelige for alle LLM-trinn, med mindre du deaktiverer dem per trinn.
- MCP-servere: Eksterne koblinger som er tilgjengelige i workflowen.
- Dokumenter: Filer som LLM-trinn kan konsultere.
- Bilder: Bilder som LLM-trinn kan bruke.
Du kan også angi om brukeren selv kan legge til filer eller bilder under chatten.
Filer i workflow-skjemaer
En workflow kan be brukeren om å levere filer, for eksempel en prøve, en rettelsesmodell eller elevinnleveringer. Ved en slik filforespørsel kan brukeren:
- laste opp en ny fil
- velge en eksisterende fil fra Filbehandling
- bestemme hvilket filen som hører til hvilket delmål per spørsmål
Nye filer behandles først. Arbeidsflyten kan bare fortsette pålitelig når behandlingen er ferdig. Hvis en obligatorisk filforespørsel fortsatt pågår eller feiler, må brukeren vente eller velge/ laste opp filen på nytt.
Filer som legges til gjennom workflow-skjemaet, blir tilgjengelige som assisentfiler for den aktuelle chatten. De velges ikke automatisk som vanlige chat-filer.
Per-trinn innstillinger
I hver LLM-trinn kan du slå av verktøy, filer og bilder som er globalt aktivert for den spesifikke trinn, slik at du har presis kontroll over hvilke hjelpemidler som er tilgjengelige i hvert trinn. På trinn-nivå kan du ikke legge til noe som ikke allerede er globalt aktivert.

For de fleste brukere er en preset det beste utgangspunktet. Du kan senere tilpasse preset-en til dine behov.
Eksempel: Leksjonsassistenten
Leksjonsassistenten er en ferdig preset spesielt designet for undervisning. Han veileder brukeren fra start til slutt gjennom en hel leksjon: fra å fastslå emne og nivå, via læringsmål og forklaring, til øvelser og en avsluttende oppsummering.
Oversikt over workflowen
Leksjonsassistenten består av følgende trinn (noder), i rekkefølge:
Trinn for trinn forklart
1. Start
Arbeidsflyten startes når brukeren åpner chatten og sender sin første melding.
2. Triage: Leksjonsemne (evalueer-node)
Hva gjør det? AI-en analyserer brukerens melding og prøver å bestemme:
- Emne — hva handler leksjonen om? (f.eks. "drevenkraft")
- Nivå — grunnleggende, middels eller avansert?
- Tilstrekkelig info? — er det nok kontekst til å direkte utarbeide læringsmål?
Dette resultatet lagres i arbeidsflytens minne.
3. Tilstrekkelig info? (conditie-node)
Hvis det er tilstrekkelig informasjon (tilstrekkelig_info = true), går workflowen direkte til Læringsmål utarbeides.
Hvis informasjonen mangler, går workflowen til Innsamling av informasjon.
4. Innsamling av informasjon (LLM-node, venter på inntastning)
Hva gjør det? AI-en stiller målrettede spørsmål til brukeren for å finne emne og ønsket nivå. Når brukeren har svart, går flyten tilbake til Triage: Leksjonsemne for ny evaluering.
Eksempel på samtale:
🤖 "Hyggelig at du er her! For å kunne hjelpe deg bra, noen korte spørsmål: 1. Om hvilket emne vil du ha en leksjon? 2. På hvilket nivå er du? (grunnleggende / middels / avansert)"
👤 "høyskole 3 naturfag, drevenkraft"
Etter dette svaret evalueres triagen på nytt og bestemmer: tilstrekkelig_info = true.
5. Læringsmål utarbeides (LLM-node)
Hva gjør det? AI-en utarbeider en nummerert liste med maksimalt 4 til 5 konkrete, målbare læringsmål for det oppgitte emnet og nivået.
Eksempel på output:
Læringsmål for Drevenkraft – høyere nivå 3 (middels):
- Du kan formulere drevenkraft og forklare formelen F₁ × r₁ = F₂ × r₂.
- Du kan utføre beregninger der du bestemmer ukjente krefter eller armlengder.
- Du kan anvende drevenkraft på praktiske eksempler (saks, kjølebil, vippebøyle).
- Du kan forklare forskjellen mellom første-, andre- og tredje-slags drevene.
6. Læringsmål godkjennes (godkjenning-node)
Hva gjør det? AI-en spør brukeren om læringsmålene er gode og om leksjonen kan starte.
- Ja → fortsett til leksjonen
- Nei → gå tilbake til Læringsmål utarbeides for å omformulere
Brukeren kan se læringsmålene via rullegardinmenyen i chatten.
7. Triage: Læringsmål (evalueer-node)
Hva gjør det? Etter hver leksjonssyklus sjekker AI om brukeren behersker alle læringsmålene. Dette er streng evaluering: brukeren må tydelig forstå hvert læringsmål.
8. Alle læringsmål forstått? (conditie-node)
- Ja → fortsett til Øvelser agent
- Nei → fortsett til Leksjon agent for neste læringsmål
9. Leksjonsagent (LLM-node, venter på inntastning)
Hva gjør det? AI-en gir leksjon om emnet, steg for steg, basert på de fastsatte læringsmålene. Etter hver del stiller AI et forståelses-spørsmål. Kun hvis brukeren viser at de forstår læringsmålet, fortsetter leksjonen.
Etter brukerens inndata går flyten tilbake til Triage: Læringsmål for å evaluere fremdriften.
Eksempel:
🤖 "Vi begynner med læringsmål 1: drevenkraft. En drevenkraft er et statisk skaft som roterer rundt et støttepunkt. Kreftene du trenger avhenger av avstand til støttepunktet. Formelen er:
F₁ × r₁ = F₂ × r₂
Kan du forklare hva r₁ og r₂ betyr i denne formelen?"
10. Øvelser agent (LLM-node, venter på inntastning)
Hva gjør det? AI-en stiller minst ett øvingsspørsmål per læringsmål. Brukeren svarer, hvorpå flyten fortsetter til Tilbakemeldingsagent.
11. Tilbakemeldingsagent (LLM-node, venter på inntasting)
Hva gjør det? AI-en gir detaljert, personlig tilbakemelding på de gjennomførte øvelsene. For hvert læringsmål diskuteres hva som gikk bra og hva som kan forbedres. Tonen er ærlig men oppmuntrende.
12. Avslutte? (godkjenning-node)
AI-en spør om brukeren vil avslutte eller gjøre mer øvelse.
- Ja → gå til Oppsummering
- Nei → gå tilbake til Øvelser agent for en ny runde
13. Oppsummering (LLM-node)
Hva gjør det? AI-en gir en tydelig oppsummering av all behandlet leksjonsstoff, fulgt av personlig, motiverende tilbakemelding om prestasjonene.
14. Slutt
Arbeidsflyten avsluttes med en oppmuntrende avslutningsmelding.
"Bra jobbet i denne leksjonen, og vi sees neste gang!"
Hele eksempel-samtalen
Nedenfor en forkortet eksempel-samtale med Leksjonsassistenten om drevenkraft, nivå 3:
| Hvem | Melding |
|---|---|
| 👤 Bruker | hei |
| 🤖 Leksjonsassistent | Hyggelig at du er her! Om hvilket emne vil du ha en leksjon, og på hvilket nivå? |
| 👤 Bruker | nivå 3 naturfag, drevenkraft |
| 🤖 Leksjonsassistent | Perfekt! Jeg har utarbeidet 4 læringsmål. Vil du starte leksjonen med disse målene? |
| 👤 Bruker | ja |
| 🤖 Leksjonsassistent | Vi starter med læringsmål 1: drevenkraft. (forklaring + forståelsesspørsmål) |
| 👤 Bruker | (svar på forståelsesspørsmål) |
| 🤖 Leksjonsassistent | (fortsettelse leksjon for læringsmål 2, 3, 4 ...) |
| 🤖 Leksjonsassistent | Du har gjennomgått alle læringsmål! På tide med øvelsene... |
| 👤 Bruker | (svar på øvelsesspørsmål) |
| 🤖 Leksjonsassistent | (personlig tilbakemelding) Vil du avslutte eller øve mer? |
| 👤 Bruker | avslutte |
| 🤖 Leksjonsassistent | (oppsummering + motiverende avslutning) |
Se framdrift
Når du har en samtale med en workflow-assistent, kan du se fremdriften via knappen Workflow til høyre for chatteinngangen. Klikk på denne knappen åpner et panel med:
- Alle trinn i workflowen (betingelses- og notat-noder vises ikke)
- Status for hvert trinn:
- ⬜ Venter: Ikke nådd enda
- 🔄 Aktivt: Utføres nå
- ✅ Ferdig: Velykket fullført
- ⏸️ Venter på inndata: Venter på brukerrespons
- ⏭️ ** overstyrt**: Ikke utført (f.eks. av betingelse)
- ❌ Feil: Det oppstod en feil
Opprette en triage-node
En evalueer-node (triagenode) henter informasjon fra samtalen og lagrer den i workflow-minnet. Betingelses-noder kan deretter lese disse verdiene for å styre flyten i riktig retning.
Konfigurering
- Legg til en Evaluer-node i workflowen.
- Skriv en systemprompt som beskriver hva AI-en skal analysere og hvilke konklusjoner den skal trekke.
- Definer det output-skjemaet med felter:
- Feltnavn: Nøkkelen du bruker for å hente verdien senere (f.eks.
tilstrekkelig_info,niva,rute). - Type:
string(tekst),number(tall),boolean(ja/nei), ellerenum(valg blant faste verdier). Forenumangir du tillatte verdier som kommaseparerte.
- Feltnavn: Nøkkelen du bruker for å hente verdien senere (f.eks.
- Still inn maks. iterasjoner for å unngå at noden går i en uendelig løkke.
Hukommelsesverdier
De lagrede verdiene er tilgjengelige via prefikset state. i betingelses-noder, for eksempel state.tilstrekkelig_info eller state.niva.
Oppsett av en betingelsesk node
En betingelse-node evaluerer uttrykk basert på workflow-minnet og leder flyten til riktig neste trinn.
Grener
En betingelse-node har en eller flere grener:
- Hvis (if): Første betingelse som evalueres.
- Ellers hvis (else-if): Valgfrie ekstra betingelser.
- Ellers (else): Standardruten hvis ingen betingelse er sann.
Skriv uttrykk
Uttrykk skrives i CEL (Common Expression Language):
| Ønsket adferd | Uttrykk |
|---|---|
Felt er true | state.tilstrekkelig_info == true |
| Felt har en fast verdi | state.niva == "avansert" |
| Numerisk sammenligning | state.score > 7 |
| Flere betingelser | state.niva == "grunnleggende" && state.score < 5 |
Tilkoblinger
Tegn fra betingelses-noden adskilte forbindelser for hver gren til riktig neste node. Editor viser hver gren en egen utgang på noden.
Bruke en subagent-node
En subagent-node er beregnet for oppgaver som må gjøres flere ganger på samme måte. Noden får en liste med elementer fra workflow-minnet og starter for hvert element en separat utførelse med en isolert kontekst.
Praktiske bruksområder:
- retting av en elev per elev
- lage en analyse per dokument
- lage et sammendrag per utfylt skjema
- dokumentere hver del i en egen rapport
Konfigurering
- Sørg for at en tidligere evaluerings-node har lagret en liste med elementer i workflow-minnet, for eksempel
elever_json. - Legg til en Subagent-node.
- Sett kilden til elementene.
- Angi eventuelt et etikettfelt slik at fremdriften er gjenkjennbar.
- Still inn maks antall parallellutførelser.
- Angi under hvilken minnestatus nøkkelen resultatene skal lagres.
Subagent-konteksten inneholder alltid bare det elementet som behandles i øyeblikket. La prompten eksplisitt referere til gjeldende element og unngå at AI-en behandler flere elementer samtidig.
##Fastsatt i workflow
Fastsat-verkøy er spesielt nyttig i workflows. Med dette kan AI-en automatisk lagre mellom- eller sluttresultater som redigerbare dokumenter i sidepanelet.
Innstillinger
- Slå på Fastsatt-verktøyet via workflowens generelle innstillinger.
- Legg til i systemprompten for ønsket LLM-trinn en instruksjon om å fastsette visse innhold. Slå på verktøyet for det trinnet (eller la det være globalt på).
Eksempel
I et læringsmål-trinn kan du skrive i systemprompten:
"Utarbeid læringsmål for det angitte emnet og nivået. Lagre deretter læringsmålene umiddelbart med Fastsatt-verktøyet, med tittelen 'Læringsmål'."
Brukeren kan se de lagrede dokumentene via Fastsatt-knappen (📄) i chatverktøylinjen.
Gjenoppretting av samtale
Hvis du er midt i en leksjon og vil gå tilbake til et tidligere punkt i samtalen, kan du gjøre dette via gjenopprett-knappen (historikk-ikonet) ved et tidligere innlegg. Dette fjerner alle meldinger etter det punktet og gjenopptar workflowen fra det eksakte øyeblikket.
Gjenoppretting er endelig — slettede meldinger er ikke lenger tilgjengelige.
Redigere workflow
Som administrator kan du åpne og tilpasse en eksisterende workflow i workflow-editoren. Klikk på en node for å endre konfigurasjonen, legg til nye noder via høyreklikk-menyen eller dra forbindelser til andre noder.
For en helt ny workflow kan du starte med et tomt lerret eller en annen preset.