Jeg har aldri skrevet en linje kode. Eller, det er feil, jeg tukla med HTML på ungdomsskolen fordi jeg skulle henge på messageboards og ble litt fascinert, som enhver angsty bygdetenåring med tilgang til tellerskritt og Geocities.
Så da en venninne sendte en melding og lurte på om jeg ville bli med på en vibe-kode-konkurranse og lage en mobilapp, sa jeg selvfølgelig ja.
Det viste seg at venninnen hadde noen baktanker angående å bruke meg som labrotte i sitt kode-eksperiment for vibes for begynnere, jeg er egentlig komfortabel med denne rollen. Bevæpnet med en velgjører som betalte for mine kreditter ble et lite prosjekt til.
Les hennes oppsummering av prosjektet her.
Ikke-teknisk
Mitt utgangspunkt: Jeg har vært i samme omgangskrets som teknologisk anlagte mennesker. Det har vært bøker med dyr på forsiden og titler som «The Art of Computer Programming» eller «Acing the Coding Interview» i mitt hus i en 15 års tid. Jeg har aldri åpnet noen av de bøkene. Enhver teknisk kunnskap jeg har er skjedd ved at folk har snakket rundt meg og at jeg har korrekturlest powerpoints om smidig utvikling.
Om en printer er ødelagt kan jeg google serienummeret og finne ut at det ikke er mulig å reparere den.
Venninnen, som i motsetning til meg kan se på kode og finne ut hva som er feil, var mottagelig for mine forslag. Jeg foreslo en spillifisert oppgave-app der du gjør huslige greier med «XP/skade» som dreper en drage. Dette er tett modellert på en sjekkliste/enspillerspill jeg lagde i Canva her for et par år siden: «Drep bæsjdragen». Min egen hjelpemiddelsentral for perioder der ca. tre dopaminmolekyler er tilgjengelig totalt, men hverdagen må opprettholdes.
Å snakke med maskinen
Språkmodeller begynner litt for mange av oss å få et litt for nært forhold til etter hvert. Setninger som starter med «jeg spurte ChatGPT» er i det store og hele setninger som burde granskes grundig. Jeg har riktignok hatt å være språkmodell-trener og i senere tid også språkmodell-jockey som jobb, men det fører ikke til at skepsisen blir noe mindre.
Å jobbe som språkmodell-jockey krever stort sett to egenskaper: Å ikke stole på faenskapen og å ikke bli lat. Språkmodellene har på sin side som sine kjernefunksjoner at du skal stole på faenskapen og bli lat. Det er en evig kamp om å beholde kognitiv kapasitet. Å skrive er å tenke. Om jeg ikke skriver visner hodet. Å ha denne spalten er altså å regne som tiltak mot å miste kognitiv kapasitet til KIen, et fenomen jeg tror vi observerer skje sakte rundt oss for tiden.
Det var derfor med en viss skepsis at jeg åpnet vibe-kode-verktøyet Replit og skrev inn min første beskjed.
«Jeg vil lage en oppgavebehandler.
Denne oppgavebehandleren skal ha en tilpassbar liste med oppgaver.
Oppgavene skal være delt inn i fire grupper à fem oppgaver.
Gruppene skal være merket 1XP, 2XP, 3XP og 4XP.»
(Jeg kommer til å mikse XP og HP underveis, det var veldig mange endringer i appen)
Avtaler med underjordiske
Vibe-koding er at du gir et verktøy muntlige beskjeder om hvordan du vil koden skal bli, så lager den koden. På et veldig usofistikert nivå om du starter fra bunn av og ikke forstår noen ting om arkitekturen bak.
Du må regne med at den misforstår, antar ting du aldri har sagt, lager knapper som ikke fører noen steder og generelt ikke har som faktor at mennesker skal bruke resultatet til noe. Særlig om du for eksempel aldri har kodet noe i ditt liv og ikke vet hva man ber Java om for å få den til å gjøre det du vil.
Vi er tilbake til sagn og eventyr der du gjør avtaler med de underjordiske, men ikke forstår hvilke avtaler du egentlig signerte. Og om du reforhandler blir det bare verre. Det som fikser en ting herper en annen. I ett tilfelle ble appen vår japansk. Jeg hadde ikke bedt den om å bli japansk.
Men førsteutkastet var greit nok, fire sider med lister. Så ba jeg den om et bilde av en drage og en XP-måler over dragen som fylles for hvert oppdrag du gjør. Den genererte et bilde av en drage som jeg ikke kan beskrive som noe annet enn vagt urovekkende sjelløs. Denne kommer jeg tilbake til.
Spillifisert
Hva har dette med spill å gjøre? Vel. Muligheten til «vibes» i noe spillifisert må nødvendigvis komme av at man vet hva spillifisering er.
Med litt hjelp fra boken «Spillifisering i praksis», researchen bak en jobb eller to, og en skamfull vane med Pokemon Go og Tinder på do (de er strengt tatt den samme appen, bortsett fra at Pokemon har måloppnåelse) begynte justeringen.
Målgruppen til denne lissom-appen - den er fremdeles laget til en konkurranse for gøy og for at venninnen min skulle observere meg mens jeg lærte - er folk som faller fra i de eksisterende produktivitetsappene på grunn av kognitiv belastning. Her spesifikt tenkt nevroatypiske og deprimerte.
Ting som streaks, «Kjøp NÅ», pokaler og merker du må ha stor innsats for å oppnå, mas fra appen om at du bare har tre ting igjen i dag og lignende fostrer nederlagsfølelse og aversjon mot å bruke den mer i enkelte grupper.
Brukerens totale kontroll på mengde som trenger gjøres, redigerbarhet og muligheten for helt nye oppdrag, samt avsluttende «dette er nok for i dag, du gjorde bra» heller enn suksess og feiring oppmuntrer mer til hvile enn å være press for å fortsette.
Jeg la ved en timer på 15 minutter så du kunne sette i gang en oppgavesprint. Denne økten er kortere enn en tradisjonell pomodoro-økt på 20 minutter jobbing om gangen med pause mellom, men pomodoro er ikke laget for denne kategorien funkiser eller nevrodivergente.
Noen ekstra fikser på området ble lagt til av brukertesting i målgruppen, takk til mine villige deltagere her.
Skjønner ingen ting
Ting vibe-maskinen har null forståelse for, med mindre du er god på å spørre rent teknisk, inkluderer slikt som universell utforming i valg av farger og kontraster, effekten av fargeblindhet, sanseinntrykk, krav-unnvikelse og andre hensyn.
Det ble en del krangling med andre språkmodeller som ChatGPT jeg brukte til å lage mer sofistikerte prompts enn jeg kunne på egen hånd om ikoner og kontraster. Etter et par dager i verktøyene hadde jeg lært nok til at jeg kunne fortelle den at nei, jeg har lastet opp koden, basert på den er din løsning ikke den rasjonelle.
Med et resultat på lange trinnvise instruksjoner jeg vagt forsto, men aldri kunnet skrive selv. Vi er igjen i området der man inngår avtaler med de underjordiske...
Jeg kunne sikkert lært det fortere om jeg ikke nekter å se på YouTube-videoer med forklaringer. Kan folk skrive ned ting igjen snart?
Jeg er en førti år gammel kjerring fra gamledager, da folk leste.
Snakker deg etter munnen
Det at jeg sier «krangling» illustrerer kanskje en av de verre sidene med språkmodeller. Menneskeliggjøringen er snikende. En ting er å gi robotstøvsugeren og wifien din navn, en annen ting er å begynne å snakke med ChatGPT om hvor slem eksen er, med påfølgende bekreftelse fra maskinen om at du har helt rett, skilsmissen kom ut av det blå, totalt uforståelig hvordan dette kan ha skjedd. Og her er veldig veldig feil skilsmissejuss som kommer til å få advokaten din til å doble timeprisen i ren irritasjon, og koste deg huset.
Ting som skal ha navn: Surdeig, wifi, katt og robotstøvsuger.
Ting som ikke skal ha navn: Språkmodell-vennen din.
Mikrotransaksjoner
Selvfølgelig er det ikke app uten mikrotransaksjoner og betalingsløsning. Sier seg selv. Heldigvis var det automatiske koblinger til en betalings-API og testmiljø med bare bittelitt knot.
Med kunnskapen om hva som fungerer, det vil si å selge boost eller andre spillmekaniske fordeler, gi folk få liv, gjøre ting tilgjengelig i bare kort tid med klokke som tikker ned, lage digital valuta du kan kjøpe i pakker … eller verre: En modell med hybrid-opplukking av lootbokser du kan kjøpe med digital valuta, eller få som smakeprøver der de første er gratis …
Gjorde vi det motsatte med vår betalingsløsning-integrering der du kunne kjøpe nye drage-ikoner.
Bortgjemte menyer, kun dekorative, mange som løses opp av seg selv av bitteliten innsats og en «støtt oss»-oppfordring heller enn en «få denne NÅ»-oppfordring gir milde dult.
Etter litt absolutt nødvendig fiksing av sikkerhetshull og småfeil fra den av oss som kunne sånt var alt klart for innlevering.
Bortsett fra en ting da. Selv om konkurransen var en konkurranse om KI-laging av en KI-app og ikke til salgs, finnes det grenser for hva jeg er villig til å gjøre selv når det ikke er til produksjon i det fri: Bildene av dragene i appen er nå tegnet av noen som kan tegne, som fikk betalt.
Prototype
Konklusjonen etter eksperimentet er egentlig at joa, folk som har litt bakgrunnskunnskap kan fint teste ut en prototype på spill. Eller som i mitt tilfelle: eksperimentere med noen etiske og psykologiske effekter og filosofier i spilldesign for litt mer håndfast erfaring med spillmekanismene, og en kjent målgruppe jeg jobber med innimellom. Og nyttig for bakgrunn til denne spalten.
Men det kommer til å komme ut noen usannsynlig dårlige apper og spill fremover, laget av folk som er litt vel selvsikre angående egne evner til å lage programmer med naturlig språk, uten kodebakgrunn, forelskelse i KI-bilder, og å for eksempel ikke få langsiktig kritiske småfeil og sikkerhetshull testet av noen som kan det.
Som en parallell: Jeg har jobbet med tekst størstedelen av livet. Folk som jobber med tekst er arrogante angående tekstene sine, jeg innrømmer gjerne at jeg er det jeg og. Men å trykke på publiseringsknappen, uten at noen andre har lest tekstene og fortalt deg at du ikke kan kommareglene og at dette årstallet er feil, er cirka like lurt som å løse kryssord med kulepenn. Undertegnede, som har et kreativt og liberalt forhold til kommareglene, får tekst tilbake fra språkvask og trykker knappen for å akseptere alle endringer.
Jeg har sett råteksten til et par litterære storheter som jeg har sjekka om har takket redaktøren sin i forordene sine, er det jeg sier.
Jeg tror jeg overlater spilldesign til spilldesignerne jeg, utover slike prototyper med total mangelfull bakgrunnskunnskap med tilhørende problemer i det lange løp.
Så kan jeg bruke og skrive om det de lager, noe jeg mener er en ypperlig arbeidsfordeling.
Les flere kommentarer fra Oda her