ChatGPT a AI pro vývojáře

ChatGPT a AI pro vývojáře
« kdy: 14. 02. 2023, 06:33:45 »
Ještě jsem tu na toto téma nenarazil, tak ho s dovolením zkusím otevřít. Předpokládám, že téměř každý si za poslední rok vyzkoušel ChatGPT nebo třeba Github Copilot. Obojí ve mně poprvé vyvolalo úžas, jak je to dobré. Po pár použitích člověk zjistí, že to má ještě spoustu much, ale pořád je to použitelné. Například, jsem dělal se source generátory v .NETu, o kterých toho zas až tolik na internetu psáno nebylo a ChatGPT mi sice vygeneroval nezkompilovatelný kód, ale rozhodně navedl správným směrem.

Co vidíte ve své křišťálové kouli Vy? Začne poptávka po programátorech klesat? Nebo začneme psát daleko méně kódu a přesuneme se do nějakých AI-powered low code řešení?
« Poslední změna: 14. 02. 2023, 07:47:58 od Petr Krčmář »


Re:ChatGPT a AI
« Odpověď #1 kdy: 14. 02. 2023, 07:32:35 »
Za sebe zastávám názor, že než že by nás AI připravila o práci, tak nám pomůže být více efektivní. Ač je AI na vysoké úrovni, řekl bych, že pořád bude třeba v práci takový ten lidský faktor, přístup, myšlení.

Pamatuju si ještě programování na střední, myslím si že to bylo C# a spolužák učitelovi řekl: Když to Visual Code Studio vidí že mi někde chybí ; proč ho tam nedoplní ? Všichni jsme zůstali zamyšlený  :D

Re:ChatGPT a AI
« Odpověď #2 kdy: 14. 02. 2023, 07:41:28 »
Ja sa na to pozeram pozitivne. Je to jazykovy model a uz nieaky ten piatok kodujem s Copilotom a je to nebe a dudy. Nedokaze to sice uplne nahradit cloveka v style ze vegeneruje program ale pomaha ako pan hlavne ak dopisujes do programu funkcionalitu automaticky sa snazi porozumiet kontextu kodu a tipovat co potrebujes.
Takze ak mas v dakej funkcii x,y,z,a a zapisujes do DB len x,y,z s tym ze z je a*2 a pridas nieco dalsie snazi sa to automaticky vsugerovat ako to ma byt pouzite ale napriklad ten insert nemodifikuje tupo v style a teraz vloz vsetko ale len to so si mysli s toho kodu co uz existuje ze by si to chcel. Za mna pomoc ako oci.

Re:ChatGPT a AI
« Odpověď #3 kdy: 14. 02. 2023, 07:46:01 »
Ještě jsem tu na toto téma nenarazil, tak ho s dovolením zkusím otevřít. Předpokládám, že téměř každý si za poslední rok vyzkoušel ChatGPT nebo třeba Github Copilot. Obojí ve mně poprvé vyvolalo úžas, jak je to dobré. Po pár použitích člověk zjistí, že to má ještě spoustu much, ale pořád je to použitelné. Například, jsem dělal se source generátory v .NETu, o kterých toho zas až tolik na internetu psáno nebylo a ChatGPT mi sice vygeneroval nezkompilovatelný kód, ale rozhodně navedl správným směrem.
Co vidíte ve své křišťálové kouli Vy? Začne poptávka po programátorech klesat? Nebo začneme psát daleko méně kódu a přesuneme se do nějakých AI-powered low code řešení?

Tipoval bych, že to bude mít podobný efekt jako stack-overflow. Dalším lidem to umožní napsat nějaký kód s minimem znalostí. Následně ten kód musí někdo verifikovat, a při větším průseru opravit nebo přepsat, což už musí udělat někdo "postižený" znalostmi. Rozhodně je to nástroj, který zpřístupní programování dalším lidem. Na druhou stranu to není posun k snížení komplexity (je to jen sofistikovanější verze vyhledávače), takže výsledkem bude víc kódu horší kvality, což znamená víc práce pro údržbu. Možná se sníží cena za vývoj, ale zvýší se cena za údržbu.

Pokud začne klesat poptávka po programátorech, tak bych za tím neviděl UI, ale přirozený tlak na konsolidaci IT a saturaci trhu.

Re:ChatGPT a AI
« Odpověď #4 kdy: 14. 02. 2023, 08:01:22 »
takže výsledkem bude víc kódu horší kvality, což znamená víc práce pro údržbu. Možná se sníží cena za vývoj, ale zvýší se cena za údržbu.

To zni strasidelne.
Nicmene proc bych platil za udrzbu kdyz je greenfield vyvoj levnej? Uz dneska chce malokdo udrzbu vubec delat a platit.


Re:ChatGPT a AI
« Odpověď #5 kdy: 14. 02. 2023, 08:20:56 »
takže výsledkem bude víc kódu horší kvality, což znamená víc práce pro údržbu. Možná se sníží cena za vývoj, ale zvýší se cena za údržbu.

To zni strasidelne.
Nicmene proc bych platil za udrzbu kdyz je greenfield vyvoj levnej? Uz dneska chce malokdo udrzbu vubec delat a platit.

Jsou různě důležité provozy, a různé aplikace. U těch kritických se také nikomu nechce platit za údržbu, ale platí se, a to i dost velké částky. A je velký rozdíl jestli jenom platíte - a jinak o tom software neslyšíte, nebo platíte a ještě máte každý měsíc nějaký provozní problém, který vyžaduje servisní zásah. Ono se to projeví na nákladech nebo i ochotě zaměstnanců neměnit práci, jestli pohotovost znamená, že jsem na telefonu a nesmím chlastat ale více méně téměř nikdy k servisnímu zásahu nedojde, nebo jestli k servisním zásahům dochází téměř každou noc.

Vývoj na zelené louce znamená nové proškolení zaměstnanců, nové chyby, další náklady s nasazením, úpravami, neznámé neočekávané náklady a více práce, atd atd. Snadno vyměníte blogovací platformu. Relativně snadno vyměníte platformu pro eshop.  Výměna interních velkých systémů - co tak slýchávám po korporátech, tak mám pocit, že téměř nejde, a může to být několik let trvající nákladný proces s nejistým výsledkem.

Re:ChatGPT a AI pro vývojáře
« Odpověď #6 kdy: 14. 02. 2023, 08:32:34 »
Aktuálně to nevypadá, že by programátorů byl dostatek. Naopak, tím, že je napsaného a dostupného čím dál víc kódu, je čím dál víc možností, co se s jeho pomocí dá docela snadno vyřešit. Akorát je potřeba lidí, kteří z těch kostiček ty další a další věci postaví. Myslím, že AI způsobí, že programátoři budou podstatně efektivnější, ale nezpůsobí to, že by přišli o práci. A pořád budou potřeba ti, kteří vymyslí architekturu nebo nějakouo novou optimalizaci nebo nový algoritmus. Ale většině práce už dávno je jenom skládání různých kostiček dohromady, kde se převážně píše stále dokola podobný kód. Který zvládne AI napsat mnohem rychleji. Jako když dnes máte šablony či makra na napsání kostry cyklu nebo getterů a setterů, akorát AI dokáže napsat větší části kódu a lépe je zasadí do kontextu.

Re:ChatGPT a AI
« Odpověď #7 kdy: 14. 02. 2023, 08:46:52 »
Vývoj na zelené louce znamená nové proškolení zaměstnanců, nové chyby, další náklady s nasazením, úpravami, neznámé neočekávané náklady a více práce, atd atd. Snadno vyměníte blogovací platformu. Relativně snadno vyměníte platformu pro eshop.  Výměna interních velkých systémů - co tak slýchávám po korporátech, tak mám pocit, že téměř nejde, a může to být několik let trvající nákladný proces s nejistým výsledkem.

Přidám zkušenost ze svého okolí. Nejmenovaná zdravotní pojišťovna přešla loni na nový systém. Souhrou blbých okolností nebyli schopni přes 4 měsíce proplatit výkony praktickému lékaři... Prostě kombinací více věcí to ten nový systém dostalo do stavu, kdy takhle dlouho nešlo nic dělat.

Re:ChatGPT a AI
« Odpověď #8 kdy: 14. 02. 2023, 08:58:52 »
Vývoj na zelené louce znamená nové proškolení zaměstnanců, nové chyby, další náklady s nasazením, úpravami, neznámé neočekávané náklady a více práce, atd atd. Snadno vyměníte blogovací platformu. Relativně snadno vyměníte platformu pro eshop.  Výměna interních velkých systémů - co tak slýchávám po korporátech, tak mám pocit, že téměř nejde, a může to být několik let trvající nákladný proces s nejistým výsledkem.

Přidám zkušenost ze svého okolí. Nejmenovaná zdravotní pojišťovna přešla loni na nový systém. Souhrou blbých okolností nebyli schopni přes 4 měsíce proplatit výkony praktickému lékaři... Prostě kombinací více věcí to ten nový systém dostalo do stavu, kdy takhle dlouho nešlo nic dělat.

Vůbec mne to nepřekvapuje. Čekám to horší a horší.

Re:ChatGPT a AI pro vývojáře
« Odpověď #9 kdy: 14. 02. 2023, 09:09:26 »
Aktuálně to nevypadá, že by programátorů byl dostatek. Naopak, tím, že je napsaného a dostupného čím dál víc kódu, je čím dál víc možností, co se s jeho pomocí dá docela snadno vyřešit. Akorát je potřeba lidí, kteří z těch kostiček ty další a další věci postaví. Myslím, že AI způsobí, že programátoři budou podstatně efektivnější, ale nezpůsobí to, že by přišli o práci. A pořád budou potřeba ti, kteří vymyslí architekturu nebo nějakouo novou optimalizaci nebo nový algoritmus. Ale většině práce už dávno je jenom skládání různých kostiček dohromady, kde se převážně píše stále dokola podobný kód. Který zvládne AI napsat mnohem rychleji. Jako když dnes máte šablony či makra na napsání kostry cyklu nebo getterů a setterů, akorát AI dokáže napsat větší části kódu a lépe je zasadí do kontextu.

To je právě projev krize IT. Místo nástrojů, které by programátorům umožňovaly psát optimální kód, tak tu máme nástroje, které umožňují psát programátorům kód efektivně. Místo toho, aby se řešila komplexita kódu, konzistence API, tak máme nástroje, které umožní produkovat kód v prostředí s nekonzistentním, duplicitním API, nejasnými závislostmi. Za komplexitu se ale vždy platí, vyšší křehkostí (opak robustnosti), vyššími náklady, větší specializací, menší obecností.

Re:ChatGPT a AI
« Odpověď #10 kdy: 14. 02. 2023, 09:23:30 »
To zni strasidelne.
Nicmene proc bych platil za udrzbu kdyz je greenfield vyvoj levnej? Uz dneska chce malokdo udrzbu vubec delat a platit.

Řeknu to tak, měl jsem staré auto, nechtěl jsem se ho zbavit, mělo mnoho problémů, ale já na něj byl zvyklý, sice tam bylo milion drobnůstek, ale já už je znal, navíc jsem tam měl svoje vychytávky.

Když jsem šel do nového auta, vše sice bylo lepší, ale musel jsem si přečíst příručku, zjistit jak vše funguje, naučit se s tím - do teď mi dělají nějaké věci problémy, zvyknout si, a nějaké věci jsou lepší (Android Auto), ale nějaké věci jsou zase horší a nedomyšlené (Waze v Android auto neumí sdílet cestu).

Když člověk obmění systém, musí přenést veškeré data, byznys logiku, zaučit lidi, a to není zadarmo, navíc nějaké věci budou lepší, ale nějaké věci a drobnosti přestanou fungovat, stejně jako u toho nového auta, a bude to proces bolesti a přerodu, a za nějakou chvíli i ten nový systém začne zastarávat.

V IT je nejhorší to, že ve chvíli, kdy se podaří přejít na nový systém, vše vyladit, lidi zaučit, a vše šlapá jak švýcarské hodinky, tak v tu dobu je systém už zastaralý. A jako dostat nový systém do stavu totální vyladěnosti není rozhodně levná záležitost.

Třeba Moneta mi přešla na nový systém bankovnictví, jenomže v něm už nemá notifikace na email, nebo nevím jak je nastavit. Nový systém to neřeší, a byl to zrovna ten detail, proč jsem si je jako banku vybral. A to jsou ty detaily, kterých je milion, a když se definuje nový systém, tak si každý myslí, že je to jen o zaobleném tlačítku na převod z účtu s animací lízajícího se kocoura, a pak kouká, když to uživatel nechápe, protože tam měl nějakou funkcionalitu, která nikomu při přerodu systému nepřišla podstatná.

Re:ChatGPT a AI
« Odpověď #11 kdy: 14. 02. 2023, 10:24:16 »
takže výsledkem bude víc kódu horší kvality, což znamená víc práce pro údržbu. Možná se sníží cena za vývoj, ale zvýší se cena za údržbu.

To zni strasidelne.
Nicmene proc bych platil za udrzbu kdyz je greenfield vyvoj levnej? Uz dneska chce malokdo udrzbu vubec delat a platit.

Jsou různě důležité provozy, a různé aplikace. U těch kritických se také nikomu nechce platit za údržbu, ale platí se, a to i dost velké částky. A je velký rozdíl jestli jenom platíte - a jinak o tom software neslyšíte, nebo platíte a ještě máte každý měsíc nějaký provozní problém, který vyžaduje servisní zásah. Ono se to projeví na nákladech nebo i ochotě zaměstnanců neměnit práci, jestli pohotovost znamená, že jsem na telefonu a nesmím chlastat ale více méně téměř nikdy k servisnímu zásahu nedojde, nebo jestli k servisním zásahům dochází téměř každou noc.

Vývoj na zelené louce znamená nové proškolení zaměstnanců, nové chyby, další náklady s nasazením, úpravami, neznámé neočekávané náklady a více práce, atd atd. Snadno vyměníte blogovací platformu. Relativně snadno vyměníte platformu pro eshop.  Výměna interních velkých systémů - co tak slýchávám po korporátech, tak mám pocit, že téměř nejde, a může to být několik let trvající nákladný proces s nejistým výsledkem.

Vyborne, takze v kontextu tech velkych systemu nam to snizi naklady na neco co vlastne nechceme delat a zvysi naklady na to co musime delat.
Tak jen doufejme, ze buzzword driven development stale zije a naskocime na tu vlnu co nejrychleji i v tech korporacich kvuli nejakemu manazerskemu FOMO komplexu.

_Jenda

  • *****
  • 1 550
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:ChatGPT a AI pro vývojáře
« Odpověď #12 kdy: 14. 02. 2023, 10:26:55 »
Co vidíte ve své křišťálové kouli Vy? Začne poptávka po programátorech klesat?
Podle mě se jedná o další zefektivnění práce (neříkám že to nutně je zefektivnění - viz další příspěvky stěžující si na údržbu kódu - ale mohlo by být) - ale takových už byla hromada: s dnešním IDE, debugery atd. jsou programátoři o několik řádů efektivnější než když před 50 lety děrovali štítky a pak čekali celý den, až štítky projedou počítačem a dostanou výsledek. Asi existuje nějaká hranice efektivity, od které bude programátorů přebytek, ale imho tam ještě nejsme.

Re:ChatGPT a AI pro vývojáře
« Odpověď #13 kdy: 14. 02. 2023, 10:28:14 »
Já bych bral i tak, že čím víc pofiredního kódu na githubu bude, tím víc pofiderního kódu to AI bude doplňovat. A čím víc pofiderního kódu to AI bude doplňovat, tím víc pofiderního kódu na githubu bude, pokud budou lidi používat tento nástroj.

Navíc vidím pořád problém s licencí doplněného kódu - to AI nic nevymyslelo, jen doplnilo existující kód bez licence.

Re:ChatGPT a AI pro vývojáře
« Odpověď #14 kdy: 14. 02. 2023, 11:27:12 »
To je právě projev krize IT. Místo nástrojů, které by programátorům umožňovaly psát optimální kód, tak tu máme nástroje, které umožňují psát programátorům kód efektivně. Místo toho, aby se řešila komplexita kódu, konzistence API, tak máme nástroje, které umožní produkovat kód v prostředí s nekonzistentním, duplicitním API, nejasnými závislostmi. Za komplexitu se ale vždy platí, vyšší křehkostí (opak robustnosti), vyššími náklady, větší specializací, menší obecností.
Není to projev krize IT, je to naopak ukázka toho, proč IT změnilo svět.

Ve 20. století jsme dělali čím dál komplexnější projekty, kdy se vytvořil celkový plán a ten se pak rozpadl až do posledního šroubečku. Vrcholem takového přístupu jsou podle mne třeba jaderné elektrárny. Jenže tím jsme prakticky narazili na naše limity, ještě komplexnější systémy už nedokážeme uřídit.

Pak ale přišel internet (a po něm mimo jiné cloudy), který ukázal, že jde vytvořit ještě složitější systémy, u kterých je ale komplexita výrazně nižší – za cenu toho, že už tomu systému jako celku nerozumíme, nedokážeme předvídat jeho chování. Oproti předchozím komplexním systémům je rozdíl ten, že systém vybudujeme ze spousty jednoduchých prvků, u kterých nevadí selhání některých z nich. A celé to propojíme do sítě, která se řídí jednoduchými pravidly.

Velmi podobné principy platí třeba pro agilní vývoj. Ano, znamená to, že se tolik neřeší optimální kód, daleko důležitější je efektivita psaní kódu. Komplexita kódu se neřeší v tom smyslu, že by se řešilo, jak zacházet s komplexním kódem. Místo toho se řeší, jak komplexitu zmenšit tím, že se systém rozdělí na menší jednoduché části, propojí se do sítě a začnou pracovat v režimu, že jakákoli jednotka může selhat.

Což neznamená, že bychom vůbec nepotřebovali vysoce optimalizované jednotky kódu. Pořád někde v útrobách těch systémů jsou, ale jsou hezky zapouzdřené, aby jejich komplexita nepřerůstala ven.

Za mne je skvělé, že k takovému posunu došlo. Je to posun od inteligentního návrhu k evoluci a já věřím tomu, že evoluce dokáže víc.