Kuandika Msimbo wa Vibe
Kuandika Msimbo wa Vibe ni Nini?
Kuandika msimbo wa Vibe ni mbinu ya upangaji programu inayotegemea AI iliyotambulishwa na Andrej Karpathy mwaka 2024/2025. Kwa kuandika msimbo wa vibe, unafafanua unachotaka kwa maelezo ya kawaida ya lugha na kawaida modeli kubwa za lugha (LLMs) huzalisha sehemu kubwa, mara nyingi msimbo mzima unaofanya kazi kwako. Ikiwa una muda, angalia Sanaa ya Kuandika Msimbo wa Vibe iliyorekebishwa na Rick Rubin ili kujifunza zaidi kuhusu njia ya kuandika msimbo wa vibe.
Faida moja kubwa ya mbinu hii mpya ni upatikanaji kwa sababu watu wasio na uzoefu wa kuandika msimbo wanaweza kujenga miradi wakati waendelezaji walio na uzoefu wanaweza kwa haraka kutia jalada mawazo mapya kabla ya kujitolea kikamilifu. Hii ni msaada hasa kwa kuanzisha kampuni ndogo. Hasara ni kwamba waendelezaji huenda hawataelewa kikamilifu jinsi msimbo uliotengenezwa unavyofanya kazi. Kwa miradi midogo ya pembeni, hiki ni sawa, lakini kwa programu za kiwango cha uzalishaji inaweza kusababisha matatizo ya muda mrefu na deni la kiteknolojia.
Kuna zana nyingi nje ambazo zinafanya kuandika msimbo wa vibe kuwa laini. Cursor IDE, Claude Code CLI, GitHub Copilot, Loveable, Replit, v0, na nyingine zinakuwezesha kufanya kazi na AI moja kwa moja katika mazingira yako au kutoa kiolesura maalum kwa kuandika msimbo wa vibe. Binafsi, nilikuwa nikitumia zaidi Cursor IDE na Claude Code CLI kwa miradi hii.
Hata hivyo, jambo moja. Zana na modeli hizi zinagharimu pesa. Kwa kuandika msimbo kwa njia ya jadi, kwa ujumla unalipa kwa muda wako. Kwa kuandika msimbo wa vibe, unalipa kwa mkoba wako. Na ikiwa hujui unachofanya, unalipa kwa mkoba wako na wakati wako. Kila moja ya miradi kwenye ukurasa huu inagharimu takriban $10 hadi $20 kujenga. Hiyo inajikusanya ikiwa unajaribu mara nyingi. Ninaamini kuwa kadri modeli hizi zinavyoimarika na kuwa bora kwa ufanisi, gharama itashuka hatimaye. Kwa sasa, ni jambo linalostahili kuzingatiwa unapofanya uamuzi kama kuandika msimbo wa vibe kunaeleweka kwa mradi wako.
Nikiwa na hamu ya kuona kile kinachowezekana, nilijaribu kuandika msimbo wa vibe mwenyewe na nikaunda ukurasa huu kuchunguza kanuni yenyewe kupitia miradi halisi. Sio tu ninajenga bidhaa, ninajaribu na kuonyesha kile kuandika msimbo wa vibe kina uwezo wa kufanya. Hii ni kwa kufurahisha tu, lakini inatoa mtazamo wa jinsi kuandika msimbo kunaweza kuonekana katika siku zijazo kadri modeli hizi zinavyoendelea kuboreshwa.
Nadharia ya Nyani Isiyo na Mwisho
Umesikia kuhusu Nadharia ya Nyani Isiyo na Mwisho? Ni jaribio la kifalsafa linalosema kuwa ikiwa utamwambia nyani zisizo na mwisho mashine za kuchapa zisizo na mwisho na muda usio na kikomo, hatimaye mmoja wao atazalisha kazi kamili za Shakespeare kwa kubonyeza kwa bahati vitufe vya mashine ya kuchapa.
Inasikika ya kijinga, sivyo? Lakini hapa ni sehemu ya kushangaza. Kuandika msimbo wa vibe ni kama hiyo, isipokuwa badala ya nyani tunakuwa na modeli za AI, badala ya mashine za kuchapa tunakuwa na lugha za programu, na badala ya Shakespeare tunapata programu zinazofanya kazi.
Fikiria kuhusu hilo. Modeli kubwa za lugha zimefunzwa kwa mabilioni ya mistari ya msimbo, mifumo, na mifano. Unapompa LLM ombi, siyo kwamba inafikiri tatizo lako hatua kwa hatua kama msanidi programu wa kibinadamu. Badala yake, inatabiri token inayofuata inayowezekana zaidi kulingana na mifumo iliyoijifunza wakati wa mafunzo. Kwa msingi huo, inafanya makisia yenye msingi kwa kuzalisha msimbo kulingana na kile kinachoonekana kuwa sahihi kwa takwimu.
Na kwa ajabu, mara nyingi, inafanya kazi. Modeli hutoka na msimbo ambao kweli unasanidika, unatumika, na unatatua tatizo lako. Sio kupitia uelewa, bali kupitia kulinganisha mifumo kwa uwiano mkubwa wa takwimu. Ni kama kizalishaji cha maandishi kisicho na mpangilio kinachoweza kuwa na busara zaidi duniani kimepata jibu “sahihi”. Lakini hapa, tofauti iko kwenye kasi. Nyani hizo zingehitaji ukomo halisi. AI yako? Inafika huko kwa sekunde au dakika.
Kwa hivyo kwa njia fulani, unapotumia kuandika msimbo wa vibe, unatumia mabilioni ya mistari ya mifumo ya msimbo, iliyochanganywa katika modeli, kuzalisha suluhisho. Si ufumbuzi wa tatizo kwa kujifunza, ni uchawi wa takwimu. Na hilo ndilo hasa sababu ni nguvu sana na, naam, kwa dhati, kwa nini kuelewa kile msimbo unafanya bado ni muhimu.
Swali Ni Muhimu Zaidi Kuliko Jibu
Hapa kuna jambo muhimu ambalo mara nyingi halizingatiwi. Kuandika msimbo wa vibe si kupata jibu lolote tu, ni kueleza swali sahihi. Fikiria kuhusu kompyuta kubwa ya Deep Thought kutoka kwa The Hitchhiker’s Guide to the Galaxy. Ilitumia mamilioni ya miaka kukokotoa jibu la swali kuu kuhusu maisha, ulimwengu, na kila kitu, na hatimaye kukupa nambari 42. Jibu lilikuwa kiufundi sahihi, lakini halikuwa na maana kwa sababu tatizo halikuwahi kuwa kujua jibu; lilikuwa kujua swali la kuuliza.
Kuandika msimbo wa vibe hufanya kazi kwa njia ile ile. Maelezo yako (prompts) ni kila kitu, lakini pia ni usimamizi wa muktadha. Ombi lisilo wazi litakupa msimbo usio wazi, na ikiwa hautatoa faili sahihi, nyaraka, au mifano kama muktadha, modeli haitaelewa kile unachohitaji kweli. Ikiwa wewe ni mtu anayeelewa kuandika msimbo, usanifu, na muundo wa mifumo, unaweza kuunda maelezo ya kina na kuchuja muktadha sahihi kuiongoza LLM kuelekea suluhisho bora. Lakini ikiwa hujui unachotaka kuomba au muktadha gani wa toa, AI haitajua pia.
Hii ndiyo sababu kuandika msimbo wa vibe ni nguvu kwa waendelezaji walio na uzoefu. Tunajua msimbo mzuri unaonekana vipi, tunaelewa vikwazo, na tunaweza kuandika maelezo yanayopeleka modeli mbali na makosa hayo. Kwa wanaoanza bila msingi wa kiufundi, hili linakuwa kikomo halisi. Unaweza kupata msimbo unaofanya kazi, lakini bila kuelewa kilichokwenda vibaya au unachotakiwa kuomba kifuatacho, umekwama.
Wakati Kuandika Msimbo wa Vibe Hakutoshi
Modeli za AI za hivi karibuni ni za kuvutia, lakini sio suluhisho la dhahabu. Kuandika msimbo wa vibe kinaweza kufanya kazi katika uzalishaji, lakini tu kama unachukua kwa uzito. Unahitaji vipimo vya unit thabiti. Unahitaji vyanzo vya ukweli vilivyo wazi vinavyoelezea nini mfumo wako unapaswa kufanya. Unahitaji kugundua wakati vitu vinavunjika au vinaporomoka. Na unahitaji mtazamo wa mtembeaji wa hack. Fikiria nje ya sanduku na jaribu kuvunja mradi wako uliotengenezwa kwa vibe kwa njia zisizotarajiwa. Ni kesi za mwisho gani husemwa? Ni udhaifu gani wa usalama mtu anaweza kutumia? Hili ndilo linatofautisha msimbo unaofanya kazi kwa sasa na msimbo ambao kwa kweli ni thabiti.
Hata hivyo, jambo moja. AI haikumuliki wewe. Wewe ndiyo mwenye AI. Usikubali tu kile inazalisha. Kagua. Pitia vipimo. Vunja. Na kwa dhati, kwa sehemu fulani za msimbo wako, utahitaji kurudi kwenye kuandika msimbo kwa njia ya zamani. Jitayarishe, fikiria kwa undani, uuiweke mwenyewe. Kuandika msimbo wa vibe huharakisha mambo, lakini si mbadala wa programu halisi wakati inahitaji umuhimu.
Kuna jambo jingine nilolojifunza. Wakati mwingine unahitaji tu kumaliza kikao na AI na kuanza kipya. Kadri historia ya mazungumzo inavyoongezeka, utendaji wa modeli huporomoka. Inafanya makosa mengi, inazalisha msimbo usio na muhtasari, na huanza kuonesha hadithi zisizo za kweli mara kwa mara. Ikiwa hautagundua hili na kuacha, makosa haya yanajikusanya, yakifanya mambo kuwa mabaya zaidi kwa taratibu. Ni kama kujaribu kusoma hati ambayo imekopiwa mara kwa mara. Kuanzia upya kunahoji mambo safi na makali.
Miradi Iliyotengenezwa kwa Vibe
Hapa chini kuna miradi miwili, stairs (repo) na transcendental (repo), niliyoiunda nikitumia mbinu ya kuandika msimbo wa vibe. Vingi viliundwa kutokana na maelezo, na kazi ya mkono ilipunguzwa kwa kutoa muktadha, kutatua hitilafu, na kuweka kwenye GitHub Pages. Ni majaribio ya tovuti za kimstari zinazofurahisha ambayo yanaonyesha kile kinachowezekana unapochanganya mawazo ya ubunifu na msimbo kupitia kuandika msimbo wa vibe. Zote zinahifadhiwa kwenye GitHub.