Společnost DeepMind, vývojář umělé inteligence spadající pod Google/Alphabet, představila novou aplikaci určenou pro automatizovanou tvorbu kódu. Nástroj AlphaCode toho prozatím má umět asi jako středně pokročilý lidský programátor (poznámka: to samozřejmě může znamenat leccos, navíc ale lze předpokládat, že tyto schopnosti půjdou rychle nahoru i díky díky strojovému učení).
Výsledky výzkumy byly prozatím publikovány jako preprint (tj. bez odborné oponentury při publikování v recenzovaných vědeckých časopisech). Podle něj má toho AlphaCode umět mnohem víc než předchozí systémy pro automatizaci programování. Zvládá samostatně řešit problémy, které vyžadují kombinaci kritického myšlení, logiky, algoritmů, vlastní tvorby kódu a porozumění přirozenému jazyku – to poslední znamená, že AlphaCode si má prostě jen přečíst zadání, asi jako účastník programátorského testu.
Nástroj má pracovat tak, že navrhne vhodný algoritmus, vytvoří řadu vzorových řešení a ta pak filtruje za účelem nalezení nejvhodnějšího řešení daného problému. V rámci testu dokázal systém např. vyřešit následující otázku: jsou zadány dva řetězce znaků, v jednom lze „mazat“ (odstraní se znak i mezera). Lze tento řetězec pouze mazáním převést na druhý řetězec? AlphaCode si s úlohou poradil velmi dobře; lépe než řada lidí, kteří se pravděpodobně živí programováním.
Automatizovaná tvorba kódu by samozřejmě potenciálně mohla vést k systémům, které se samy dokážou rekurzivně „psát“ (vytvářet) a zdokonalovat samy sebe, což by rychle vedlo ke stále pokročilejším systémům. V rámci úvah o budoucnosti umělé inteligence se rekurzivní sebezdokonalování považuje za věc poněkud rizikovou. Aktuálněji je ovšem otázka, zda AlphaCode nějak ohrožuje místa lidských vývojářů. Autoři výzkumu tvrdí, že nikoliv, protože psaní kódu je pouze jedna část práce programátora. Předchozí případy částečné automatizace programování (kompilátory, IDE…) pouze posunuly vývojáře na vyšší úroveň abstrakce a otevřely obor více lidem. Dalo by se snad říct, že obor se díky tomu naopak stal celkově zajímavějším (samozřejmě vedle obrovského nárůstu produktivity). Navíc poptávka po kódu neustále stoupá.
Simon Sharwood na The Register ovšem upozorňuje na to, že jedna věc je obecná potřeba programátorů/vývojářů, druhá věc poptávka po lidech s konkrétními znalostmi. A zde Alpha Code jistě konkurenci pro řadu lidí představovat může, ba jejich dovednosti z hlediska pracovního trhu „znehodnotit“. Navíc dosud sice vždy platilo, že technologický posun nová místa i vytvářel, ale nemusí to tak fungovat do nekonečna (analogicky: čistě v oblasti vývoje softwaru také posun ke stále vyšší abstrakci může narazit na nějakou hranici a nebude už jasné, co by měl ještě dělat člověk).
Zdroj: DeepMind, The Register