Bolo to pred rokom a pol, keď sme rozbehli náš prvý projekt s AI-first prístupom. Sonnet 3.5 bol v tom čase najlepší model na písanie kódu (aspoň podľa našich vtedy obmedzených skúseností) a usúdili sme, že je dostatočne vyspelý na to, aby sme mu mohli delegovať všetku nekritickú logiku. Zložitú logiku stále bolo treba robiť manuálne, no drvivá väčšina úloh už mala dosť dobrú kvalitu na to, aby vývojárom ušetrila netriviálne množstvo času. Niektorí vývojári boli skeptickí, ale našťastie je každý v Brackets od prírody zvedavý, a tak sme všetci venovali čas skúmaniu nástrojov, modelov a prístupov.
Posuňme sa do dneška: neexistuje projekt bez výrazného nasadenia AI. Programovanie, ako sme ho poznali, sa každým týždňom automatizuje viac a počet riadkov, ktoré píšem postaru, sa blíži k nule.
Takže ak nepíšem kód, čo vlastne robím?
Nový workflow v ére AI
Vždy ma bavilo riešenie problémov. Navrhovanie prístupu, vyhodnocovanie možných riešení, hľadanie spôsobu, ako to spraviť v rámci obmedzení času, rozpočtu a scope. Naprogramovať to potom nikdy nebola moja obľúbená časť.
Pred dvomi rokmi tvorilo moju prácu 20 % riešenie problémov a 80 % programovanie toho, čo sme vymysleli. Dnes je to bližšie k pomeru 50/50. A ten pomer sa stále posúva.
Takže aké sú kľúčové veci, ktoré robím?
Brainstorming s klientom
Vyvíjali sme projekt pre European Association of Nuclear Medicine a pamätám si, že pred každým hovorom s klientom môj PM zvažoval, či sa oplatí, aby som tam bol. Niekto predsa musel ten kód napísať. Nechceli sme „plytvať“ mojím časom na hovoroch.
Vždy som bol proti. Chcel som byť na tých hovoroch, lebo som mal vhľady, ktoré PM nemal. Vedel som, ako je štruktúrovaná databáza. Vedel som, že existuje lepšie a lacnejšie riešenie než to, ktoré sa navrhovalo. PM to vedieť nemohol. A prečo by aj — poznať schému nie je jeho práca.
Toto považujem za úplne najlepšiu vec, ktorú nám AI modely dali. Vývojári môžu konečne nasmerovať svoje mysle riešiteľov problémov na skutočné riešenie klientových problémov namiesto programovania už vyriešeného problému (často horšie, než by mohlo byť, lebo architekt nebol na hovore).
Scope a definícia projektu
Keď sú brainstormingové stretnutia hotové, musím nápady a riešenia pretaviť do scope a definície projektu. Toto je kľúčový krok. Musí byť úplne jasné, na čom sme sa dohodli. Toto existovalo pred AI a existovať bude vždy.
V minulosti však zapamätať si všetko, na čom sme sa dohodli, nebolo vždy jednoduché. A neznášam si robiť poznámky počas stretnutí. Odoberá mi to pozornosť od dôležitej časti: samotného brainstormingu.
Už viac ako rok používame na stretnutiach Fireflies, ktorý prepisuje všetky naše brainstormingové sessions. Vygenerovanie scope projektu je potom otázkou jedného promptu: „Vezmi moje posledné 3 stretnutia s X a vytvor scope a definíciu projektu.“ O zvyšok sa postarajú naše vopred pripravené Claude skills.
Opäť veľa ušetreného času. Sústredím sa len na to, na čom najviac záleží: overenie, či návrh skutočne rieši problém, namiesto toho, aby som celý dokument písal sám. Často sa stane, že AI prikladá priveľkú váhu častiam, ktoré nie sú až také dôležité, pričom míňa veci, ktoré sú pre klienta najpodstatnejšie. AI nedokáže vycítiť atmosféru na brainstormingovom stretnutí. Nezachytí ten moment, keď sa klientovi zmení tón hlasu, keď sa na nejakú tému naozaj zahákne, keď prejde cez niečo, na čom mu nezáleží. To je čisto ľudská zručnosť, a preto človek v procese nie je voliteľný. Práve o to celé ide.
Brainstorming znova
Keď je dokument hotový, prejdeme ho s klientom, aby sme si boli istí, že sme na rovnakej vlne a všetky problémy sú podchytené. Je to iteratívny proces, a to je dobre. Musí byť iteratívny, lebo…
Dobrý plán je všetko
Ďalším krokom je generovanie technických úloh z briefu projektu. Buď v Jira, alebo — v mojom prípade — preferujem markdown súbory priamo v repository projektu. Pre AI coding agentov funguje oveľa lepšie, keď majú celý scope projektu (spec, PRD, …) priamo v codebase. Agenti to pochopia výrazne lepšie, čo zlepšuje udržateľnosť, a ako bonus sa z toho stane vaša dokumentácia.
Hlavnou zodpovednosťou vývojára v tejto fáze je dôkladne preveriť vygenerované úlohy. Je návrh správny? Je schéma databázy v poriadku? Sú všetky procesy správne pokryté? Obsahujú úlohy testovacie scenáre? Nikdy by ste sa nemali spoliehať na AI bez riadneho dohľadu, inak riskujete kopu problémov.
Vo svete AI agentov je dobrý plán všetko. Môže to byť rozdiel medzi 3-hodinovou coding session a 9-hodinovou session plnou tech debt.
A toto nie je len teória. Mali sme dva projekty bežiace paralelne. Na prvom som mal naplánované demo a chcel som mať hotový MVP. Nebol čas úlohy dôkladne preveriť. Výsledok? Ďalší deň som strávil niekoľko hodín opravovaním problémov. Neboli to ani len bugy, len zlé dizajnové rozhodnutia, ktoré agent spravil, lebo spec bol vágny. Odvtedy vždy vkladám najviac úsilia do definícií úloh. Vedie to k minimu problémov po implementácii.
Programovanie
Ok, takže máme úlohy. A teraz čo? Preberajú to naši coding agenti.
Vybudovali sme ekosystém agentov v Coder (ak chcete vedieť viac o našom nastavení, pokojne mi napíšte na LinkedIn), ktorí robia ťažkú robotu. Úlohy sa implementujú sekvenčne, jedna za druhou. Tu sme sa poučili — paralelné úlohy sa neoplatili, pokiaľ nie sú naozaj nezávislé s nulovou interakciou, čo je málokedy. Každú úlohu potom skontroluje review agent, feedback sa zapracuje a vytvorí sa pull request.
Review ľuďmi
To je ono — pull requesty sú vytvorené, kód je napísaný, funkcia je implementovaná. Teraz je čas na poriadny ľudský review. Musíme si byť istí, že systém je bezpečný a všetko je implementované tak, ako malo byť.
Dobrá vec je, že sa to deje vo veľkom. Ráno sa zobudím a čaká na mňa 20 otvorených PR.
„AI píše rýchlo, ale zodpovednosť je stále naša.“
Pravda je, že hoci sa kvalita AI generovaného kódu stále zlepšuje, nie je bezchybná. Každý pull request stále potrebuje ľudské oči. Niekoho, kto overí, či je kód bezpečný, udržateľný a robí to, čo má. Mám jedno zlaté pravidlo, ktoré uplatňujeme naprieč tímom: nikdy nenasadzuj niečo, kde nerozumieš každému jednému riadku kódu. Ak nedokážeš vysvetliť, prečo tam je, do produkcie to nejde. AI píše rýchlo, ale zodpovednosť je stále naša.
Od MVP k dokonalosti
Keď je všetko implementované, ukážeme klientovi MVP. A práve tu sa nový workflow naozaj zúročí: keďže change requesty sú teraz lacné, môžeme iterovať. V minulosti mohlo prerábanie codebase po prvom deme trvať týždne, takže sme sa snažili čo najviac vecí uzamknúť hneď na začiatku. Teraz je často ekonomickejšie nasadiť hrubý MVP rýchlo a detaily dolaďovať spoločne s klientom, kolo po kole.
Rovnaký rozpočet, viac iterácií. Alebo rovnaký počet iterácií, rýchlejšie dodanie. Tak či onak, produkt, ktorý nakoniec vznikne, je oveľa bližšie k tomu, čo klient naozaj chcel, lebo ho pomáhal formovať, nielen zadať.
Tu sa vraciame späť k „Brainstorming znova“. Cyklus sa môže zopakovať aj niekoľkokrát, kým je produkt taký, aký má byť.
Tak čo to znamená pre klientov?
- Senior myslenie, nie senior písanie. Ten istý inžinier, ktorý navrhuje váš systém, trávi viac času pochopením vášho biznisu a menej času písaním toho, čo už je vyriešené. Tento pomer sa posunul vo váš prospech.
- Viac iterácií za rovnaký rozpočet. Lacnejšia implementácia znamená, že si môžeme dovoliť vyskúšať druhú a tretiu verziu nápadu ešte predtým, než to odsúhlasíte. Finálny produkt nakoniec viac sedí tomu, čo naozaj potrebujete, a nie tomu, na čom sme sa dohodli na prvom stretnutí.
- Rýchlejšie od nápadu k funkčnému softvéru. Čo kedysi trvalo mesiace, dnes trvá týždne. To mení, čo má zmysel skúšať. Experimenty, ktoré sa pred dvomi rokmi neoplatili, sú dnes rutina.
- Dôkaz, nie sľuby. Na nedávnom healthcare projekte sme strávili tri hodiny s klientom definovaním dátového modelu — obmedzenia, hraničné prípady, tie zložité časti. Claude Code napísal implementáciu za 30 minút. Premýšľanie je to, za čo platíte; písanie je takmer zadarmo.
Krátka poznámka, kým to uzavriem: znie to, akoby AI riešilo všetko. Nerieši. Tomu, kde funguje a kde naráža, sa budeme venovať v samostatnom článku.
Takže áno, odinštaloval som si editor kódu. Písanie je teraz takmer zadarmo. Časť, ktorá potrebuje mňa, je rozhovor s vami. Tam ma nájdete.