Først, hva er ChatGPT?
ChatGPT er en avansert språkmodell utviklet av OpenAI, som bruker maskinlæring for å forstå språk og generere naturlige og menneskelignende svar på ulike spørsmål og forespørsler. Modellen er trent på enorme mengder tekstdata og kan brukes til en rekke formål, inkludert å generere tekst, svare på spørsmål, engasjere seg i samtaler og til og med assistere med forskning.
ChatGPT kan være spesielt nyttig for å automatisere vanlige oppgaver, som å svare på kundestøttehenvendelser eller generere tekst for markedsføring eller journalistikk. Modellen kan også brukes til å forbedre språkforståelsen og skriveferdighetene ved å gi tilbakemelding og korrigering på skriftlige tekster.
Det er viktig å merke seg at ChatGPT ikke er perfekt og har sine begrensninger. Modellen kan noen ganger generere feilaktige svar eller misforstå spørsmål eller forespørsler. Men med riktig bruk og forståelse av dens begrensninger, kan ChatGPT være et verdifullt verktøy for å utforske og forbedre språkforståelsen og automatisere vanlige oppgaver som tidligere krevde menneskelig inngripen.
Tid spart med ChatGPT
Alt du har lest under avsnittet “Hva er ChatGPT” er tekst generert av ChatGPT. Mistenkte du det? Jeg stilte spørsmålet “Kan du forklare meg hva ChatGPT er og hva det kan brukes til med maksimum 200 ord?”, og sparte meg dermed noen minutter på å skrive det selv.
ChatGPT er altså en språkmodell, men ikke en kunnskapsmodell og har dermed ingen snev av intelligens. Den er trent med «Reinforcement Learning from Human Feedback (RLHF)», som i praksis betyr at modellen prøver å oppnå at mennesker liker svaret den gir. Det betyr at svaret du får kan virke veldig overbevisende, men faktisk være helt feil. Modellen har ikke blitt matet med data siden 2021, og tjenesten kan derfor ikke gi deg svar på ting som har skjedd siden. Om jeg eksempelvis spør ChatGPT om Avatar 2 er blant de 5 mest innbringende filmene gjennom tidene, vil den ikke kunne ta stilling til det, da Avatar 2 ble lansert desember 2022. Så om jeg søker etter informasjon etter 2021 holder jeg meg fortsatt til Google Search.
ChatGPT er ikke helt oppdatert på de mest innbringende filmene gjennom tidene.
Hvordan skal vi ikke bruke ChatGPT?
Vi leser stadig om hvordan både arbeidsgivere og lærestedene må forholde seg til ChatGPT, som eksempelvis lærere som fortviler over elever som tar i bruk tjenesten til å jukse på innleveringer og danske universiteter forbyr bruk av tjenesten under eksamen. Det er naturlig at de tradisjonelle vurderingsformene blir utfordret av en slik tjeneste.
Jeg tror ikke vil vil se ChatGPT erstatte jobber med det første. Det er heller et hjelpemiddel, hvis brukt riktig, vi kan bruke til å bli mer produktive.
Men før vi ser på hva vi faktisk kan bruke ChatGPT til, la oss ta en rask titt på noen eksempler på hva vi ikke bør bruke ChatGPT til som utviklere:
- Ikke bruk ChatGPT til å lære deg nye kodespråk. Selv om koden som blir returnert kjører, er den ikke nødvendigvis den beste måten å løse oppgaven på, eller i det hele tatt korrekt. Det finnes allerede mange fantastiske tjenester hvor du kan komme i gang med nye kodespråk.
- Hvis du ønsker å produsere kode som trenger kontekst er ikke ChatGPT løsningen. Det vil være umulig å mate ChatGPT med all konteksten som kreves, for eksempel fra en kodebase eller et produkt. Ofte krever det mye domenekunnskap for å skrive god kode som løser oppgaver knyttet til det domenet, og disse parameterne vil ikke ChatGPT kunne ta hensyn til.
- Hvor lagres koden, og hvem får tilgang til koden i etterkant? Dette bør du tenke på når du mater ChatGPT med kodesnutter. Ikke dytt inn sensitiv informasjon eller kode du ikke ønsker å få eksponert eksternt. Når du jobber med et domene bør du helst gi variabler navn som gir mening i domenet du jobber i, og dermed kan navnene eksponere sensitiv informasjon. En if statement er en if statement, men navnet på en metode kan gi inntrengere det de trenger for å komme i gang med et hackerangrep.
6 tips til økt produktivitet for utviklere ved bruk av ChatGPT
Nå som vi har sett på noen eksempler på hva du ikke bør bruke ChatGPT til, kan vi nå se på hvordan du kan bruke tjenesten for å bli en mer effektiv utvikler:
- Sitter du med en kodesnutt som ikke er helt forståelig, og som kanskje er dårlig dokumentert? Lim inn den delen av koden du ikke forstår i ChatGPT og be den forklare koden til deg, så er du muligens et steg nærmere.
- Enhver utvikler etterstreber å kode så effektivt som mulig, og refaktorering av kode kan ta tid. Be ChatGPT om å forenkle koden du ønsker refaktorert, så kan du raskere oppnå et mer kompakt resultat.
- Å skrive testcaser er viktig, men kan være tidkrevende og til tider repetitivt. ChatGPT håndterer ganske bra å skrive enhetstester, og det er lav risiko for feil da du enkelt ser om de funker, enten ved at de feiler eller ikke tester det de skal. Siden enhetstester er ganske rett frem er det gode muligheter for at modellen klarer å løse det godt, gitt at du forholder deg til følgende format: Test komponent X med input a, b og c og forvent at outputen blir Y.
- Å bruke tid til dokumentasjon kan noen ganger bli nedprioritert i et hektisk utviklingsløp. Få oppgaven gjort raskere ved å bruke ChatGPT til å skrive deler av dokumentasjonen for deg. Den kan til og med inkludere use cases som en del av dokumentasjonen.
- Har du et segment av koden din du sliter med å debugge? Da kan du mate ChatGPT med hva du forventer å få vs. hva du faktisk får. Modellen kan bistå deg i å finne problemet.
- Om du skal evaluere ny systemarkitektur er det mange veivalg som skal tas. Bruk ChatGPT til å sammenligne ulike rammeverk, så kan du få noen ekstra tanker om hvilke valg du bør ta.
Disse tipsene kommer selvfølgelig med en medfølgende disclaimer. Det er viktig å huske at når du bruker ChatGPT så handler det ikke om å la ChatGPT gjøre arbeidet for deg, men å effektivisere prosesser som vanligvis tar lang tid å gjøre manuelt.
Du bør ikke stole blindt på outputen ChatGPT kommer med, og du må alltid dobbeltsjekke det som kommer for å vurdere om det er brukbart. Dette er ikke en seniorkonsulent med mange års erfaring som du kan spørre om hjelp. Det er per nå en avansert chatbot som kan hjelpe deg med veldig spesifikke oppgaver, eller sammenfatte tilgjengelig informasjon på en effektiv måte. ChatGPT har ikke kommet for å erstatte utviklernes jobb. Men brukt riktig så kan tjenesten øke produktiviteten din, og dermed frigjøre tid til å skrive bedre kode. Og så er det jo litt morsomt å teste da.