Dar vieno analitiko svetainė

Petras Kudaras

Pastebėjimai išjautus kodą su DI (vibecoding)

Šią savaitę nemažai laiko paskyriau visokiems dirbtinio intelekto įrankiams nagrinėtis. Įsidiegiau Claude Code ir Gemini CLI. Aiškinausi, kaip prijungti prie LLM modelių kitus (savo asmeninių sistemų) duomenų šaltinius. Tyrinėjau agentus.

Pirmas dalykas, kurį parašiau vien tik DI įrankiais buvo nedidelė sistema savo sąskaitų apskaitymui. Sekėsi gana neblogai, problema standartinė (tam tikra CRUD aplikacija su web sąsaja). Kadangi daug norų dėl dizaino neturėjau, tai ir atrodo gana pakenčiamai, savo funkciją atlieka. Kita vertus, po trečio ar ketvirto vakaro atsirado tam tikras programavimo nuovargis ir jau pradėjo lįsti tam tikros techninės skolos: tarkim sugalvojus pakeisti lentelių stilių paaiškėjo, kad joms skirtingose aplikacijos vietose naudojami ne tie patys komponentai – vienur DI ima ir pakeičia, o kitur lieka po senovei. Kuo sistema sudėtingesnė, kuo daugiau ekranų ir puslapių, tuo sunkiau tapo daryti pokyčius. Matyt reikia duoti užduotį viską perrašyti su lengvesnės priežiūros tikslu. Sakyčiau, kad atitinka pradedančiojo programuotojo stilių: pagal dokumentaciją ir pavyzdžius galima greitai suręsti veikiantį prototipą, tik vėliau pradeda lįsti tam tikri dalykai, apie kuriuos jau iš anksto būtų pagalvojęs labiau patyręs programuotojas.

Kitas dalykas, kurį šią savaitę norėjau išsibandyti – protokolas (MCP), per kurį prie DI sistemos galima pajungti kitus įrankius, tarkim leisti DI sistemai pasiekti tavo paties duomenis ir juos įpinti į atsakymą. Kilo mintis pasirašyti paprastą Mastodon MCP, kuris galėtų pasiekti mano Mastodon tinklo įrašus – tarkim jo pagalba galėčiau paklausti, ką mano tinklo draugai kalba apie Nausėdą.

Didžiausia problema, su kuria susidūriau, buvo dokumentacija. Suprantu, kad čia itin nauja technologija, kad viskas nuolat keičiasi, bet dokumentacija bent jau man nebuvo aiški, sakyčiau, jog atrodė, jog ji pati rašyta to paties dirbtinio intelekto ir mažai naudinga. Na, ką darysi, tada tikrai lieka tik vienintelis būdas tikslui pasiekti: liepti pačiam dirbtiniam intelektui parašyti MCP integraciją su Mastodon. Kiek pavargęs, pastenėjęs, keliose vietose išvestas iš akligatvio, tikslą pasiekė: turiu dalyką, kuris kaip ir veikia, bet neturiu žalio supratimo ar gerai. Ar ką išmokau apie MCP ir žinočiau pats kaip sutvarkyti? Gal kiek ir išmokau, bet abejoju ar sutvarkyčiau be DI pagalbos.

Beje, sunkiausias etapas buvo parašytą MCP serverį, kuris veikia per Claude Code CLI priversti veikti per Claude Desktop. Tam, pasirodo, reikia atskirai supakuoto DXT „Desktop Extension“, o kaip jį padaryti – net dirbtiniam intelektui trūko dokumentacijos. Po keletos bandymų kartu išsiaiškinom: bet man pravertė ir žinios apie virtualias pitono aplinkas, ir Apple procesoriaus architektūrų, ir skirtingų .so bibliotekų versijų žinios. Tikėtina, kad šis procesas pagerės, kai bus geriau dokumentuotas. Bent jau tiek, kad tą dokumentaciją galėtų perskaityti DI.

Pokalbis su dirbtiniu intelektu apie tai, ką mano burbule šneka apie Nausėdą
Pokalbis su dirbtiniu intelektu apie tai, ką mano burbule šneka apie Nausėdą

Po šių patirčių susimąsčiau, kad kuo toliau, tuo dokumentacijos kokybė tikriausiai blogės, nes vis tiek jos niekas nebeskaito apart DI. Arba ji taps niekam nebesuprantama, išskyrus DI, gal net atsiras atskira, efektyvesnė nei žmonių, kalba, dirbtiniam intelektui papasakojanti kaip naudotis viena ar kita biblioteka ar technine specifikacija. Tiems, kurie visada nori giliai suprasti, kaip veikia pasaulis, matyt čia ne vieta.

Žymės: