AI bude v roku 2024 najsilnejším motorom produktivity vývojárov
Generatívna umelá inteligencia vlani dominovala novinovým titulkom. Nie je teda divu, že aj rok 2024 bude v znamení umelej inteligencie. Markus Eisele, vývojársky stratég v spoločnosti Red Hat, sa odvažuje načrtnúť, ako a kde sa tento rok stretnú technológie budúcnosti a vývojári a kde to zvýši ich produktivitu.
Pohľad do krištáľovej gule je vždy obtiažny, pretože veci sa často vyvinú inak, než si myslíme. Avšak nikto nepotrebuje čiernu mágiu na to, aby predpovedal rast využívania umelej inteligencie aj v roku 2024. Za posledných dvanásť mesiacov sa už nástroje, ako je ChatGPT a podobné riešenia pre tvorbu obrázkov, videí a textov, dostali do popredia záujmu. Tento rok sa budú aj naďalej presadzovať v každodennej práci vývojárov a správcov IT a možnosti využitia sú rozmanité.
Mnoho ľudí ale zabúda, že algoritmy strojového učenia a nástroje umelej inteligencie sú samy o sebe aplikáciami, ktoré prechádzajú životným cyklom veľmi podobným životnému cyklu tradičného softvéru. Aj aplikácie AI je potrebné vyvíjať, testovať, nasadzovať, kontrolovať a monitorovať - tento proces sa nazýva MLOps (Machine Learning Operations). Jednou z výziev, ktorú bude musieť odvetvie IT tento rok riešiť, je zladenie životného cyklu softvéru so životným cyklom strojového učenia. A to nie je tak jednoduché, pretože aplikácie strojového učenia sú projekty dátovej vedy, ktoré sú písané predovšetkým v jazyku Python a ďalších programovacích jazykoch, ktoré sú viac ovplyvnené matematikou, čo je výzva pre vývojárov, ktorí bežne pracujú s jazykmi Java, C#, PHP alebo JavaScript. Platformy, ako je Red Hat OpenShift AI, sa však chystajú problém "MLOps" riešiť pomocou vhodných Jupyter Notbookov, pracovných postupov na nasadenie Kubeflow a podobných nástrojov.
Ako ale generatívne AI a veľké jazykové modely (LLM, Large Language Model) uľahčia život vývojárom a ovplyvnia produktivitu programátorov a administrátorov? To si ukážeme na nasledujúcich piatich príkladoch:
1. Zdrojový kód na vyžiadanie: prirodzený jazyk namiesto zložitého kódu
Každý, kto niekedy použil generatívnu umelú inteligenciu, vie o jej schopnosti porozumieť aj zložitým problémom a poskytnúť vhodné odpovede na otázky. To samozrejme skvelo funguje aj v prípade programovania. Stále viac vývojových prostredí bude dostávať kódovacích asistentov, ktorí budú schopní spracovávať prirodzený jazyk (Natural Language Processing). Spočiatku títo digitálni pomocníci ešte nebudú schopní samostatne písať zložitejšie programy bez veľkého množstva ďalších vstupov, ale nástroje umelej inteligencie už teraz dokážu implementovať niektoré základné funkcie. AI by napríklad mohla ešte viac zjednodušiť a sprehľadniť ovládanie nástrojov na automatizáciu IT, ako je Ansible, a zvýšiť tak produktivitu vývojárov.
2. Väčšia bezpečnosť vďaka umelej inteligencii
Demokratizácia programátorských schopností má aj svoje tienisté stránky. Pomocou moderných kódovacích asistentov môžu teraz aj neskúsení laici ľahko písať škodlivý softvér. Vývojári však tento rok budú čoraz viac využívať nástroje umelej inteligencie aj na zabezpečenie svojich aplikácií, napríklad na vyhľadávanie zraniteľností a bezpečnostných rizík v zdrojovom kóde. Správcovia budú tiež trénovať algoritmy a rozsiahle jazykové modely určené na penetračné testovanie nimi spravovaných systémov a prevádzkovaných aplikačných prostredí.
3. Ľahšia analýza kódu
Každý autor zažil frustráciu, keď aplikácia po vytvorení vykazuje chyby. Vtedy začína niekedy nervy drásajúca analýza chýb, ktorá sa často podobá hľadaniu ihly v kope sena. Umelá inteligencia v budúcnosti výrazne uľahčí aj túto prácu, a tým zvýši produktivitu vývojárov. Správne vytrénované veľké jazykové modely dokážu nielen odhaliť preklepy a chýbajúce zátvorky v kóde, ale aj rozpoznať logické chyby a neadekvátne inštrukcie, ideálne v súlade s firemnými špecifikáciami.
4. Modernizácia aplikácií
Čím lepšie je umelá inteligencia vytrénovaná a čím viac porovnávacích dát má algoritmus k dispozícii, tým náročnejšie úlohy môže plniť. Tento rok už možno budú nástroje schopné analyzovať doménový model monolitickej aplikácie. Až sa tak stane, bude umelá inteligencia schopná rozložiť monolit aj na mikroslužby. Vytvorenie API tak, aby spolu mohli komunikovať a ich zabalenie do kontajnerov potom bude pre vývojárov pomerne jednoduchou úlohou – bude to prínosné najmä pre firmy, ktoré chcú svoje staršie aplikácie previesť do modernej cloudovej infraštruktúry alebo infraštruktúry Kubernetes. Prvé prístupy na tento účel sú k dispozícii už dnes.
5. Výmena rolí: umelá inteligencia vysvetľuje kód ľuďom
Pokiaľ je umelá inteligencia schopná porozumieť kódu, môže ho logicky vysvetliť ľuďom pomocou zodpovedajúceho jazykového modelu. Tento rok budú môcť vývojári využívať nástroje s touto schopnosťou napríklad na automatické vytváranie dokumentácie k aplikáciám alebo dokonca nechať umelú inteligenciu vkladať komentáre na kritické miesta zdrojového kódu. Dokumentácia a komentáre aplikácií boli vždy bolestivým miestom mnohých vývojárov a stáli ich drahocenný čas, ktorý by radšej venovali programovaniu.
Rok 2024 je rokom uplatnenia umelej inteligencie. Na jednej strane majú vývojári prístup k celému radu nových nástrojov, ktoré ich podporia možnosťami umelej inteligencie a ušetria im množstvo každodenných činností, čím sa zvýši ich produktivita. Zároveň však sú administrátori postavení pred úlohu vyvíjať a prevádzkovať nástroje a modely AI a spravovať ich životný cyklus – to nie je ľahká úloha, ale platformy, ako je Red Hat OpenShift AI, už čakajú v zálohe.
Mnoho ľudí ale zabúda, že algoritmy strojového učenia a nástroje umelej inteligencie sú samy o sebe aplikáciami, ktoré prechádzajú životným cyklom veľmi podobným životnému cyklu tradičného softvéru. Aj aplikácie AI je potrebné vyvíjať, testovať, nasadzovať, kontrolovať a monitorovať - tento proces sa nazýva MLOps (Machine Learning Operations). Jednou z výziev, ktorú bude musieť odvetvie IT tento rok riešiť, je zladenie životného cyklu softvéru so životným cyklom strojového učenia. A to nie je tak jednoduché, pretože aplikácie strojového učenia sú projekty dátovej vedy, ktoré sú písané predovšetkým v jazyku Python a ďalších programovacích jazykoch, ktoré sú viac ovplyvnené matematikou, čo je výzva pre vývojárov, ktorí bežne pracujú s jazykmi Java, C#, PHP alebo JavaScript. Platformy, ako je Red Hat OpenShift AI, sa však chystajú problém "MLOps" riešiť pomocou vhodných Jupyter Notbookov, pracovných postupov na nasadenie Kubeflow a podobných nástrojov.
Ako ale generatívne AI a veľké jazykové modely (LLM, Large Language Model) uľahčia život vývojárom a ovplyvnia produktivitu programátorov a administrátorov? To si ukážeme na nasledujúcich piatich príkladoch:
1. Zdrojový kód na vyžiadanie: prirodzený jazyk namiesto zložitého kódu
Každý, kto niekedy použil generatívnu umelú inteligenciu, vie o jej schopnosti porozumieť aj zložitým problémom a poskytnúť vhodné odpovede na otázky. To samozrejme skvelo funguje aj v prípade programovania. Stále viac vývojových prostredí bude dostávať kódovacích asistentov, ktorí budú schopní spracovávať prirodzený jazyk (Natural Language Processing). Spočiatku títo digitálni pomocníci ešte nebudú schopní samostatne písať zložitejšie programy bez veľkého množstva ďalších vstupov, ale nástroje umelej inteligencie už teraz dokážu implementovať niektoré základné funkcie. AI by napríklad mohla ešte viac zjednodušiť a sprehľadniť ovládanie nástrojov na automatizáciu IT, ako je Ansible, a zvýšiť tak produktivitu vývojárov.
2. Väčšia bezpečnosť vďaka umelej inteligencii
Demokratizácia programátorských schopností má aj svoje tienisté stránky. Pomocou moderných kódovacích asistentov môžu teraz aj neskúsení laici ľahko písať škodlivý softvér. Vývojári však tento rok budú čoraz viac využívať nástroje umelej inteligencie aj na zabezpečenie svojich aplikácií, napríklad na vyhľadávanie zraniteľností a bezpečnostných rizík v zdrojovom kóde. Správcovia budú tiež trénovať algoritmy a rozsiahle jazykové modely určené na penetračné testovanie nimi spravovaných systémov a prevádzkovaných aplikačných prostredí.
3. Ľahšia analýza kódu
Každý autor zažil frustráciu, keď aplikácia po vytvorení vykazuje chyby. Vtedy začína niekedy nervy drásajúca analýza chýb, ktorá sa často podobá hľadaniu ihly v kope sena. Umelá inteligencia v budúcnosti výrazne uľahčí aj túto prácu, a tým zvýši produktivitu vývojárov. Správne vytrénované veľké jazykové modely dokážu nielen odhaliť preklepy a chýbajúce zátvorky v kóde, ale aj rozpoznať logické chyby a neadekvátne inštrukcie, ideálne v súlade s firemnými špecifikáciami.
4. Modernizácia aplikácií
Čím lepšie je umelá inteligencia vytrénovaná a čím viac porovnávacích dát má algoritmus k dispozícii, tým náročnejšie úlohy môže plniť. Tento rok už možno budú nástroje schopné analyzovať doménový model monolitickej aplikácie. Až sa tak stane, bude umelá inteligencia schopná rozložiť monolit aj na mikroslužby. Vytvorenie API tak, aby spolu mohli komunikovať a ich zabalenie do kontajnerov potom bude pre vývojárov pomerne jednoduchou úlohou – bude to prínosné najmä pre firmy, ktoré chcú svoje staršie aplikácie previesť do modernej cloudovej infraštruktúry alebo infraštruktúry Kubernetes. Prvé prístupy na tento účel sú k dispozícii už dnes.
5. Výmena rolí: umelá inteligencia vysvetľuje kód ľuďom
Pokiaľ je umelá inteligencia schopná porozumieť kódu, môže ho logicky vysvetliť ľuďom pomocou zodpovedajúceho jazykového modelu. Tento rok budú môcť vývojári využívať nástroje s touto schopnosťou napríklad na automatické vytváranie dokumentácie k aplikáciám alebo dokonca nechať umelú inteligenciu vkladať komentáre na kritické miesta zdrojového kódu. Dokumentácia a komentáre aplikácií boli vždy bolestivým miestom mnohých vývojárov a stáli ich drahocenný čas, ktorý by radšej venovali programovaniu.
Rok 2024 je rokom uplatnenia umelej inteligencie. Na jednej strane majú vývojári prístup k celému radu nových nástrojov, ktoré ich podporia možnosťami umelej inteligencie a ušetria im množstvo každodenných činností, čím sa zvýši ich produktivita. Zároveň však sú administrátori postavení pred úlohu vyvíjať a prevádzkovať nástroje a modely AI a spravovať ich životný cyklus – to nie je ľahká úloha, ale platformy, ako je Red Hat OpenShift AI, už čakajú v zálohe.
Prihláste sa na ITAPA Health&Care 2025