Workflow assistenter
Workflow assistenter er en avanceret form for AI-assistenter i AI-School. I stedet for en åben samtale uden fast struktur gennemgår brugeren en defineret række trin — styret af AI. Dette muliggør automatisering af komplekse, flertrins processer, såsom en fuld lektion fra begyndelse til slut.
Hvad er en workflow-assistent?
En workflow-assistent består af en visuel workflow bestående af knuder (nodes) forbundet med pile (edges). Hver node udfører en specifik opgave, såsom:
- Start / Slut — begyndelses- og slutpunkt for workflowet
- Evaluer — analyserer konteksten og gemmer struktureret information i hukommelsen
- Betingelse — evaluerer et udtryk og fører flowet i den rette retning
- LLM — kalder en sprogmodel til en specifik opgave (valgfrit: venter på brugerinvolvering)
- Godkendelse — stiller et ja/nej-spørgsmål og fører flowet baseret på svaret
- Subagent - udfører den samme opgave parallelt for flere elementer, f.eks. en elev per vurderingsrunde
Workflowet gemmer sin tilstand automatisk efter hvert trin. Når brugeren giver input, fortsætter workflowet præcis der, hvor det sluttede.
Opret en workflow-assistent
Gå til Assistenter → Ny assistent og vælg typen Workflow assistent. Du kan vælge mellem et tomt canvas eller en af de forudkonfigurerede presets.
Generelle indstillinger
Når du opretter eller redigerer et workflow, indstiller du generelle indstillinger via indstillingspanelet. Disse indstillinger gælder for hele workflowet:
- Model: AI-modellen, der bruges i alle trin. Du vælger én model for hele workflowet.
- Tools: Hvilke værktøjer der er tilgængelige i workflowet (f.eks. Fastsættelse, SLO-søgning, Internet-søgning). Slåede værktøjer er tilgængelige for alle LLM-trin, medmindre du slår dem fra per trin.
- MCP-servere: Eksterne forbindelser, der er tilgængelige i workflowet.
- Dokumenter: Filer som LLM-trin kan konsultere.
- Billeder: Billeder som LLM-trin kan bruge.
Du kan også indstille, om brugeren selv må tilføje filer eller billeder under chatten.
Filer i workflow-formularer
Et workflow kan bede brugeren om at indsende filer, f.eks. en prøve, en vurderingsmodel eller indleveret elevarbejde. Ved en sådan fil-forespørgsel kan brugeren:
- uploade en ny fil
- vælge en eksisterende fil fra Filbehandling
- for hver spørgsmål bestemme, hvilken fil der tilhører hvilket komponent
Nye filer bliver først behandlet. Workflowet kan kun fortsætte betráffende, når behandlingen er afsluttet. Hvis en obligatorisk fil-forespørgsel stadig er i gang eller mislykkes, skal brugeren vente eller vælge/uploade filen igen.
Filer tilføjet via workflow-formularen er tilgængelige som assistentfiler for den pågældende chat. De vælges ikke automatisk som almindelige chatfiler.
Per-trin indstillinger
I hver LLM-trin kan du slå værktøjer, filer og billeder, der er globalt aktiveret, tilbage for det specifikke trin. Dette giver dig præcis kontrol over, hvilke hjælpemidler der er tilgængelige i hvilket trin. Du kan ikke tilføje noget på trin-niveau, som ikke allerede er globalt aktiveret.

For de fleste brugere er en preset det bedste udgangspunkt. Du kan senere tilpasse presetet til dine egne behov.
Eksempel: Læseassistenten
Læringsassistenten er en færdiglavet preset, specielt designet til undervisning. Den guider brugeren fra begyndelse til slut gennem en fuld lektion: fra fastsættelse af emne og niveau, via læringsmål og forklaring, til øvelser og en afsluttende opsummering.
Oversigt over workflowet
Læseassistenten består af følgende trin (nodes) i rækkefølge:
Trin-for-trin forklaret
1. Start
Workflowet starter, når brugeren åbner chatten og sender sin første besked.
2. Triage: Læringsemne (evalueer-node)
Hvad gør den?
AI’en analyserer brugerens besked og forsøger at bestemme:
- Emne — hvad handler lektionen om? (f.eks. "2070-ligninger")
- Niveau — grundlæggende, mellem eller avanceret?
- Tilstrækkelig info? — er der nok kontekst til straks at opstille læringsmål?
Dette resultat gemmes i workflowets hukommelse.
3. Tilstrækkelig info? (conditie-node)
Hvis der er tilstrækkelig information (tilstrækkelig_info = true), fortsætter workflowet direkte til Læringsmål fastsættes.
Hvis informationen mangler, går workflowet til Indhent information.
4. Indhent information (LLM-node, vent på input)
Hvad gør den?
AI’en stiller målrettede spørgsmål til brugeren for at fastslå emnet og ønsket niveau. Når brugeren har svaret, går flowet tilbage til Triage: Læringsemne for ny evaluering.
Eksempel på samtale:
🤖 "Flot at se dig! For at kunne hjælpe dig ordentligt, et par korte spørgsmål: 1. Om hvilket emne vil du have en lektion? 2. På hvilket niveau er du? (grundlæggende / mellem / avanceret)"
👤 "højeste niveau gymnasiet, naturfag, mekaniske kræfter"
Efter dette svar evalueres triage igen og bestemmer: tilstrækkelig_info = true.
5. Læringsmål fastsættes (LLM-node)
Hvad gør den?
AI’en opstiller en nummereret liste på maks. 4 til 5 konkrete, målbare læringsmål for det angivne emne og niveau.
Eksempel output:
Læringsmål for Hjælpemoment – gymnasiet 3 (mellem):
- Du kan formulere og forklare loven om mekaniske kræfter (f.eks. F₁ × r₁ = F₂ × r₂).
- Du kan udføre beregninger, hvor ukendte kræfter eller armlængder bestemmes.
- Du kan anvende loven på praktiske eksempler (scissortang, kækrejsevogn, legetøjsvippetøj).
- Du kan forklare forskellen mellem første-, anden- og tredje-slags træk.
6. Læringsmål godkendes (godkendelse-node)
Hvad gør den?
AI’en spørger brugeren, om de opstillede læringsmål er godkendte, og om lektionen kan begynde.
- Ja → fortsæt til lektionen
- Nej → gå tilbage til Læringsmål fastsættes for at omformulere læringsmålene
Brugeren kan se læringsmålene via den udvidelige menu i chatten.
7. Triage: Læringsmål (evalueer-node)
Hvad gør den?
Efter hver lektion-cyklus kontrollerer AI, om brugeren har mestret alle læringsmålene. Dette er en streng evaluering: brugeren skal forstå hvert læringsmål.
8. Alle læringsmål forstået? (conditie-node)
- Ja → fortsæt til Øvelser agent
- Nej → fortsæt til Læse-agent for næste læringsmål
9. Læse-agent (LLM-node, vent på input)
Hvad gør den?
AI’en giver lektion i emnet, trin for trin, baseret på de opstillede læringsmål. Efter hvert afsnit stiller AI en forståelsesspørgsmål. Kun hvis brugeren demonstrerer at forstå læringsmålet, fortsætter lektionen.
Efter brugerens input går flowet tilbage til Triage: Læringsmål for at evaluere fremskridt.
Eksempel:
🤖 "Vi starter med læringsmål 1: mekaniske kræfter. En lås er en stiv stang, der drejer om et hængpunkt. Kræften du har brug for, afhænger af afstanden til hængpunktet. Formlen er:
F₁ × r₁ = F₂ × r₂
Kan du forklare, hvad r₁ og r₂ betyder i denne formel?"
10. Øvelser agent (LLM-node, vent på input)
Hvad gør den?
AI’en stiller mindst ét øvelsesspørgsmål per læringsmål. Brugeren svarer, hvorefter flowet fortsætter til Feedback-agent.
11. Feedback agent (LLM-node, vent på input)
Hvad gør den?
AI’en giver detaljeret, personlig feedback på de gennemførte øvelser. For hvert læringsmål diskuteres, hvad der gik godt, og hvad der kan forbedres. Tonen er ærlig men opmuntrende.
12. Afsluttes? (godkendelse-node)
AI’en spørger, om brugeren vil afslutte eller ønske at øve mere.
- Ja → gå til Opsummering
- Nej → gå tilbage til Øvelser agent for en ny runde
13. Opsummering (LLM-node)
Hvad gør den?
AI’en giver en klar opsummering af al behandlede stof og efterfølges af personlig, motiverende feedback om præstationer.
14. Slut
Workflowet afsluttes med en opmuntrende afslutning.
"Godt arbejde med lektionen, og vi ses næste gang!"
Fuldstændig eksempel-konversation
Nedenfor et forkortet eksempel på en konversation med Læseassistenten om emnet mekaniske kræfter, gymnasiet 3:
| Hvem | Besked |
|---|---|
| 👤 Bruger | hej |
| 🤖 Læseassistent | Dejligt at se dig! Om hvilket emne vil du have en lektion, og på hvilket niveau? |
| 👤 Bruger | gymnasiet 3, mekaniske kræfter |
| 🤖 Læseassistent | Perfekt! Jeg har opstillet 4 læringsmål. Vil du starte lektionen med disse læringsmål? |
| 👤 Bruger | ja |
| 🤖 Læseassistent | Vi starter med læringsmål 1: mekaniske kræfter. (forklaring + forståelsesspørgsmål) |
| 👤 Bruger | (svar på forståelsesspørgsmål) |
| 🤖 Læseassistent | (rul videre lekt for mål 2, 3, 4 ...) |
| 🤖 Læseassistent | Du har gennemført alle læringsmålene! Tid til øvelserne... |
| 👤 Bruger | (svarer på øvelsesspørgsmål) |
| 🤖 Læseassistent | (personlig feedback) Vil du afslutte eller øve mere? |
| 👤 Bruger | afslut |
| 🤖 Læseassistent | (opsummering + motiverende afslutning) |
Se fremskridt
Når du fører en samtale med en workflow-assistent, kan du se fremskridtet via knappen Workflow til højre for chatinput. Klik på denne knap for at åbne et panel med:
- Alle trin i workflowet (betingelses- og notenoder vises ikke)
- Status for hvert trin:
- ⬜ Vent: Ikke nået endnu
- 🔄 Aktiv: Udføres nu
- ✅ Færdig: Succesfuldt afsluttet
- ⏸️ Vent på input: Venter på brugerrespons
- ⏭️ Overset: Ikke udført (f.eks. via en betingelse)
- ❌ Fejl: Der opstod en fejl
Opret en triage-node
En evalueer-node (triage-node) trækker information fra samtalen og gemmer den i workflow-hukommelsen. Betingelses-noder kan herefter læse disse værdier for at styre flowet i den korrekte retning.
Konfigurering
- Tilføj en Evaluer-node til workflowet.
- Skriv en systemprompt, der beskriver, hvad AI’en skal analysere og hvilke konklusioner den skal drage.
- Definer output-skema med felter:
- Feltnavn: Nøgle, der bruges til senere at forespørge værdien (f.eks.
tilstrækkelig_info,niveau,route). - Type:
string(tekst),number(tal),boolean(ja/nej), ellerenum(valg mellem faste værdier). Vedenumangives de tilladte værdier som kommaseparerede.
- Feltnavn: Nøgle, der bruges til senere at forespørge værdien (f.eks.
- Indstil maks. iterationer for at undgå, at noden kører ubegrænset.
Hukommelsesværdier
De gemte værdier er tilgængelige via præfikset state. i betingelses-noder, f.eks. state.tilstrækkelig_info eller state.niveau.
Indstil en betingelse node
En betingelse-node evaluerer udtryk baseret på workflow-hukommelsen og sender flowet til den rette næste node.
Grene
En betingelse-node har en eller flere grene:
- Hvis (if): Den første betingelse, der evalueres.
- Ellers hvis (else-if): Valgfrie ekstra betingelser.
- Ellers (else): Standardvejen, hvis ingen betingelse er sand.
Skriv udtryk
Udtryk skrives i CEL (Common Expression Language):
| Ønsket adfærd | Udtryk |
|---|---|
Felt er true | state.tilstrækkelig_info == true |
| Felt har en fast værdi | state.niveau == "gevorderet" |
| Numerisk sammenligning | state.score > 7 |
| Flere betingelser | state.niveau == "basis" && state.score < 5 |
Tilslutninger
Tegn fra betingelses-noden komplette forbindelser for hver gren til den rette næste node. Editor viser for hver gren en separat udgang på noden.
Brug af en subagent-node
En Subagent-node er beregnet til opgaver, der skal udføres flere gange på samme måde. Noden får en liste med items fra workflow-hukommelsen og starter en separat udførelse for hvert item i en isoleret kontekst.
Praktiske anvendelser:
- bedømmelse af hver elev for en test
- lave en analyse per dokument
- lave et sammendrag per udfyldt formular
- registrere en egen rapport per komponent
Konfigurering
- Sørg for, at en tidligere evaluerings-node gemmer en liste med items i workflow-hukommelsen, f.eks.
elever_json. - Tilføj en Subagent-node.
- Indstil kilden til items.
- Angiv eventuelt et etiketfelt, så fremskridt kan genkendes.
- Angiv maksimal antal parallelle udførelser.
- Angiv under hvilken hukommelsesnøgle resultaterne skal gemmes.
Subagent-konteksten indeholder altid kun det item, der behandles i øjeblikket. Gør derfor prompten eksplicit henvisende til det aktuelle item og undgå, at AI’en behandler flere items samtidig.
Logning i workflows
Logging-værktøjet er særligt nyttigt i workflows. Det gør det muligt for AI’en automatisk at gemme mellemliggende eller endelige resultater som redigerbare dokumenter i sidepanelet.
Indstilling
- Aktivér Logging-værktøjet via workflowets generelle indstillinger.
- Tilføj i systeemprompten for den ønskede LLM-trin en instruktion til at logge bestemte indhold. Slå værktøjet til for det trin (eller lad det være globalt aktiveret).
Eksempel
I et læringsmål-trin kan du i systeemprompten skrive:
"Udform læringsmål for det angivne emne og niveau. Gem derefter læringsmålene med Logging-værktøjet under titlen 'Læringsmål'."
Brugeren kan se de gemte dokumenter via Logging-knappen (📄) i chatens værktøjslinje.
Genoprette samtalen
Hvis du sidder midt i en lektion og vil vende tilbage til et tidligere punkt i samtalen, kan du gøre det via gjenoprettelses-knappen (history-ikonet) ved et tidligere indlæg. Dette sletter alle beskeder efter det punkt og genstarter workflowet fra præcis det øjeblik.
Gjenoprettelse er endelig — de slettede beskeder er ikke længere tilgængelige.
Rediger workflow
Som administrator kan du åbne og tilpasse en eksisterende workflow i workflow editor. Klik på en node for at ændre konfigurationen, tilføj nye nodes via højreklik-menuen eller træk forbindelser til andre noder.
For et helt nyt workflow kan du starte med et tomt canvas eller en anden preset.