Vhodna AI na programovanie (pre neprogramatora)

Re:Vhodna AI na programovanie (pre neprogramatora)
« Odpověď #45 kdy: Dnes v 09:41:43 »
Zatím tady nezazněla jedna rovina, která mi po nějakých zkušenostech s používáním LLM při vývoji přijde úplně zásadní.

LLM se z mého pohledu opravdu chová jako juniorní kolega, který poměrně do hloubky zvládá defakto libovolnou (veřejně známou) technologii. To je obrovská výhoda. Ale současně se musí držet na extrémně krátkém provazu. Protože rychle generuje velké množství kódu/změn (některé vynikající, některé dobré, některé špatné), jsou k ní naprosto nezbytné velice kvalitní nástroje pro review a akceptaci změn.

A na toolingu prostě narážím. Jsem zvyklý na velice produktivní prostředí v IntelliJ - udržování zatím nekomitnutých změn v samostatných changesetech a přepínání mezi nimi, snadné přesouvání kódu do shelfů. A především přehledný a snadno ovladatelný diff viewer. Bez toho se vývoj nedá pořádně dělat ani v lidech, natož s "dychtivým" juniorem AI, který diffů k review vygeneruje mraky.

Bohužel integrace IntelliJ integrace s kódovacími modely/postupy AI mi přijde hodně pozadu oproti klasice VSCode + integrovaný Copilot Chat (chápu, MS má obojí). Chat vidí na všechny soubory, čte si je jak model potřebuje, spolupracuje daleko agilněji. Jenže navrhne změny a teď co s nimi. To daleko nejdůležitější - diff viewer - je velice nepřehledný, skoro bych řekl  téměř nepoužitelný. Nemám k dispozici rozhození ucelených změn do changesetů, ani integrované shelfy, abych si změny mohl uložit pro později. Můžu maximálně co nejčastěji komitovat, abych mohl diffovat jen minimální změny (tedy tak poslední odpověď copilotu), to ale vede na zcela nepřehlednou a nic neříkající historii repozitáře, což je úplně stejně špatně. Často to pak končí "peču na to, beru všechno", čímž jde celý projekt do kopru a x hodin vývoje končí revertem a začneme znovu...

Jaké máte s tímto praktické zkušenosti? Nějak mi nejde do hlavy, že/jak by někdo efektivně dlouhodobě používal nástroje VSCodu pro efektivní review výstupu copilotu. To je pro mě největší překážkou opravdu produktivního využívání AI pro vývoj. IMO jeho schopnosti už jsou docela na úrovni, ale dostupné nástroje pro "hlídání na krátkém provazu" jsou velice nedostačující.

Takže nakonec mi produktivnější přijde vygenerovat změny ve webovém prostředí copilotu a kopírovat je ručně přes "diff with clipboard" v IntelliJ. Což je opruz, ale vede na udržitelný vývoj.

Nebo je již nějaká integrace do IntelliJ na úrovni VSCodu, ale s produktivním pohodlím správy změn v IntelliJ? Díky!
« Poslední změna: Dnes v 09:51:22 od redustin »


Re:Vhodna AI na programovanie (pre neprogramatora)
« Odpověď #46 kdy: Dnes v 11:32:19 »
LLM se z mého pohledu opravdu chová jako juniorní kolega, který poměrně do hloubky zvládá defakto libovolnou (veřejně známou) technologii. To je obrovská výhoda. Ale současně se musí držet na extrémně krátkém provazu. Protože rychle generuje velké množství kódu/změn (některé vynikající, některé dobré, některé špatné), jsou k ní naprosto nezbytné velice kvalitní nástroje pro review a akceptaci změn.

Presne toto - "Urobil som úpravy a,b,c ktoré si chcel" "... A ešte som urobil niečo čo si vôbec nechcel, lebo sa mi to tak zdalo lepšie".  Plus cestou ešte niečo aj pokazí a ani o tom nevie

Re:Vhodna AI na programovanie (pre neprogramatora)
« Odpověď #47 kdy: Dnes v 13:08:39 »
Presne toto - "Urobil som úpravy a,b,c ktoré si chcel" "... A ešte som urobil niečo čo si vôbec nechcel, lebo sa mi to tak zdalo lepšie".  Plus cestou ešte niečo aj pokazí a ani o tom nevie

S "přísným" user promptem se mi tohle u webového copilotu už delší dobu téměř nestává. Ale ten "přemýšlící" režim ve VSCode chatu je úplně jiný, ukecaný a utržený z řetězu, který se mi nedaří zkrátit...

Zopper

  • *****
  • 982
    • Zobrazit profil
Re:Vhodna AI na programovanie (pre neprogramatora)
« Odpověď #48 kdy: Dnes v 14:06:05 »
... A ještě horší je to, že ta session od modelů je adaptabilní a přizpůsobivá jenom v rámci session a pokud dojde k přerušení musí se začít znova, a protože se hlavní server se neučí pořádně z komunikace tak při nové session opět opakuje ty samé chybné rady protože neví že jsou nefungují ...

Doporučuje se postupovat tak, že dialogy s AI člověk ukládá do .md souborů v projektu, odkud si většina nástrojů umí brát kontext. AI pak bere ohled na zavrhnuté směry vývoje apod. Někdy je pak naopak problém AI přesvědčit, že otvíráme nové téma nebo novou hypotézu  :D
Jo, tohle je důležitá ingredience té tajné omáčky, kvůli které to některým lidem generuje užitečné věci a jiným to akorát hází klacky pod nohy.

Nebo je již nějaká integrace do IntelliJ na úrovni VSCodu, ale s produktivním pohodlím správy změn v IntelliJ? Díky!

Pro IDEA bych taky velmi rád viděl něco, jako dělá Antigravity - má svůj vlastní diff space, který se plní tím LLM, a ukazuje inline diff, co AI změnila - bez ohledu na to, co je, nebo není commitnuté. A pak můžu selektivně přijmout/odmítnout jednotlivé chunky. Takže commit se dá dělat logicky, kdy potřebuji, a přitom je vidět, jaké změny LLM udělalo a ještě jsi je neapprovnul. Jen to je na začátku lehce matoucí, než si člověk zpracuje ten rozdíl, kdy je kde co vidět v jakém diffu. :-)