Existuje veľa spôsobov ako použiť jazykové modely na programovanie
Počul som názor, že vývojári nedokážu pomocou jazykových modelov zvýšiť produktivitu, pretože ich nevedia používať. Idea je, že vývojári dostali do rúk nový nástroj bez toho, aby im niekto poskytol školenie, ako ho správne používať. A implicitné odporúčanie je takéto školenie poskytnúť. Háčik je podľa mňa v tom, že v súčasnosti existuje niekoľko prístupov k používaniu jazykových modelov pri vývoji softvéru a nikto nevie, ktorý je ten správny.
Snažím sa sledovať, ako ľudia používajú jazykové modely pri vývoji. Čiastočne preto, že si stále hľadám vlastný pracovný postup, a čiastočne preto, že vyvíjam vlastný nástroj pre jazykové modely, llobot. Čítam články a blogy od vývojárov, ktorí podrobne opisujú svoje pracovné postupy. Na objavovanie článkov na túto tému používam väčšinou Hacker News.
Zatiaľ sa zdá, že existujú aspoň tri spôsoby, ako využiť jazykové modely na písanie väčšieho množstva kódu:
- Vibe coding: Myšlienkou vibe codingu je, že plná zodpovednosť za kód sa prenáša na jazykový model a vývojár vystupuje ako manažér, ktorý minimálne zasahuje do technických záležitostí a väčšinou len komunikuje požiadavky a hlásenia o chybách jazykovému modelu. Ľudia mali s vibe codingom nejaké úspechy na malých, testovacích projektoch, ale nikto si netrúfa aplikovať vibe coding na veľký a dôležitý projekt.
- Zverák špecifikácia-revízia: Mnoho profesionálnych vývojárov zistilo, že jazykovým modelom prospieva primerane detailná špecifikácia a primerane dôkladná kontrola kódu. Väčšie úlohy dávajú jazykovému modelu dostatok slobody na dosiahnutie zmysluplného zvýšenia produktivity. Dôsledná špecifikácia a kontrola kódu zároveň zaručujú, že výstupom jazykového modelu sa dá dôverovať.
- Interaktívne: Nie každý však píše špecifikácie. Mnoho vývojárov zadáva množstvo dotazov, každý len 1-2 vety dlhý, a po každom čakajú na odpoveď jazykového modelu. Pluginy pre IDE tento pracovný postup podporujú. Na veľkých projektoch je to drahé a pravdepodobne neproduktívne, ale je to vynikajúce na štúdium a prototypovanie, keď si ešte nie ste úplne istí, čo chcete.
Vyššie uvedené tri možnosti pokrývajú iba agentov na programovanie. Vývojári používajú jazykové modely aj menej konvenčnými spôsobmi:
- Štúdium: Ľudia používajú jazykové modely na učenie, zvyčajne prostredníctvom bežného četu.
- Plánovanie: Niektorí vývojári sa snažia zapojiť jazykové modely do plánovania a písania špecifikácií.
- Artefakty: Menšie vibe coding projekty sa dajú realizovať priamo v čete (Claude Artifacts, ChatGPT Canvas).
- Vzorový kód: Niektorí vývojári sa vyhýbajú používaniu programovacích agentov, ale napriek tomu si cez čet pýtajú izolované úryvky kódu.
Vôbec nie je jasné, ktorý prístup je najlepší. Je veľmi pravdepodobné, že budeme ešte roky používať zmes rôznych pracovných postupov, kým sa veci ustália. Osobne väčšinou používam zverák špecifikácia-revízia na širokých a plytkých úlohách, čo mi viac-menej funguje.