AI:n kallas AlphaCode och skapades av Googles systerbolag DeepMind. AlphaGo och Alphafold är två andra AI som DeepMind har utvecklat. AlphaCodes syfte är inte att spela Go eller förutse formen av ett protein, utan att programmera.
Programmering går ut på att skriva en instruktion till en dator. Instruktionen som skapas kan be datorn om allt ifrån att rita en bild av ett hus till att sortera alla Wikipediasidor i alfabetisk ordning.
Precis som en människa kan lära sig programmera kan även artificiell intelligens göra det. DeepMind-teamet lät AI:n AlphaCode se många exempel på datorprogram som människor har skrivit. När de hade tränat AI:n testade de hur bra den löser uppgifter från programmeringstävlingar för människor.
AI:n som kan läsa
Det har funnits programmerande AI ett tag, men de har inte nått mänsklig nivå förrän nu. Det som människor har varit överlägset bättre på är att förstå de skriftliga tävlingsuppgifterna. Om nu ett program ska skrivas där datorn beordras sortera Wikipediasidor i alfabetisk ordning, måste AI:n först förstå vad alfabetisk ordning innebär och sedan kunna tala om det för datorn genom ett datorprogram.
Det som gör AlphaCode bra på att tolka skriftliga tävlingsfrågor är att den har tränats i förväg med enorma mängder data.
– Om du skulle ha frågat mig för ett år sen om jag trodde att vi skulle få den här prestandan hade jag gissat nej. Jag trodde det skulle ha krävts mer i någon mening, säger Thomas Schön, professor i artificiell intelligens.
Programmerarnas egna assistent
I framtiden kan den här typen av AI hjälpa programmerare att spara mycket tid.
– Programmerare kan delegera små uppgifter till den här ”assistenten” medan de gör annat, säger Thomas Schön.
En fråga, miljoner svar
Efter att AI:n har förstått problemet börjar den lösa det. Det finns inte en utan flera rätta svar, och AI:n måste precis som mänskliga programmerare avgöra vilka som är de bästa lösningarna.
– En jätteviktig aspekt med AlphaCode är att den kan filtrera sina lösningar för att hitta de bästa, och det har skaparna gjort på ett väldigt snyggt sätt tycker jag, säger Thomas Schön.
En mänsklig programmerare kan kassera lösningar under arbetes gång och börja om. AlphaCode genererar istället upp till en miljon lösningar per problem innan den väljer ut sin topp tio.