U nás se na používání LLM při programování hodně tlačí, tak s ním mám hezké příhody z praxe.
První: Nedávno jsem tomu dal upravit reducer pro zobrazování notifikací - v principu pokud přijde víc stejných notifikací, tak se zobrazí jedna a jejich počet. Přes LLM jsem dodělával funkci přidání víc notifikací v jednom callu (batch add). Vypadalo to smysluplně, bylo to hezky pokryté testy, tak jsme to nasadili.
Před pár dny jsem dostal bug z produkce který vypadal, jako že to v nějakých případech nededuplikuje, ale zobrazí víc stejných notifikací. A souviselo to nejspíš s tím, že jich přišlo hodně těsně za sebou.
Spustil jsem tedy Claude a zeptal se ho "Může se někdy stát, že tenhle reducer bude mít ve stavu dvě stejné notifikace?" Sebejistě odpověděl, že se to rozhodně stát nemůže, protože podívej, tady se to kontroluje a pokud je notifikace stejná, tak to jen zvýší čítač.
Hmm, řekl jsem si. Tak zkusíme ten podezřelý případ. A zadal jsem mu doplnit test, kdy zavolá batch add s vícero stejnými notifikacemi. Chvíli na tom dělal a pak prohlásil "Ha, našel jsem chybu, v takovém případě to vygeneruje do výstupu dvě stejné notifikace, protože XY. Mám to opravit, nebo mám upravit test?" Badum tsss.
Druhá příhoda, asi dva měsíce zpátky: Měli jsme funkci, která špatně fungovala přes změnu času. Tak jsem napsal testy na problematické cases a zadal Claude: "Oprav funkci, aby testy procházely." Claude šrotil a šrotil a šrotil a po delší době napsal: "Hm, nějak se mi to nedařilo, tak jsem ti posunul testy mimo problematický rozsah a už to prochází." To bylo minimálně na double facepalm.
A třetí příhoda ještě předtím: Měl jsem skript v bashi, který řešil jakési získávání tokenů a potřeboval jsem ho převést do PowerShellu. Tak jsem to zadal do LLM, výsledek vypadal OK, skript běžel a tvářil se, že funguje. Jenže když jsem ho pak zkoušel používat, tak mi to ten token nebralo. Strávil jsem na tom docela dost času, myslel jsem si, že mám špatně někde nějakou konfiguraci nebo práva (skript jsem nepodezíral)... Nakonec jsem získal oficiální PS verzi toho skriptu a ta fungovala. Ooops.
Za je LLM takový hodně hloupý zato hodně sebevědomý junior, který umí dobře hledat na StackOverflow. Pokud člověk musí čas od času udělat něco jednoduchého v oblasti, které moc nerozumí, tak tam LLM hodně pomůže. Pokud dělá něco, kde na kvalitě zas tak moc nezáleží, třeba různé prototypování, generický formulář nebo jiné generické věci co jsou udělané 1000x (na různá parsovadla logů) tak taky. Ale na něco složitějšího / specifičtějšího je to hodně tricky a ten přínos je tam celkem malý, protože něco to urychlí, ale jinde zase člověka zavede do slepé uličky a nakonec na tom stráví víc času, než když by to dělal sám.