Denne uken holdt jeg to ti-minutters innlegg på IT-avdelingens idémøter om KI på UiO, ett om administrasjon og ett om utdanning. Begge ble laget sammen med en agent, Claude Code, på en ettermiddag og en kveld uken før, og med et par oppfølgingsrunder rett før og etter innleggene. Her vil jeg skrive om prosessen, for den er kanskje det mest interessante ved hele øvelsen.

Utgangspunktet

Jeg begynte med det jeg alltid begynner med: en mappe. I den la jeg innkallingen til møtet som PDF og så laget jeg et tekstdokument (med Markdown-kode) hvor jeg skrev stikkord med det jeg tenkte å si og en kort bestilling øverst. Stikkordene var passe godt strukturert, men bar preg av å være “brainstorming”.

Bestillingen var ganske presis: bruk av reveal.js, lysbilder med lite tekst og mest figurer, organisert slik at temaene går bortover og fordypningen nedover. Jeg ba også om et notatark med stikkord (ikke manus) og en bloggpost. Agenten fikk også beskjed om å kjøre i et virtuelt miljø og lage tre filer for å holde styr på prosjektet: todo, handover og logg.

Så ba jeg agenten lese mappen og gjøre det som sto der. Første runde tok under en time. Agenten leste PDF-en og notatene, fant frem til bloggen min og stilguiden som ligger i den, tok skjermbilder av alle nettsidene jeg refererte til, tegnet syv figurer som SVG, satte opp lysbildene i reveal.js, skrev notatarket og et bloggutkast, og la igjen de tre sporingsfilene. Underveis sjekket den de norske bloggpostene mine og la til et eget avsnitt om norsk skrivestil i stilguiden, siden den bare hadde et engelsk avsnitt fra før.

Rundene

Etter at agenten hadde gjort grovarbeidet, begynte vi diskusjonen. Jeg åpnet lysbildene i nettleseren, så noe jeg ikke likte, og skrev en linje tilbake. Noen beskjeder var konkrete: “remove the image from the first reiseregning page”. Noen var en rettelse av språket mitt: jeg skriver “syv”, ikke “sju”. Agenten rettet, oppdaterte notatarket og skrev en linje i loggen, og så var det min tur igjen. Vi brukte omtrent 25 runder før jeg ble fornøyd.

Sløyfe med fire steg Én runde: jeg ser gjennom, gir en kort beskjed, agenten retter og bygger på nytt, og notatark og logg følger med.

Dagen før det første innlegget kom jeg på at jeg hadde noen gode poenger fra et lengre foredrag om KI og kreativitet for postdoktorer jeg hadde holdt. Jeg spurte agenten om noe fra foredraget kunne brukes, og agenten gikk gjennom de hundre lysbildene og foreslo fire ting: en figur i tre klikk, en stige fra bot til autonomt system, en figur med to merkelapper per fil, og et script som teller tallene på siste lysbilde fra selve materialet.

Da jeg gikk gjennom presentasjonen min, følte jeg at argumentasjonen ikke fungerte. Så jeg spurte agenten om å snu rundt på det hele. Den flyttet og justerte på alt sammen. Det var bedre, men ikke helt bra. Resten av kvelden gikk med til en serie korte beskjeder for å rydde opp i detaljer, men også justere formatering og animasjoner. Tallene om prosessen på siste lysbilde oppdaterte seg selv etter hver runde.

Etter at det første innlegget var holdt, noterte jeg ned ting jeg følte jeg fikk kommunisert bra, men også ting jeg ikke fikk sagt. Jeg tok også med noen relevante spørsmål jeg hadde fått fra salen. Ut fra det foreslo agenten ni endringer i utdanningsinnlegget dagen etter, og gjorde dem på én beskjed: “fix all”.

Det samme gjentok seg etter utdanningsinnlegget. Jeg la inn nye kommentarer om hvordan det hadde gått og ba agenten om å oppdatere blogginnleggene. Da kom jeg også på at jeg skulle skille ut dette innlegget i en egen post.

Under forberedelsene til utdanningsmøtet kom jeg også på hvordan utdanning og forskning går inn i en større diskusjon om “åpen kunnskap”. Det er et begrep jeg har mindre erfaring med enn åpen forskning, så jeg ba agentene hjelpe meg med en litteraturgjennomgang. Den kom tilbake med 55 referanser om åpen kunnskap, som nå har blitt til en egen post.

Underveis i denne prosessen (eller prosessene, for det var flere i parallel), ble det tydelig hvordan arbeidsdelingen mellom meg og agentene var. I metafor kan jeg si at jeg pakker båten og setter kursen, agenten gjør arbeidet på og under dekk, mens jeg passer på fra broen. Sammen kommer vi raskere til mål. Det er ikke en ensidig bestilling og levering, men en iterativ prosess. Ingen av oss hadde laget dette alene: jeg hadde ikke rukket det, og agenten hadde ikke visst hva som var verdt å si.

Tre arbeidsvaner

Etter å ha jobbet med ulike agenter i noen år, har jeg lært meg noen triks som fungerer bra:

  1. Ett prosjekt, én mappe. Hver gang jeg jobber med en agent, begynner jeg med å samle alt innholdet jeg ønsker å bruke i en mappe. Agenten jobber på filer, så det er filene den må få: notater, innkallinger, bilder, tidligere tekster.

  2. Instruksjonsfiler. Jeg ber nå alltid agentene om å sette opp tre filer: handover, todo og logg. Agenten skriver dem selv underveis, og jeg passer på at den oppdaterer på slutten av hver økt. De gjør at jeg kan lese meg opp på hva som er gjort og hva som gjenstår, uten å bla gjennom en lang samtale. Og de gjør at neste økt, med en annen agent (eller kollega), kan ta over mappen.

  3. Virtuelt miljø. Det er god praksis å bruke virtuelle miljøer (venv) når man programmerer. Men også for tekstbaserte prosjekter, gir det mening. Da holder man alt innenfor trygge rammer og er sikker på at alt er reproduserbart seneres. Jeg fikk også laget noen enkle Python-baserte kodesnutter for å konvere til PDFer og fikse lysbildene. Med et virtuelt miljø er det lett å få dette til å kjøre igjen på en annen maskin senere.

Ingen av disse var alvorlige, og alle ble løst i neste runde. Men de sier noe om hvor arbeidet ligger. Agenten er ikke feilfri, den er rask til å rette, og den sier fra om hva den har gjort. Det holder, så lenge noen ser gjennom.

Summa summarum

Hele dette prosjektet ble realisert fordi alt agenten trengte, lå på min egen disk: notater, innkalling, stilguide, tidligere innlegg og bildene jeg fant frem. Det er det samme poenget som jeg endte begge innleggene med. Agentene er klare til å samarbeide, men de trenger noe å jobbe med. Data som ligger låst fast i lukkete formater (ja, Apple, jeg ser særlig på deg) eller innloggingbaserte tjenester (f.eks. Microsoft og Google), kan ikke brukes til noe fornuftig (eller bare innenfor hvert økosystem).

Sparer jeg tid på dette? Tja. Noen ganger, ja, men på innleggene denne uken gjorde jeg ikke det. Jeg har brukt mer tid på dette enn jeg hadde tenkt. Men jeg har lært (enda) mer om samhandling med agenter, jeg har utviklet bedre rutiner for meg selv, fått oppdatert stilarket med mine agentpreferanser, og forhåpentlig bidratt til institusjonell utvikling. Så totalt sett, tenker jeg det var verdt det.

På læremidlene til MUS2640, som jeg har bygget opp med agenter over tre år, sparte jeg heller ikke tid nå. Men jeg lærte mye der også, som jeg tar med meg inn i ny utdanning og forskning. Og på lang sikt, tjener jeg masse tid!


Det første utkastet til dette innlegget ble skrevet av Claude Code, men det er ikke mye igjen av den opprinnelige teksten etter kutt, tillegg og redigeringer. Det er uansett jeg som er ansvarlig for det som står her.