Markus Eisele, vývojářský stratég ve společnosti Red Hat, se odvažuje nastínit, jak a kde se letos potkají technologie budoucnosti a vývojáři a kde to zvýší jejich produktivitu.
Pohled do křišťálové koule je vždy obtížný, protože věci se často vyvinou jinak, než si myslíme. Nicméně nikdo nepotřebuje černou magii na to, aby předpověděl růst využívání umělé inteligence i v roce 2024. Za posledních dvanáct měsíců se již nástroje, jako je ChatGPT a podobná řešení pro tvorbu obrázků, videí a textů, dostaly do popředí zájmu. Letos se budou i nadále prosazovat v každodenní práci vývojářů a správců IT a možnosti využití jsou rozmanité.
Mnoho lidí ale zapomíná, že algoritmy strojového učení a nástroje umělé inteligence jsou samy o sobě aplikacemi, které procházejí životním cyklem velmi podobným životnímu cyklu tradičního softwaru. I aplikace AI je třeba vyvíjet, testovat, nasazovat, kontrolovat a monitorovat – tento proces se nazývá MLOps (Machine Learning Operations). Jednou z výzev, kterou bude muset odvětví IT letos řešit, je sladění životního cyklu softwaru s životním cyklem strojového učení. A to není tak snadné, protože aplikace strojového učení jsou projekty datové vědy, které jsou psány především v jazyce Python a dalších programovacích jazycích, které jsou více ovlivněny matematikou, což je výzva pro vývojáře, kteří běžně pracují s jazyky Java, C#, PHP nebo JavaScript. Platformy, jako je Red Hat OpenShift AI, se však chystají problém „MLOps“ řešit pomocí vhodných Jupyter Notbooků, pracovních postupů pro nasazení Kubeflow a podobných nástrojů.
Jak ale generativní AI a velké jazykové modely (LLM, Large Language Model) usnadní život vývojářům a ovlivní produktivitu programátorů a administrátorů? To si ukážeme na následujících pěti příkladech:
1. Zdrojový kód na vyžádání: přirozený jazyk místo složitého kódu
Každý, kdo někdy použil generativní umělou inteligenci, ví o její schopnosti porozumět i složitým problémům a poskytnout vhodné odpovědi na otázky. To samozřejmě skvěle funguje i v případě programování. Stále více vývojových prostředí bude dostávat kódovací asistenty, kteří budou schopni zpracovávat přirozený jazyk (Natural Language Processing). Zpočátku tito digitální pomocníci ještě nebudou schopni samostatně psát složitější programy bez velkého množství dalších vstupů, ale nástroje umělé inteligence již nyní dokáží implementovat některé základní funkce. AI by například mohla ještě více zjednodušit a zpřehlednit ovládání nástrojů pro automatizaci IT, jako je Ansible, a zvýšit tak produktivitu vývojářů.
2. Větší bezpečnost díky umělé inteligenci
Demokratizace programátorských dovedností má i své stinné stránky. Pomocí moderních kódovacích asistentů mohou nyní i nezkušení laici snadno psát škodlivý software. Vývojáři však letos budou stále více využívat nástroje umělé inteligence také k zabezpečení svých aplikací, například k vyhledávání zranitelností a bezpečnostních rizik ve zdrojovém kódu. Správci budou také trénovat algoritmy a rozsáhlé jazykové modely určené pro penetrační testování jimi spravovaných systémů a provozovaných aplikačních prostředí.
3. Snadnější analýza kódu
Každý vývojář zažil frustraci, když aplikace po vytvoření vykazuje chyby. Tehdy začíná někdy nervy drásající analýza chyb, která se často podobá hledání jehly v kupce sena. Umělá inteligence v budoucnu i tuto práci výrazně usnadní, a tím zvýší produktivitu vývojářů. Správně vytrénované velké jazykové modely dokáží nejen odhalit překlepy a chybějící závorky v kódu, ale také rozpoznat logické chyby a neadekvátní instrukce, ideálně v souladu s firemními specifikacemi.
4. Modernizace aplikací
Čím lépe je umělá inteligence vytrénována a čím více srovnávacích dat má algoritmus k dispozici, tím náročnější úkoly může plnit. Letos již možná budou nástroje schopné analyzovat doménový model monolitické aplikace. Až se tak stane, bude umělá inteligence schopna rozložit monolit i na mikroslužby. Vytvoření API tak, aby spolu mohly komunikovat, a jejich zabalení do kontejnerů pak bude pro vývojáře poměrně snadným úkolem – bude to přínosné zejména pro firmy, které chtějí své starší aplikace převést do moderní cloudové infrastruktury nebo infrastruktury Kubernetes. První přístupy k tomuto účelu jsou k dispozici již dnes.
5. Výměna rolí: umělá inteligence vysvětluje kód lidem
Pokud je umělá inteligence schopna porozumět kódu, může jej logicky vysvětlit lidem pomocí odpovídajícího jazykového modelu. Letos budou moci vývojáři využívat nástroje s touto schopností například k automatickému vytváření dokumentace k aplikacím nebo dokonce nechat umělou inteligenci vkládat komentáře na kritická místa zdrojového kódu. Dokumentace a komentáře aplikací byly vždy bolestivým místem mnoha vývojářů a stály je drahocenný čas, který by radši věnovali programování.
Rok 2024 je rokem uplatnění umělé inteligence. Na jedné straně mají vývojáři přístup k celé řadě nových nástrojů, které je podpoří možnostmi umělé inteligence a ušetří jim spoustu každodenních činností, čímž se zvýší jejich produktivita. Zároveň však jsou administrátoři postaveni před úkol vyvíjet a provozovat nástroje a modely AI a spravovat jejich životní cyklus – to není snadný úkol, ale platformy, jako je Red Hat OpenShift AI, již čekají v záloze.
Autor: Markus Eisele, Red Hat