LCD bitmap editor - test AI programování

Software potřebné k práci s elektronikou

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
martinkopp
Příspěvky: 1303
Registrován: 12 říj 2023, 00:00

LCD bitmap editor - test AI programování

#1 Příspěvek od martinkopp »

Momentálně budu dělat hodně bitmap pro asm x51 (proč zrovna asm a x51 prosím neřešit) a protože nemám žádný editor který by generoval data přímo v tomto formátu, napadlo mne zkusit schopnosti současné AI takovou věc vytvořit. A protože myslím že výsledek se nad očekávání povedl, dávám to k dispozici všem zde https://lcdbmpedit.neocities.org/lcdEdit a podělím se o krátké zkušenosti s prací AI, protože to jsem zde taky neviděl.

Volba padla na htm, protože se nemusí nic instalovat, kompilovat apod. celý proces je velice rychlý - jen jeden textový soubor s kodem. Celou věc jsem pojal tak, že z programování v js nebo htm neumím vůbec nic a v kódu jsem ručně skutečně nenapsal ani čárku, takže nějaké dotazy proč jsem řešil tohle takhle nedokážu zodpovědět. Věnoval jsem tomu jedno dopoledne, takže kód jsem vůbec neměl čas zkoumat.

Z AI modelů jsem jako správný kolenovrt testoval jen ty zdarma verze a bral jsem v úvahu GPT, Claude, Gemini a čínský DeepSeek. Pokud máte nekdo dobré zkušenosti s jinými co jsou zdarma, dejte určitě vědět. Jen krátce zkušenosti s jednotivými softwary:
GPT: vcelku dobrý, zdarma verze po nějaké době přepne na nižší model, ale neviděl jsem ve schopnostech znatelné rozdíly. Problém je v tom, že GPT ve velké míře zapomíná, co fungovalo v předešlé verzi už nefunguje po opravě jiné chyby, dělá svévolně změny všude možně i když napíšu ať přidá jen nějakou prkotinu, vypouští a zjednodušuje části kódu apod. Tohle dělá většina modelů, ale u GPT je to v opravdu nepoužitelné míře.

Claude: Z uvedených mi přišel nejschopnější, ale po pár tokenech se úplně vypne s hláškou že bude fungovat za pár hodin, takže pro tohle je nepoužitelný.

DeepSeek: Na programování je naprosto tupý, ale jen v minimální míře vypouští data a zjednodušuje výsledky o podle jeho názoru zbytečnosti. Hodí se na nějaké konverze dat práce s většími tabulkami apod. kde u ostatních modelů zůstane po několika výzvách pár řádků. Tenhle je otrocky ponechává všechny, což je dobré. Ale taky občas udělá chybu ve stylu že z nějakého záhadného důvodu v tabulce se stovkami hodnot překonvertuje 2 špatně (pořád ty samé), takže je třeba vysledek stejně vždy nějak verifikovat.

Gemini: použil jsem tu verzi která je přímo v googlu ve vyhledávacím řádku pod volbou "režim AI". Z uvedených se mi zdála po krátkém testování pro tento účel nejpoužitelnější, takže popíšu práce s tímto softem.

Jak už jsem zmínil, nedával jsem žádné programátorské požadavky, psal jsem jen zednické výzvy ve stylu vytvoř plochu na které budu kreslit, přidej tlačítko co dělá tohle, dej tomu nějaký hezčí a modernější design, tohle funguje blbě - dělá to tohleto a má to dělat támhleto apod. AI vždy vyplivla výsledek který jsem otestoval a buď nechal opravit, nebo pokračoval s něčím jiným. Zpočátku jsem nechal vygenerovat vždy celý htm soubor abych se nemusel srát s nějakým vkládáním, ale když se soubor zvětšil, začal dělat i věci co jsem po něm nechtěl, kód si zjednodušoval, sem tam něco vypustil apod, takže to začalo být trochu kontraproduktivní. Pak začal mít problém s generováním tak velkého textu vůbec a musel jsem ho několikrát žádat aby něco vypotil. Tak jsem přešel na úpravu jednotlivých funkcí apod. s tím, ať přesně řekne kde mám co přidat, smazat nebo nahradit. To už fungovalo u většího souboru mnohem líp, ale byl s tím trochu větší opruz s hledáním a nahrazováním textu. Taky ho bylo třeba neustále upozorňovat ať dělá jen to co jsem mu řekl a do ničeho jiného nezasahuje - měl jsem tu hlášku uloženou a jen jsem ji kopíroval protože se mi ji nechtělo pořád psát :-) pak to vcelku dodržoval. Jak konverzace rostla, model jakoby čím dál víc hloupnul a dělal blbosti. Takže jsem občas konverzaci utnul, nahrál stránku do nové a pokračoval tam. Chatbot sice ztratil nit, takže s mu musel občas zopakovat proč je něco z jeho pohledu nelogicky uděláno (nejlépe je s tím počítat předem aby se to nesnažil opravovat), ale "myšlení" se vždy znatelně zlepšilo. Google po nějaké době konverzaci utne s jakousi nicneříkající hláškou, takže se tomu u větších akcí stejně nevyhnete. Bohužel se mi tam nepodařilo kod nahrát jako soubor a vcelku se do dialogového okna nevejde, takže jsem mu řekl že ho budu nahrávat po částech a ať si ho v hlavě spojí. To fungovalo. Ale možná to bylo jen tím že jsem to dělal bez google účtu, nevim. Při tomto postupu (psaní a opravování kodu po částech) je mu nutné taky neustále připomínat, aby prošel celý kód a našel věci na co by upravovaná funkce mohla mít vliv (nebo aspoň tehdy když bylo pravděpodobné že tam něco takového bude). Sám to většinou neudělá, zvlášť když byla předešlá konverzace useknutá. Po upozornění to ale vždy našel. Například když jsem už u téměř hotového editoru chtěl omezit velikost plátna na nějakou rozumnou hodnotu aby prohlížeč nepadal, udělal to. Ale až po upozornění našel asi dalších 15 míst typu import, schránka apod. kde bylo třeba taky něco upravit aby to fungovalo za všech okolností. Tak jsem mu řekl že se mi nechce a ať to udělá jinak, načež přepracoval danou funci a já to nemusel hledat na tolika místech. Navíc například sám navrhl, že by se kvůli zrychlení chodu mohlo u větších pláten dělat generování výsledného kódu s bitmapou jen na vyžádání tlačítkem (jinak se aktualizuje po každé změně bitmapy). Tak jsem mu řekl ať to provede a to bylo naprosto vše co jsem pro implementaci téhle funkce udělal. Pokud je hrana obrazu větší než 800px, objeví se místo pole s kodem tlačítko s nějakou hláškou kterou si vymyslel a vysledek se vygeneruje až po jeho stisku.

Takže tolik asi v kostce o použití AI na konci roku 2025. Upřímně řečeno, byl jsem i přes mouchy velice mile překvapen schopnostmi. Před pár lety by bylo napsat takovou věc pro mne nemyslitelné a určitě bych kvůli takové hovadině nestudoval do hloubky htm aspol. Jestli tohle za dopoledne vytvoří ručně člověk co se tím živí netuším, ale podle rozsahu kódu bych řekl že by měl hodně co dělat.

Pokud máte nějaké odlišné zkušenosti, něco jsem dělal blbě nebo na to za krátkou dobu co jsem si s tím intenzivně hrál nepřišel, sem s tím. Myslím že to bude zajímat i ostatní.
Uživatelský avatar
bdn
Příspěvky: 560
Registrován: 16 led 2020, 00:00

#2 Příspěvek od bdn »

Díky za sdílení, zajímavé, co je dnes možné za jedno dopoledne...
Uživatelský avatar
samec
Příspěvky: 6669
Registrován: 19 pro 2017, 00:00

#3 Příspěvek od samec »

Nie je jednoduchšie zadať umelej pseudointeligencii, čo chceš mať na obrázku a nech ti to vypľuvne vo formáte pre konkrétny displej, radšej, než to pracne kresliť v nepodarenom editore? :pako:
Uživatelský avatar
martinkopp
Příspěvky: 1303
Registrován: 12 říj 2023, 00:00

#4 Příspěvek od martinkopp »

Je vidět že jsi nic takového pro malý displej nikdy nedělal :-) Většinou tam kreslíš jen nějaké malé symboly apod. a honíš každý pixel. Na fonty velké obrázky apod. jsou mnohem vhodnější nástroje s tím souhlasím, tady si je jen nakopíruju bitmapu a vygeneruju kod. Cílem byla jednoduchost a rychlost práce, proto tu nejsou žádné komplikované funkce které stejně pro tohle nepoužiješ.
Uživatelský avatar
samec
Příspěvky: 6669
Registrován: 19 pro 2017, 00:00

#5 Příspěvek od samec »

Nemal som zatiaľ takú potrebu. Ale ak by som mal, tak to nakreslím v maľovaní, v irfanview uložím do .raw a programčekom v C na 5 riadkov prevediem .raw na .txt s požadovaným formátovaním. :wink:
Uživatelský avatar
martinkopp
Příspěvky: 1303
Registrován: 12 říj 2023, 00:00

#6 Příspěvek od martinkopp »

Jj, tak nějak jsem to dělal doposud. Ale je to pruda s tím neustálým ukládáním a konverzemi. Tady máš mřížku podle jednotlivých bajtů což zjednodušuje následnou komunikaci s řadičem. Když symboly inteligentně rozmístíš, nemusíš z displeje nic vyčítat (u některých to ani není možné takže pak musíš zbytečně držet celý obraz nebo jeho část v RAM) apod. Takže často s něčím jen pošoupáváš sem a tam aby se to na malý displej vlezlo. Prostě je to rychlý jenoúčelový editor pro malé LCD, levou myší kreslíš, pravou gumuješ, žádné překlikávání a komplikované hledání ze stovek funkcí velkých editorů. Na obecné kreslení se určitě nehodí, ale to ani nebyl účel.
Odpovědět

Zpět na „Software“