OpenAI:s ChatGPT beräknas ha fått 100 miljoner användare inom två månader efter lanseringen, vilket gör den till den snabbast växande konsumentapplikationen i datorhistorien. Men medan entusiasmen fortsätter oförminskad kvarstår frågan om artificiell intelligens (AI) bara är ännu en teknologisk hype, eller om det är den ”VERKLIGA” nästa stora grejen?
Redan 1997–98 bidrog Microsoft, med hjälp av Visual C++, till att demokratisera mjukvaruutvecklingsprocessen. Fram till dess hade Unix och andra språk dominerat segmentet, där ens förmåga att koda var direkt proportionell mot ens skicklighet i VI-redigeraren. I Windows kunde man nu använda en användarvänlig kodredigerare som utnyttjade en enkel mall. Den visade var man skulle göra applikationsspecifika ändringar, kompilerade sedan programmet och vips – ”Hello World” i en Windows-applikation.
Var det AI? Eller var det ett exempel på hur tekniken demokratiserade kodningsvärlden?
Spola fram till 2023, och GitHub Copilot kan skriva ett program åt dig baserat enbart på de kommentarer du matar in.
Vi har verkligen kommit långt
Men frågan som uppstår är: var ser du Stack Overflow, som tog fart omkring 2008 och fortfarande går starkt? De flesta programmerare idag fortsätter att utnyttja denna användbara plattform för att hitta färdiga svar. Även om man inte bara kopierar och klistrar in svaret, kopieras koden ofta till ett anteckningsblock, anpassas för att ge ett originellt intryck och läggs sedan till i programmet.
Oavsett om vi gillar det eller inte är verktyg som Stack Overflow också ett utmärkt exempel på den pågående utvecklingen mot en demokratisering av mjukvaruutvecklingen.
Återigen, innan man kan sätta igång med att skriva ett program måste man lösa de logiska utmaningarna, utforma kodens struktur och uppfylla flera andra kriterier. Kan AI hjälpa dig att skriva logiken? Det är tveksamt, såvida du inte bara behöver skriva ”Hello World” i ännu ett programmeringsspråk.
Erfarenheten visar att AI kommer att bidra till att minska klyftan mellan de riktigt duktiga programmerarna – de som kan all syntax utantill, vet vilka instruktioner som kräver minst minnesanvändning osv. – och den vanliga programmeraren vars uppgift är att på något sätt få in koden och nå målet.
För att illustrera detta kan vi ta en annan roll, nämligen programchefen. Hur kommer AI att hjälpa programchefen i sin roll?
AI kan hjälpa till att generera automatiserade statusrapporter, skapa instrumentpaneler och informera dig om programmets framsteg. Kort sagt kan den automatisera och effektivisera arbetsflödena ännu mer och minska risken för överflödiga moment och förseningar på grund av mänskliga fel. Den kommer dock fortfarande att fylla en väl definierad, människostyrd roll.
Men om du har varit programchef känner du säkert till den där magkänslan som säger att något inte står rätt till. Det är den som får dig att ställa frågor om och om igen, att analysera data in i minsta detalj tills du upptäcker vad som döljer sig bakom siffrorna, och som sedan nästan ropar: ”Du kommer verkligen att hamna i försening om du fortsätter som nu.” Och då agerar du utifrån det!
Vi anser att om en programchef ständigt måste titta på statusrapporter för att verkligen veta att projektet är försenat, är situationen precis som en cricketspelare som tittar på hur wickets slogs ut i TV-reprisen. Då är det redan för sent.
Även om AI verkligen kommer att bidra till att demokratisera mjukvaruvärlden, genom att tillhandahålla tillräckligt med beslutsverktyg och hjälpa till att samla in djupgående insikter från data, kommer den slutgiltiga slutsatsen fortfarande att kräva en mänsklig touch.
Framtiden är därför, trots förutsägelser om motsatsen, inte så dyster.
Genom att utnyttja domänspecifika stora språkmodeller (LLM) kan vi nu nästan omedelbart generera flera testfall och scenarier baserade på ett givet format och domänkunskap, förutom att skapa ytterligare generiska automatiseringsskript. Dessa måste sedan anpassas till specifika designmönster som krävs av parametrarna i testautomatiseringsramverket.
Ytterligare slutsatser från testresultaten kan genereras av AI, bland annat hur många tester som kördes samtidigt, hur länge alla enheter var igång samtidigt och så vidare. Kunskapen om var programmet kommer att gå sönder kommer dock från kunskap om vad som har gått sönder tidigare, ad hoc-testning och, ännu viktigare, från en känsla för var felen uppstår. Det vi bevittnar är uppkomsten av större synergier mellan människa och maskin.
Studier visar att trots behovet av en mänsklig touch kommer AI, som en trend, att fortsätta utvidga sin räckvidd. Så även om AI är här för att stanna, innebär det då att det kommer att ta bort testarnas jobb? Kanske ja.
Men mer än att tekniken ersätter människor kommer det att vara de individer som har kunskapen om och förmågan att utnyttja dessa nya lösningar som kommer att ersätta sina kollegor och driva på nästa steg i den tekniska demokratiseringen.
För framtiden, precis som det förflutna visar, tillhör verkligen dem som är modiga nog att anamma ny teknik och ligga steget före.