Hur mycket kan AI hjälpa oss utvecklare? Den frågan ställde vi oss för ungefär en månad sedan när vi hade en workshop om GitHub Copilot och ChatGPT. Sedan denna workshop har samtliga utvecklare fått tillgång till dessa verktyg i sitt dagliga arbete.
Så hur mycket kan GitHub Copilot och ChatGPT hjälpa utvecklare? Det kortfattade svaret på frågan är: Man får hjälp när man minst anar det. Ibland hjälper den mycket – ibland föreslår den helt fel. Sedan finns där stunder då man hoppas på någon AI-insikt men inte får något alls. Det är med andra ord väldigt olika hur mycket hjälp det ger. Det beror mycket på vilket projekt det är och hur mycket som finns dokumenterat kring det.
Vad krävs av oss som utvecklare?
För att kunna tillgodogöra sig av hjälpen AI ger krävs en duktig utvecklare. Det krävs kunskap för att förstå vad som är rätt eller fel i sammanhanget. Det vore farligt att bara alltför lättvindigt “tabba” fram förslagen den ger. Det vore nästan som att försöka skicka SMS genom att bara använda autokomplettering för alla ord direkt!
I projekt med öppen källkod såsom WordPress verkar den kunna hjälpa en hel del. Den föreslog hela grupper med funktioner när man utvecklade ett standardinstick för WordPress. I projekt med sluten källkod och rörig kodbas höll den ofta tyst och gav inga förslag alls.
Att AI är framtiden för utvecklare är dock nästan redan självklar. När den väl hjälper så snabbar den upp arbetet enormt. Den är jättebra på att stödja och få bort rutinmässigt arbete. Det gör att vi utvecklare kan ägna oss åt de mer avancerade problemen – precis det vi på NewSeed vill! För oss betyder det att vi kan leverera effektivare arbete till våra kunder.
Hur utvecklingen går framåt är inte lika självklar. Just nu märker man tydligt hur AI:n hämtar förslag rakt från kända platser såsom Stackoverflow eller exempelvis WordPress dokumentation. Detta ger i längden ett bekymmer om vem som bör tjäna pengar på denna information. AI:n har lärt sig vad som står på dessa webbplatser. Genom att sedan föreslå färdig kod till utvecklare så går webbplatserna miste om reklamintäkter för besökare. En tydlig trend vi märkte var att vi inte behövde “Googla” lika mycket som tidigare.
För bara några år sedan kändes AI för utvecklare väldigt långt borta. Faktum är att på en direkt fråga till Garry Kasparov om vilket yrke som sist ersätts av AI så svarade han just programmerare – såklart ett svar för att blidka publiken på WeAreDevelopers.
Garry Kasparov är mest känd som shackspelaren som först blev slagen av en dator, Deep Blue. När vi från NewSeed lyssnade på honom på konferensen WeAreDevelopers i Berlin talade han mycket om AI och när och hur AI kommer att ersätta olika yrke. Kasparov tryckte dock på att AI borde utläsas “Augmented Intelligence” och inte ”Artificial Intelligence”. AI stärker främst förmågor och är alltså inte en förmåga i sig själv menade han.
ChatGPT
ChatGPT är en annan typ av AI-tjänst än Copilot. Med ChatGPT kan man helt enkelt “chatta” och diskutera fram lösningar. Vem som helst kan prova ChatGPT. Det enda som krävs är att man skriver upp sig, sedan kan man ställa i stort sett vilken fråga som helst. Om det inte vore för att den konsekvent refererar till sig själv som en “AI language model” så hade den klarat det så kallade Turing-testet utan problem! Själv chattade jag med den en längre stund på engelska innan jag lite fundersamt frågade om den inte kunde svenska – och visst kunde den det! Jag hade med andra ord kunnat “prata svenska” med den hela tiden.
ChatGPT svarar på frågan om den kan svenska.
För oss som utvecklare innebär det en snabbare tillgång till information och tips om utveckling. Det gör att vi kan utnyttja vår kreativitet och innovationsförmåga istället för att skriva “dum enkel kod”. Steve Jobs har intervjuats där han kallar datorn för en “cykel för din hjärna” – ett redskap som gör för ditt sinne vad en cykel gör för din möjlighet att förflytta dig. Den förstärker din egen förmåga. AI är ännu ett steg mot detta.
Sammanfattning
AI förändrar inte programmering i grunden – men likt många andra innovationer förenklar den och snabbar upp processen. Vi blir snabbare och slipper enklare uppgifter och det leder till att vi får mer kapacitet över för att skapa nytt. Även om det just nu är lite av en överdrift så blir det nog i framtiden som att välja att anlita en matematiker som använder en miniräknare i sitt arbete eller en som inte gör det. Den som använder verktyget kommer alltid att vara snabbare – även om den kanske inte nödvändigtvis är smartare!