top of page

Jakým způsobem může firma využít "vibe coding"

Co si představit pod slovem vibe coding? Velmi stručně řečeno, tento výraz je používán, když si člověk, který není vývojářem a programovat téměř nebo zcela neumí, pomocí generativního AI vytváří vlastní aplikace. Slovo vibe coding nemám moc rád, je to jen další buzzword, kterými nás technologické firmy zaplavují mnoho let. Mám radši výraz profesora von Hippela z MIT, který zavedl na konci devadesátých let výstižný výraz, uživatelské inovace, tedy inovace které si pro sebe děláme sami. Všichni ale nyní používají vibe coding, tak budiž.


Mluvíme li o aplikacích je dobré si uvědomit, že existuje něco, jako obecná top level architektura, kterou aplikace aby správně fungovali musí respektovat. Jestliže se pohybujeme pouze v prostředí webového prohlížeče, tedy frontendové, na člověka otočené části, lze s využitím GenAI vytvořit bez sebemenší znalosti programování úžasné věci. To samé relativně platí chceme li komunikovat napřímo s LLM s využitím API pomocí python nebo java scriptu. Stačí nám umět spustit terminál a naučit se pár příkazů v pythonu, které můžeme ostatně mít někde napsané a okopírovat je do příkazového řádku. Složitější to ovšem je, chceme li někde systematicky ukládat data a komunikovat v rámci aplikace s LLM. Tam se již z bezpečnostních důvodů neobejdeme bez backendové části, ve frontendové části viditelný API klíč je bezpečnostně nepřijatelný a řada LLM modelů takovéto volání API odmítne. Na uložení dat musíme využívat databázi. V databázi mohou být taktéž uložené klíče a tyto klíče ideálně zakryptované. Máme li více zaměstnanců, pravděpodobně chceme, aby každý dělal se svými daty a měli jsme také představu, kdo data a výsledek vidí, tedy musíme řídit přístupy.


Moderní IDE (vývojové platformy) s integrovanou podporou AI agenta, který vytváří kód, jsou schopny takto koncipovanou architekturu navrhnout a naprogramovat zcela samostatně. V každém případě, ne zcela bezproblémově. Odlazení bude trvat určitě několik hodin, byť při nich budete kontrolovat jen výstupy a kopírovat pro agenta chybová hlášení. Hlavní problém však nastane s provozem. AI IDE nástroje mají často zásadní problém vytvořit stand alone aplikaci pro počítač, a to i když se hodně snaží a propálíte množství kreditů. Naopak nemají většinou větší problém vytvořit vám aplikaci, která se provozuje v cloudu. To je jistě na jednu stranu moderní, ale většinou tento typ privátního deploymentu je spojen s nějakým subscription. Takže když si takto aplikaci vytvoříte, tak pokud ji budete chtít používat, budete muset stále platit a to většinou minimálně 40 USD měsíčně (Replit). Ono to vypadá, že to není mnoho, ale vy za ten deployment do cloudu platíte jen část, záleží samozřejmě na objemu uložených a transferovaných dat a výpočetním výkonu, který aplikace konzumuje. Většinou více než půlka jde na kredity pro AI kódování i když je nespotřebováváte. Bylo by tedy pro vás výhodné takto si aplikaci vytvořit a přenést si ji do jiného cloudu, kde by byl provoz mnohem levnější. To ale tyto firmy nepodporují neboť provoz je jejich značnou částí příjmu a ten přenos není až zase tak triviální. Navíc problém nastane, co dělat, když přestanete platit a chcete odejít. Firmy vám většinou nechají stáhnout data a nějaký kód, ale z toho aplikaci jinde jen tak nerozchodíte.


Já vám v následující části článku navrhnu, jaká je možnost využití vibe coding ve firmě. Budu používat k vysvětlení příklad nástroje, co jsem si dělal pro evidenci drobných výdajů. Postup je ale velmi podobný pro jakýkoli váš nápad. Nejdříve jsem si vytvořil python skript, který do API Google posílá účtenky a vrací mi strukturovaná data v JSON (viz. předchozí příspěvek). Vždy když budu zmiňovat, že jsem něco vytvořil, tak myslím, že to nakódoval 🧠 Claude 3.7 Sonnet. Když jsem měl odlazený skript, vytvořil jsem si webovou aplikaci kam vytěžené účtenky v JSON formátu nahrávám a která mi poskytuje očekávaný výsledek. Vizualizaci drobných výdajů ve formě přednastavených reportů. Pro ukládání dat používá vlastnost moderních web browserů localStorage. Ta je omezena na konkrétní jeden váš web browser a má limitovanou kapacitu mezi 5-10 MB dat. Data samozřejmě nejsou nijak šifrovaná, ale jsou zase dostupná jen z lokálního počítače. Zde jsem skončil, nemám ambici produkt rozvíjet, takto mi stačí, jsem v podstatě živnostník, tedy sám.


Kdybych se chtěl posunout dál, potřeboval bych místo skriptu vyvinout backend část, kde by bylo automatizované vytěžení dokladů s využitím volání API. Zároveň by bylo vytvořeno napojení na databázi, kde by se ukládala jak vytěžená data, tak také klíče pro API. Zároveň bych potřeboval verifikovat vytěžená data, takže bych ve frontend musel přidat verifikační sekci, kde by na rozdělené obrazovce viděl originální doklad a v druhé části vytěžená data, která bych mohl opravit a uložit. Pak bych samozřejmě potřeboval administrátorskou sekci, kde bych spravoval účty lidí ve firmě, jejich přihlašovací údaje atd. Najednou vidíme, že to není jen tak ani u takto relativně triviální aplikace, která jen volá službu nějakého externího LLM a zároveň jen vizualizuje reporty o nákladech.


Já doporučuji po fázi, co si vytvoříte odlazený skript a hlavně webovou aplikaci, přestat. Když máte komponenty hotové, můžete si s vaším výtvorem hrát a s použitím coding partnera (Claude, Gemini, ChatGPT) optimalizovat funkcionalitu aplikace, její výstupy, optimalizujte uživatelské rozhraní, aby vám vyhovovalo a bylo tam vše, co chcete a jak to chcete. Můžete si hrát se skriptem, který vždy obsahuje nějaký systémový prompt tak, aby u různých vstupů dělal pokud možno přesně to, co chcete. Můžete zkusit různé LLM a najít ten, který vaší činnost zvládne a přitom je třeba zdarma nebo hodně levný. Já osobně třeba nedám dopustit na Gemini 2.0 nebo 2.5 Flash. A až toto budete mít a budete spokojeni s výsledkem, opusťte vibe coding a najměte si zkušeného vývojáře. V tuto chvíli budete již přesně vědět, co chcete, což vám náklady na vytvoření výsledné aplikace, stejně jako použití např. uživatelského rozhraní a některých částí frontendu uspoří velké množství nákladů. Když vím přesně co chci a jak, klidně ušetřím třetinu nákladů. Zároveň vývojářům nedáváte jen business zadání, ale máte řadu věcí rozmyšlených takže se vám lépe vyjednává o ceně. Zároveň vždy chtějte dobře zdokumentovaný kód s uživatelskou dokumentací, abyste se u případných úprav nedostali do závislosti na jednom dodavateli, tak jako se vám to stane u vibe coding.


Takže vibe coding určitě ano, když si dělám něco soukromě pro sebe, tam vám otevírá neskutečné možnosti. Chcete li vytvořit něco pro firmu, pak pokud si vystačím s webovou aplikací, kterou používám sám. Jinak je vibe coding ve firmě dobrý pro promyšlení si a prototypování idejí. Zároveň mi umožňuje snížit náklady na výslednou aplikaci, na kterou si najmu profesionální vývojáře. Vyvíjet tímto způsobem celou firemní aplikaci, používanou byť jen jedním oddělením, již podle mě představuje extrémní výzvu a zbytečná rizika s velmi nejistým výsledkem. 

 
 
 

Comentários


Ing. Petr Adámek - AP Consulting

©2021-2024 by AP Consulting

bottom of page