• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    KOJAProgramovani 40+
    LUDWIG_
    LUDWIG_ --- ---
    VOY: ve smyslu toho puvodniho videa [JARDABEREZA @ Programovani 40+]
    Plus https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/

    Jinymi slovy mezi kodem, co generuje AI, a vysledkem, co clovek potrebuje, jsou stovky/tisice ruzne blbych, obcas zabugovanych a vicemene "nemenitelnych" abstrakci, coz jsou dost spatne zaklady. V mantinelech toho ma co delat clovek, aby vytvoril fungujici kod bez chyb, natozpak AI. Zaroven to hazi extra klacky pod nohy AI pro nejake pokrocilejsi uvazovani, schopnost si ten kod samo E2E otestovat atd.
    JARDABEREZA
    JARDABEREZA --- ---
    JANFROG: Já trávím teď cca 2-3h denně s ComfyUI a zkouším různé AI techniky a postupy. Ale to je takové programování skrz propojování nodů... to asi dělá kde kdo. Ale začínám přemýšlet, že bych mohl programovat vlastní nody v Pythonu, to je o něco těžší, ale taky to dělá dost lidí. Nebo bych mohl zkusit přispět do toho ComfyUI projektu přímo a připsat si nějaký PR body do začátku :-D

    Ale i s těmi nástroji to je těžké... říkal jsem si NMDK GUI je super to má budoucnost, potom Automatic1111 je lepší to má budoucnost, pak ComfyUI a teď přemýšlím jestli to zase nenaruší OmniGen, který by mohl eliminovat potřebu nějakého složitého GUI. Anebo se zaměřovat na ty niche to Omnigen nepokryje anebo by to žralo moc elektřiny a bylo drahé, když by se to škálovalo a specializované workflow by se vyplatilo víc.
    JANFROG
    JANFROG --- ---
    JARDABEREZA: No jo, to je riziko tehle strategie. Ja uz jsem teda trosku vymekl a diverzifikuji :-)
    NAVARA
    NAVARA --- ---
    JANFROG: Což tedy platilo i před AI :)
    QWWERTY
    QWWERTY --- ---
    JARDABEREZA: "napíšu "ko" a AI hned "kokotina" "
    ...takhle to dopada, kdyz se AI uci na konkretni codebase a prebira navyky soucasnych programatoru :D
    JARDABEREZA
    JARDABEREZA --- ---
    JANFROG: Měl jsem podobné uvažování. Dělám pluginy do Photoshopu. A oni fakt nemají dobrou dokumentaci. Prostě to pro ně není priorita. ...jenže když chceš obrázek, napíšeš AI co chceš a ona to udělá. Teď Omnigen umí chápat i textové úpravy typu: vymaž auto, přidej modré sluční brýle nejstarší osobě atd. Takže lidi možná nebudou potřebovat Photoshop. Adobe sice dělá svoji AI, ale je to teď extrémě konkurenční obor. Možná AI nebude nikdy umět pluginy do Photoshopu, ale může zničit trh a důvod, proč by je někdo chtěl :-D

    ALMAD: Taky mě to občas trošku ruší... ale hlavně u psaní komentářů ke kodu. Protože tam píšu důvody proč to tam je. A ty důvody by člověk většinou nečekal. A nečeká je ani AI :-D Jednou jsem psal anglický komentář napíšu "ko" a AI hned "kokotina" :-D
    ALMAD
    ALMAD --- ---
    VOY: Jednak je o hodne rychlejsi, coz je pro me velkej benefit: Copilot zacal napovidat az v momente kdy sem se zamyslel, coz me spis vytrhavalo nez ze by mi pomahalo.

    A za druhy, kdyz zaindexujes codebase, tak ty napovedy davaj o hodne vetsi smysl.

    Kolegove si jeste hodne pochvalujou composer, ale to je pro lidi co pisou novej kod, to ja moc nejsem :)
    VOY
    VOY --- ---
    ALMAD: Jasne, no question. Jinak v cem ten Cursor je lepsi nez Copilot, v cem te presvedcil co Copilot neumel nebo nedovedl?
    JANFROG
    JANFROG --- ---
    JANFROG: Job safety by obscurity.
    VOY
    VOY --- ---
    ALMAD: Jedna vec je co to znamena a druha vec je jak to lidi chapou a aplikuji. Casto je takovy low hanging fruit u code review ukazat na to, ze nekde je nejaka radka zduplikovana a mohl by se udelat helper a profit. Ja si jen myslim, ze ne vzdycky to doda kodu takovou hodnotu jakou si ten reviewer mysli, protoze za to platis nejakou vetsi komplexitou.
    JANFROG
    JANFROG --- ---
    VDFLAT: Jinymi slovy, umi dobre to, co delaji mrte lidi. Veci co dela par lidi to neumi. To je super zprava, hned jsem vic v klidu...
    ALMAD
    ALMAD --- ---
    FARIN: Jo podle me o tom je DRY, ne? Ze se pouziva tam kde _chces_, aby se zmena v implementaci zpropagovala do vsech mist, kde se to pouziva.

    Podle kontextu to muze bejt hodne nebo malo :)
    VDFLAT
    VDFLAT --- ---
    MARASAN: Funguje to prostě na věci, kde jsou dohledatelný data, na kterých se může natrénovat. Většina AI modelů, které jsem testoval, je skvělá na mainstream typu SQL nebo C#, ale moc se nechytá na okrajové zálěžitosti typu Logic Apps.
    ALMAD
    ALMAD --- ---
    VOY: To sem nerek a ani si to nemyslim. Klidne to muze bejt proste tim ze je dost trenovacich dat, podobne verim jako ze copilot muze bejt vic super pro Javu.

    A jinak teda testuju Cursor a musim rict ze ten pro me na rozdil od Copilota prekrocil hranici pouzitelnosti.
    MARASAN
    MARASAN --- ---
    Co se tyce AI, tak ja s Erlangem narazim na naprostou neznalost. U prakticky jakyhokoliv dotazu odpovida AI (Gemini v1.5/v2 nebo ChatGPT) naprosty kokotiny. Asi je AI pouzitelny jen u mainstreamu.
    VOY
    VOY --- ---
    LUDWIG_: Muzes rozvest jak to myslis?
    LUDWIG_
    LUDWIG_ --- ---
    LUDWIG_: ohledne toho prulomu v pristupu… mozna to take jen tak nepujde kvuli tomu problemu abstrakci, o kterem je to puvodni video
    LUDWIG_
    LUDWIG_ --- ---
    JARDABEREZA: ja si tech biasu jsem vedom. Moje zkusenosti s AI tooly jakozto cloveka, co pozoruje vyvoj od GPT2 (kdy s tim lidi tehdy zkouseli generovat Javascript):
    - Copilot a Copilot Chat: celkem fajn na rutinni kod (doplnovani nebo generovani kostry projektu) nebo u nekterych jazyku / frameworku pomoc (dobry u Reactu apod., nic moc u SwiftUI)
    - code rabbit na code review: nic extra, ale obcas fajn komenty na styl kodu (vic pocitovy/slozity veci, na ktere se linter da tezko nakonfigurovat)
    - Copilot Workspace: asi jsem to blbe pouzival, ale selhalo to i u trivialnich tasku v netrivialni codebase: zkousel jsem treba "prejmenuj vsechny UPPERCASE promenny na namespace::lowecase" v projektu, kde je nekolik propojenych knihoven v ruznych jazycich a trochu slozity build proces; po asi 30-60 minutach pokecu s AI jsem to vzdal… vygenerovalo to PR, prejmenovalo asi 50% tech promennych, ale byla to namaha a dal to neslo. Kdybych to delal rucne, tak to mam tak do 10-15 minut max (kvuli netrivialni codebase to nejde udelat jednorazove v IDE). Junior programatorovi by to trvalo dyl, ale vysvetlovanim stravim 5 minut a muze pracovat nezavisle, nemusim hodinu aktivne vysvetlovat, jak tu zmenu ma provest.
    A to nemluvim o vic komplexnich taskach, kde to bylo naprosto mimo (napr. chybu v kompilatoru okolo typecheckingu to navrhlo opravit v parseru).

    Verim, ze do par let to zvladne solidne resit ty netrivialne trivialni tasky. Pro ty komplexnejsi by byl potreba naprosto jiny pristup a kognitivni prulom, protoze ten soucasny (chain-of-thought + chytre vyhledavani v codebase pro kontext atd.) vypada jako slepa ulicka, co se s vice daty / rychlejsimi procesory kvalitativne nezlepsi (jen to nefunkcni PR nebude trvat vygenerovat nekolik minut, ale treba nekolik sekund).

    Plus ten rozdil, ze ten AI agent si neumi ten kod otestovat, uvazovat nad nim (napr. pustit UI aplikaci a naklikat v ni, ze ta zmena funguje), vyzaduje mnohem vic aktivni a delsi vysvetlovani nez prumerny junior (jelikoz clovek ma dalsi kontext v hlave / z okoli mimo ten task)… proto si myslim, ze to jen tak i juniory kompletne nenahradi.
    FARIN
    FARIN --- ---
    Jinak ještě k DRY. Ono je rozdíl copy pastovat a inlinovat výpočetní funkce alá potřebuju z cesty extrahovat file extension, spočítat kořeny kvadratický mocniny apod. Prostě něco, co je daná logická operace a výsledek bude vždycky stejný. Tady kopie jen trochu nafukuje zdroják nic moc horšího se neděje.

    A pak jsou věci jako třeba visuální komponenty, kde je účelný mít jednodtný vzhled a chovaná. Takhle jsme měli v jednom projektu rozkopírovaný určitě vic než 10x kód pro Modal dialog. Markup pro title, close button a css k tomu. A bylo to docela neškovný. A sjednotit se to nikomu dlouho nechtělo protože ten copy paste nebyl jen copy paste, ale občas v tom byla nějaký změna. Příliš komplikovaný to řešit v rámci tasku a sahat na různý místa v aplikaci co potřeboval další modal. Takže ho člověk zase zkopíroval :)
    DEEFHA
    DEEFHA --- ---
    Když to tady probíráte, tak já si teda Copilota nemůžu vynachválit. Dělám primárně Python, kde Copilot výrazně usnadňuje takový nějaký prototypování (vhodně pojmenuju funkci a on ji prostě vymyslí), případně refactoring, různý mechanický činnosti (třeba nejaký enumy - začnu, napíšu první dvě položky a on vygeneruje zbytek), dobře mu jde naopak i dokumentace už existujícího kódu i překlady v .po souborech...

    Je toho dost, ale snažím se ho usměrňovat i opravovat, on se z toho poučí a pak na konkrétním projektu funguje líp a líp. Plus celkem fajn funguje na různých konfigurákách, to jsem byl docela překvapenej a hodně to používám. Kdo si má všechny ty opšny pamatovat :-)

    Takže za mě dobrý pomocník, jo a máme nějakou takovou tu placenou verzi.
    Kliknutím sem můžete změnit nastavení reklam