Workshop on GitHub Copilot and ChatGPT
Dette er en praktisk workshop, som er rettet mot utviklere som ønsker å komme i gang med å benytte AI-verktøy, som GitHub Copilot og ChatGPT i utviklingsarbeid.
Man kan løse disse oppgavene med akkurat det AI-verktøyet man selv ønsker, om det er ChatGPT, Copilot, eller noe annet, spiller ikke så stor rolle. Tanken er at man får trent på det med å ha en arbeidsflyt der man aktivt bruker en stor språkmodell.
Dette er en veldig åpen og løs workshop, der man står fritt i å velge de oppgavene man selv ønsker å løse. Poenget er ikke å løse de konkrete oppgavene i seg selv, men heller dette med å opparbeide erfaring rundt aktiv bruk av LLM’er i en arbeidsflyt.
Som et forbehold, må man alltid være på vakt om dette med at disse store språkmodellene har en tendens til å hallusinere. Aldri ta alt den sier for god fisk, valider svarene og forslagene den kommer med. En stor språkmodell er først og fremst trent til å generere den mest sannsynlige teksten etter et gitt promt, med andre ord så vil den fortelle deg akkurat det du ønsker å høre. Den har heller ikke noe konsept om den faktisk har rett eller ikke. For eksempel kan den finne på å generere dokumentasjon eller funksjonalitet som ikke finnes i det opprinnelige biblioteket. Så det er viktig at man alltid verifiserer forslagene språkmodellen kommer med.
Gjennomføring av denne workshopen
Dette er en ganske åpen og løs workshop, og det er ingen bestemte oppgaver man må gjøre eller rekkefølge på de.
I dette repoet, i /exercises-mappen, finnes det noen utvalgte oppgaver som er definert litt grundigere.
Men man kan også velge et av forslagene fra Diverse-oppgaveforslag.md, om man så ønsker.
Det er ikke den konkrete oppgaven som er så viktig, men heller det å opparbeide en arbeidsflyt ved bruk av en LLM.
Så det er viktig når man løser disse oppgavene at man tenker i disse banene
- Hvordan kan jeg bruke LLM’en mest mulig for å løse denne oppgaven?
- Hvordan kan det å løse denne oppgaven trene meg opp på arbeidsflyt der man bruker LLM’en aktivt?
- Hva er det som er lett? Hva er det som er vanskelig? Hvordan kan man unngå eller håndtere de vanskelige tingene?
- Diskuter med hverandre!
En lærerik øvelse kan være å stole blindt på alt ChatGPT sier, for eksempel, og gjøre nøyaktig som den ber om. I mange tilfeller, spesielt om man gjør noe litt større og bredere (som for eksempel et nytt oppsett til et prosjekt), så vil man ende opp i en situasjon der ChatGPT har bedt deg om å gjøre noe som ikke fungerer. Hvordan kan du bruke ChatGPT til å komme deg ut av situasjonen? Hva er det du må presisere i promptet for å få et bedre svar, eventuelt en feilretting?
Vær kreativ når du løser disse oppgavene, det er fullstendig lov å bare gå i din helt egen retning - det viktige er å øve på å ha en arbeidsflyt der man aktivt bruker ChatGPT.
En øvelse kan være å løse disse oppgavene i et språk som du aldri har prøvd før, men har hatt lyst å lære. Gjerne vil førstegangsoppsett typisk være noe som kan ta litt tid - bruk LLM’en til å gjøre denne prosessen bedre.
Noen av oppgavene vil være vanskeligere og mer tidkrevende enn andre - velg gjerne noe raskt og enkelt i starten, bare for å komme i gang, så kan man begynne på mer ambisiøse oppgaver etterhvert.
Lykke til, og diskuter aktivt med hverandre!