Detail článku

trend:bit Nahradí umělá inteligence programátory?

18. 10. 2021 | trend:bit <<<Na všechny články
Sdílej to!
S čím to souvisí?

Umělá inteligence je jedním z největších témat současného světa informačních technologií. Automatizace, kterou umělá inteligence umožňuje, mění celá odvětví a v řadě oblastí se stala nepostradatelnou. A tak se ptáme: Nahradí umělá inteligence v blízké budoucnosti také programátory? 

Softwarový vývoj prošel v posledních několika letech obrovskou proměnou. Stále však platí, že proces vývoje softwaru může být zdlouhavý, nákladný a časově náročný. Před zahájením samotného cyklu vývoje softwaru musí programátoři určit technické specifikace nebo vlastnosti a funkce vytvářeného produktu. Teprve poté mohou začít s vlastním návrhem a vývojem, po nichž následuje testování, nasazení a údržba. Při přechodu od jednoho kroku k druhému se samozřejmě objevují chyby, které je třeba opravit, a nedostatky, které je třeba odstranit. Každý software vyžaduje před vydáním několik kol testování a vylepšování. Pro programátory to může být poměrně frustrující. 

Objevují se však nástroje využívající umělou inteligenci, které umějí softwarový vývoj v jistých ohledech usnadnit. Ačkoli umělá inteligence stále potřebuje zdokonalit, může potenciálně programátorům dost uvolnit ruce. Programátoři se proto nemusejí AI obávat, ale mohou využít její výhody, usnadnit si tak práci a vyvíjet lepší software. Umělá inteligence programátory nenahradí, alespoň v dohledné době nic takového nehrozí. Programátoři by však měli mít povědomí o současných technologiích, které jsou schopny generovat počítačové programy, jež nevyžadují žádné kódování a také by měli brát současnou umělou inteligenci v potaz coby užitečného pomocníka. 

 Budoucnost, v níž bude umělá inteligence schopna činit všechna správná rozhodnutí při vývoji softwaru od základu nebo interpretovat komerční hodnotu každé funkce, je v tuto chvíli dost vzdálená. Přestože již existují nástroje umělé inteligence, které dokážou psát jednoduchý kód, nemají možnost určit, které funkce mají být upřednostněny nebo jaký problém by měl vyvíjený software řešit. Pouze programátor může prozatím vytvořit kód na základě pochopení přesných specifikací a požadavků a odpovědět na nejednoznačné otázky. 

Programátoři dnes ale nemusejí psát každý řádek kódu ručně. Použití řady inteligentních nástrojů, které programátorům umožňují automatizovat kompilaci, je dnes naprosto běžné. A to je to, co umělá inteligence dělá: nesupluje programátory – jejím cílem není připravit je o práci, ale usnadnit ji.  

Většina nových nástrojů založených na umělé inteligenci zlepšuje svou přesnost a výkonnost pomocí strojového učení. Díky rozsáhlému procesu pokusů a omylů pomáhají architektury neuronových sítí lépe a přesněji automatizovat úlohy. Dobře se uplatňují například při testování a nasazování nového softwaru. 

No alt text provided for this image

 Výhody AI při vývoji softwaru 

Pochopením vlivu umělé inteligence a možností jejího dopadu na vývoj softwaru je pro další směřování a adopci tohoto trendu zásadní. Jsou zde slibné výsledky, které vypovídají o tom, že jde o oblast, které se vyplatí věnovat pozornost. Jednou z nejčastěji zmiňovaných výhod při využití AI je bezpečnost dat – umělá inteligence umožňuje zkoumat data pomocí strojového učení a rozlišit nesrovnalosti od běžného chování. AI výrazně usnadňuje identifikaci chyb a omylů, díky čemuž se kód stává lepším a kvalitnějším. Vývojáři a testeři se nemusejí potýkat se zkoumáním spustitelných souborů zatížených chybami a omyly. Je pro ně snazší okamžitě najít chyby a opravit je. Hovoří se ale také o tom, že AI umožní vytvářet lepší software pomocí strategického rozhodování. Řešení strojového učení jsou vybavena schopností učit se z minulých vývojových projektů a také analyzovat výkonnost stávajících projektů. Zlepšení přesnosti odhadů je další oblast, kde by mohla AI nabídnout řešení v případech, které vyžadují analýzu historických dat z dřívějších projektů s cílem najít korelace a statistiky. Využít zde může prediktivní analýzu i obchodní pravidla a nabízí přesné odhady nákladů, času a úsilí. 

Umělá inteligence jako parťák 

Mnoho společností používá techniky párového programování, při nichž odborníci z různých oblastí vyvíjejí software společně. Každý přináší jiné zkušenosti a přístupy. Výsledkem jsou jednoznačně uživatelsky orientovanější aplikace. Když mluvíme o „softwaru 2.0“, je AI ideální nástroj, který dokáže na základě naučeného vydávat doporučení a dokáže automatizovat testovací běhy s množstvím dat. Člověk však určuje, jakým směrem se celková konstrukce posune, protože ne každé optimalizační doporučení vede ke skutečnému cíli – intuitivnímu softwaru. Je třeba si uvědomit, že umělá inteligence zkrátka není a neumí být kreativní, přičemž bez kreativity se softwarový vývoj neobejde. 

V každém případě už umělá inteligence má a bude mít i nadále významný dopad na návrh i tvorbu softwaru. Společnosti zabývající se vývojem softwaru musejí vnímat dopad umělé inteligence a potenciální výhody, které přinese, a to nejen ve způsobu tvorby softwaru, ale i v povaze softwaru samotného. Umělá inteligence nenahradí programátory, ale zcela jistě časem zásadně promění způsob, jak pracují. 

Role umělé inteligence ve vývoji softwaru roste, neboť umožňuje produkovat méně chyb a kódovat rychleji. Kvalifikovaného vývojáře umělá inteligence nenahradí přinejmenším v příštím jednom či dvou desetiletích. Umělá inteligence je tu pouze proto, aby nám pomáhala a na svět bude mít obrovský dopad jako žádné jiné inovace v historii. 

 

Pro Andrew Paulsen: M.Benešovská

Photo credit: Canva

<<<Na všechny články