Stojíme na ramenou obrů...?
V případě jakéhokoli kreativního i nekreativního psaní kódu můžeme vždycky začít o prázdného souboru a postupně ho plnit, jenže nelžeme si, když už nestavíme na něčem, co jsme my nebo někdo jiný dokončili dříve, aspoň vždy hledáme řešení nějakého zádrhelu, zdali nám jej někdo už dříve nevyřešil.
Dokud nedošlo k demokratizaci využívání large language models (LLM), stavěli jsme na StackOverflow a podobně. Pokud nás tamní rádci vyloženě neposadili na svá ramena, aspoň nám dovolili stoupnout si na nabídnutou náruč. Jenže co je to oproti zběsile ochotné nápovědě od LLM?
Pokud položíte dílčí dotaz, týkající se nějakého aspektu kódu, dostanete zpravidla odpověď, týkající se toho aspektu kódu, a k ní nějaký malý bonus. Pokud se ovšem AI má čeho chytit, bude bonus mnohem větší, ta věc za vás začne řešit problémy, na které jste se neptali. Kdo by odolal?
Když položíte obecný dotaz, např. jak pojmout nějaký problém od podlahy, a co u toho využít za nástroje, nastává běžně situace, že za vás AI začne psát kód od podlahy. Nejsem schopen dohlédnout jak daleko lze u definovaného problému zajít, ale na možná zbytečně solidně zdůvodněnou query “pojďme spolu naprogramovat plně funkční eshop s pomocí Flask a Stripe” (lekce 97 Udemy 100 days of code :)) stačilo psát “ok, tak přejděme k dalšímu kroku” a u těch pár věcí, které to opomenulo stačilo dodat, co za funkcionalitu schází.
Jistě, jsou tu dvě ale:
- LLM tento problém patrně umí vyřešit, protože texty na nichž trénovalo obsahují explicitní řešení tohoto problému
- abych zvládl společně s LLM projít řešením problému, musím chápat alespoň rámcově, co právě teď děláme a ty věci okolo
Jenžeee, neni to celé nějaké divné? Je to ještě programování? Kde je ta hranice?