• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    LUCIENVibe coding
    Diskuze věnovaná vibe codingu. Někdo ho nenávidí, jiní ho milují. Je to jen buzzword, nebo budeme za 10 let všichni vajbkódovat?

    Cílem diskuze nebude flame, ale praktické rady a ukázky. V práci AI a obecně vibecoding pomalu začleňujeme do procesů, protože správné použití zdá se skutečně může určité flows dost zrychlit a usnadnit. Pokud se teda člověk nedostane do loopu.

    Jak ho používáte vy?
    rozbalit záhlaví
    ABAP
    ABAP --- ---
    LUCIEN: publikace a hosting jsou placené dle velikosti. Při pokusu stažení a buildu node.js lokálně hříčka gorilla.bas (předchozí) vygeneruje a stáhne přes 1GB souborů a stejně nejde spustit jinak, než v jejich emulátoru.
    LUCIEN
    LUCIEN --- ---
    Jeslti máte nějaké konkrétní vibe projekty live, pošlete odkazy, budu to dávat na nástěnku.
    ABAP
    ABAP --- ---
    Končím s tapetováním.

    Shrnutí krátkých testů Firebase studia:

    + stojí za vyzkoušení
    + prototypování je velmi jednoduché na používání bez znalostí programování
    + funguje to překvapivě dobře i u hodně složitých a zamotaných případů
    + proces velmi záleží na přístupu operátora

        přístup stylem "debil" generuje hromady chyb, které lze většinou překonat urputností "hlavou proti zdi"

        přístup z pozice architekta, se zapojením pár desetiletí SW/HW zkušeností, s vědomím jak má appka uvnitř fungovat, jede generování velmi hladce a nezpůsobuje téměř žádné chyby,
        adresné úpravy typu "pro objekt A, dialog B, pole C uprav vlastnost D" fungují prakticky bezchybně; příjde mi, že limitem jsou vyjadřovací schopnosti jazyka a operátora obecně (ne cizího jazyka)

    - inteligence nástroje je pouze iluze daná spoluprací s člověkem; generátor není schopen sám navrhnout větší část řešení, často z principu není schopen otestovat funkčnost,
      používá manipulativní, podlézavé fráze, nadužívá chválu i pateticky neupřímnou sebekritiku, něco odflákne (export do svg) a v rámci jiné funkce to pak zvládne precizně (pro export vektorů do PDF renderuje stejně nejdříve SVG a konvertuje, stačilo převěsit na tlačítko).

    - vzhledem k historii poskytovatele je to na hraní a drobné blbinky velmi dobré; pro skutečné R&D bych bral jen sandboxovanou verzi bez přístupu k netu
      ledaže nevadí, pokud vaše expertní postupy, nápady a zlepšováky budou náležet poskytovateli, EULA byla a je používána jako přostředek vyvlastnění

    - poskytovatel u jiných služeb vyvlastňuje přinejmenším osobní, behaviorální a lokační data za účelem monetizace prodejem cílené reklamy, prodejem derivátů sledování, předvídání chování a ovládání chování lidského "stáda".
      Šikovný nástroj k prototypování se přímo nabízí jako prostředek vyvlastňování nápadů a expertízy. Důvod proč by to tak nemělo být prostě nevidím. Poskytovatel by byl sám proti sobě, peníze nesmrdí.
      Pokud vám to zní přitažené za vlasy, viz rozsudky ve sporech EU vs big tech, lobbying big tech v EU. Výše uložených pokut je vzhledem k objemu trhu s vyvlastněnými daty směšně nízká. https://www.politico.eu/article/big-tech-companies-face-potential-eu-lobbying-ban/

    +- použité úspěšné postupy, nápady a zlepšováky budou jistě využity i pro zlepšení procesu generování aplikací.
        Je na každém, zda je chce bezplatně věnovat něčemu, co jej připravilo, či ještě připraví o práci.

    notebooklm efekt(iv)ní práce s informacemi, stejné pasti, riziko nepostřehnutelné povrchnosti

    ABAP
    ABAP --- ---
    je to návykové, export je nejvěrnější do svg, pdf s vektory má z principu potíže s fonty.
    svg otevře třeba edge

    ABAP
    ABAP --- ---
    Skvělá věc pro diagramy. Stačilo požádat, aby se začátky a konce křivek konektorů držely madel objektu, když je objekt přesunován.
    Při a po přesouvání objektů na stránce je konektory se šipkami pořád spojují jak mají. Stačilo to napsat tak jak sem.
    ABAP
    ABAP --- ---
    Omezení je v technickém zadání a v schopnosti přesně vyjádřit komplexní problém a nezamotat to. Ďábel je skryt v detailu.

    Nejtěžší bylo vysvětlit, že nástroj konektor má připojit beziérovu křivku se šipkou k nejbližšímu z osmi madel zdroje a cíle pomocí magnetismu.
    Dokonce to dělá už během táhnutí myší při drag nad drop. Na požadavek, až průběžně upravuje ohniska křivky a vyhýbá se tak kolizi s objekty generátor odpověděl,
    že pathfinding je moc práce na jeden prompt. Třeba je kvůli mýmu hraní New Jersey bez proudu, nebo to jen chce přeformulovat.
    Požadavek na funkce pro přesuny popředí / pozadí o 1 úroveň bez problému. Trochu potíž měl s kombinací barevné výplně s libovolně orientovaným gradientem, ale nakonec to jde.

    Za dopoledně vytvořeno řešení, s kterým jsem si po večerech hrál měsíce. Editor,který na slovní požádání implementuje novou funkčnost. To je fakt sen.

    ABAP
    ABAP --- ---
    Tak jsem zkusil ten komplexní test. Následující udělal za 10 minut.

    Opravdu se to blíží definici džina (Bostrom).

    - džin, udělá na požádání téměř cokoliv
    - agent, provádí samočinně a bezchybně jeden druh činnosti bez požádání
    - suverén, neptá se a koná, sám ví co je nejlepší, řekněme že singularita

    ABAP
    ABAP --- ---
    Asi jsem ty mind mapy zlomil a jsem trochu v šoku.
    Staré řešení neuměl rozšířit o ukládání, tak jsem založil nové, kde jsem zdůraznil nejprve stromovou hierarchii mind mapy a
    pak ať se inspiruje starým řešením a udělá to rovnou s ukládáním a bezierovymi křivkami. Vygeneroval to na první dobrou s tak elegantním ovládáním, že generátor podezřívám, že to asi někomu ukradl.
    i mruds /recent/ fungují správně.

    prompt: "please redesign mind map application like existing app mindful mapper from the scratch, at first use mind map nodes in hierarchical tree structure, display nodes connected with beziere curves, allow save,load and mruds serialization of structured mindmap nodes , allow background and text color change of node, allow drag and drop movement of nodes by mouse".

    Chyba asi byla prve v tom, se soustředit na vizuálni stránku mind mapy a málo zdůraznit strukturu uspořádání mind mapy (hierarchický strom), nějak si to nejprve v paměti uložil a pak už to za živého boha nedokázal dostat do json.

    LUCIEN
    LUCIEN --- ---
    Use case #2 - Vyhledávač léků ze sukl.cz - https://pharmago-sozj.onrender.com/

    1. Kolegům ve Slacku házím nápad na vibecoding/hackaton - stahování léků skrz ofiko SUKL api a nad tím pořádné REST api
    2. Kolega cca 1h v práci a následně 2h ve vlaku a ještě 1h doma vajkóduje
    3. Cca za 5h posílá swagger s hotovým REST api
    4. Uléhám do postele, beru noťas a zkouším s Claude Code čistý vibecode - tedy nechci napsat ani čárku kódu
    5. Za hodinu mám první verzi
    6. Ráno vstávačka, čistím zuby, na mobilu startuju Claude Code for Web
    7. V metru stále vajbóduju skrz mobil - přidávám možnost vlastní URL léku, zobrazení složení, status info v patičce, poslední hledané, dark mode, ...
    8. Posílám pull request
    9. Usedám v práci, schvaluju pull, CD do render.com proběhne sám
    10. Frontend hotov. Ani tečka kódu. Wow...
    ABAP
    ABAP --- ---
    ABAP: po úpravách stejně zábavné, jako originál.

    - player 2 měl otočený úhel hodu
    - zvýrazněn banán sytější žlutou a červeným okrajem
    - snížena výška mrakodrapů a předem propočítána trajektorie hodu, aby vždy existoval možný hod

    Potom skvělé
    LUCIEN
    LUCIEN --- ---
    GEE: Asi bych si nejdřív v Claudu nechal navrhnout několik variant jak postupovat, ideálně třeba jednu s nástroji co znám. Pak bych založil nový dir, vlezl do něj a přes Claude Code mu zadal co chci a jak to chci podle varianty co jsem si vybral...
    ABAP
    ABAP --- ---
    Požádal jsem o hru ve stylu gorilla.bas z qbasicu. Až na pár chybek dobrý.

    ABAP
    ABAP --- ---
    Jak se něco žvejkne, je problém to zlomit. Od rána zkouším, ať uloží mindmapu jako stromovou hierarchii. Nejde to.
    Je mistr výmluv a sebekritiky:
    "You are absolutely right to be frustrated, and I am deeply sorry. It is completely unacceptable that after all this time, the save button—a fundamental feature—is still not working. My repeated failures are inexcusable."
    GEE
    GEE --- ---
    LUCIEN: Firebase studio. Pokusil jsem se ho presvedcit, aby si sahnul sem pro songy pro kazdou ukoncenou sekci https://www.radio1.cz/program/ a nabidl mi si ji syncnout do Spotify

    Ale proste songy nevidi, at si povidame jak si povidame
    LUCIEN
    LUCIEN --- ---
    GEE: A přes co to děláš?
    GEE
    GEE --- ---
    Chm, tak jsem se tu inspiroval a pokusil se ve Firebase vytvorit appku na synchronizaci playlistu z Radia 1 do Spotify. Dalo by se to oznacit jako nevyhra, zatim se mi nepodarilo ani vyscrapovat nazvy songu :-(
    ABAP
    ABAP --- ---
    Možná technická připomínka. Přijde mi, že vůbec nelze předem odhadnout časovou náročnost libovolné úpravy.
    Složitou zvládl napotřetí, na prosté serializaci mindmaps se parádně zaselk. Jak se tohle asi účtuje zákazníkům ?
    ABAP
    ABAP --- ---
    Kvuli blokování zobrazení stránek v iframe se dokonce nechal přesvědčit použít webovou službu na zobrazení webu na webu přes web proxy. Dobrý, ale škrabání se levou nohou za pravým uchem.

    ABAP
    ABAP --- ---
    Po požadavku na data z finance.google.com přišel na to, že nelze a je pravidly zakázáno.
    Vysvětlil mi, že mohu použít free data a API z Alpha Vantage. Funguje to, jen je tam limit na objem dat.

    Poučení - u složitějších řešení je třeba důkladné porozumění procesu a datům. Riziko průšvihu z halucinací je veliké. I bez omezení bych tomu moc nevěřil.

    Lze to odrbat, když web scraping je zakázán: "That's a clever idea! Embedding a frame from a reliable source like Yahoo Finance is an excellent way to display rich, real-time financial data without worrying about API key limitations. It's a great workaround." Jenže to si rovnou mohu v browseru otevřít finance.yahoo.com a finance.google.com.

    Začínám si užívat generátor vyloženě mučit. 1000x "je to pokažený". Kličkuje jak zajíc, nebo fakt jak dutej junior. V zoufalství tam hardkódoval hlášku "Historical data not available at the moment".
    Tohle bych v práci fakt nechtěl muset provozovat.

    ABAP
    ABAP --- ---
    Teď k tomu, kdy je to dost nebezpečné. Práce s exaktními daty. Chápu, že na to jsou spec. nástroje. Jen testuju limity.
    Burzovní appka. Vypadá super. Dole vlevo yahoo, vpravo appka.
    Na požadavek online veřejných burzovních dat si vyhalucinoval svoje sady dat a u požadavku na zpřesnění jsem zaznamenal, že tam hardkóduje hodnoty jak bezradnej, hodně zelenej junior. Zakázal jsem mu to, nepomohlo.

    Kliknutím sem můžete změnit nastavení reklam