N+1, Kutokuwepo kwa Pagination, SQL Injection: AI Haikutatua Hata Moja Kati ya Hizi
Hoja ya msanidi programu dhidi ya AI FOMO inatua kwenye hitilafu tatu za miongo mingi ambazo msimbo unaozalishwa na AI huzirudia kwa kasi kuliko mtu yeyote anavyoweza kuupitia.
Makala iliyotaja jambo ambalo kila mtu analihisi
Tarehe 28 Septemba, makala ya DEV.to yenye kichwa "Dear Coder: Open This If You're Feeling AI FOMO" ilitoa hoja ndogo isiyopendwa na wengi: mwandishi huruka mafunzo mengi ya kila wiki kuhusu MCP, agents na loop engineering, na badala yake hutumia muda huo kwenye matatizo mawili: jinsi ya kutumia AI bila kupoteza ujuzi uliopo, na jinsi ya kutambua matatizo ambayo AI huleta. Ushahidi wake ulikuwa hitilafu tatu, si mifumo mitatu (frameworks). Misimbo mingi bado ina matatizo ya N+1, kutokuwepo kwa pagination (ugawaji wa data katika kurasa) na SQL injection, anaandika mwandishi. Sehemu kubwa ya msimbo huo iliandikwa kabla ya kelele za AI. "Sasa fikiria vurugu zilizo ndani ya misimbo ya vibe-coded."
Wachangiaji wanne wa maoni waliunga mkono, kuanzia mhadhiri wa chuo kikuu nchini Hispania ambaye amefundisha programu tangu 1998 hadi mhandisi wa front-end huko Accra na msanidi aliyejifunza mwenyewe huko Virginia. Makubaliano hayo ndiyo sehemu ya kuvutia, kwa sababu wanne hao hawakubaliani kuhusu AI hata kidogo, bali wanakubaliana tu kuhusu kinachotokea chini yake.
Hitilafu hizo tatu ni nini hasa
Hizi si hitilafu za ajabu. Ni zile za kawaida zinazonusurika kila mzunguko wa teknolojia.
Tatizo la N+1 ni mtindo wa kufikia hifadhidata: msimbo wako huendesha swali moja kuleta orodha ya rekodi mia moja, kisha huendesha swali jingine moja kwa kila rekodi ili kujaza maelezo. Safu mia moja huwa safari mia moja na moja kwenda kwenye hifadhidata. Hufanya kazi vizuri kwenye kompyuta ya msanidi yenye safu kumi za majaribio, lakini huanguka katika mazingira halisi ya uzalishaji (production).
Kutokuwepo kwa pagination ni kushindwa kule kule kwa ukubwa, lakini kwenye ngazi ya API: sehemu ya kuingilia (endpoint) hurudisha jedwali zima badala ya ukurasa mmoja wake. Ni ya haraka ikiwa na safu elfu moja, lakini ni janga ikiwa na safu milioni moja.
SQL injection ndiyo kongwe kuliko zote tatu. Maingizo ya mtumiaji hubandikwa moja kwa moja ndani ya swali la hifadhidata badala ya kupitishwa kama kigezo (parameter), hivyo mtu yeyote anayeandika herufi sahihi kwenye sehemu ya fomu anaweza kuendesha amri zake mwenyewe dhidi ya data yako. Limekuwa tatizo lililotatuliwa, kwa maana kwamba suluhisho lake linajulikana vizuri na linahitaji mstari mmoja tu, kwa muda mrefu kuliko taaluma za wasanidi wengi wanaofanya kazi sasa.
Kwa nini msimbo uliozalishwa huzirudia badala ya kuziondoa
Mchangiaji kutoka Chuo Kikuu cha Vigo alieleza utaratibu huo waziwazi: ikiwa AI inachanganya kila kitu ambacho kila mtu ameandika zamani, matokeo hayawezi kuwa chochote ila mchanganyiko wa hovyo hadi vyanzo vya mafunzo vichaguliwe kwa umakini. Mifumo hujifunza kutoka kwenye mkusanyiko uliopo, na mkusanyiko huo ni ule ule wa msimbo wenye kila swali lisilo na vigezo na kila endpoint isiyo na pagination iliyowahi kutolewa. Hakuna kitu kwenye hatua ya uzalishaji kinachotofautisha mtindo wa kawaida na ule sahihi.
Nusu ya pili ya utaratibu huo ni kasi ya uzalishaji. Kama Mika Flowers alivyosema kwenye maoni, AI inaweza kuzalisha utekelezaji kwa kasi ya ajabu, lakini binadamu bado anapaswa kuelewa usanifu, kutambua kitu kinapokuwa kibaya, kukijaribu, kukirekebisha, na kuamua kama suluhisho lina maana kabisa. Uzalishaji uliongezeka kasi. Mapitio hayakuongezeka. "Vibe-coded" ni neno linalotumika kwa kinachotokea hatua ya pili inaporukwa: msimbo unakubaliwa kwa sababu ulifanya kazi, si kwa sababu mtu aliusoma.
Ndiyo maana wachangiaji wanakubaliana kwenye msimamo ule ule kutoka pande tofauti. Blaise Akpalu anahoji kuwa misingi ni muhimu zaidi AI ikiwa kwenye mzunguko wa kazi, hasa kwa sababu lazima utathmini na kuthibitisha inachozalisha, huku akiendelea kusukuma mtiririko wa kazi wa agentic ambapo mfumo hushughulikia utekelezaji na msanidi hubaki na usanifu, muktadha na uthibitishaji. Mpangilio wa makala ya asili ni wa moja kwa moja zaidi: jenga ujuzi halisi kwanza, kisha tumia AI, kwa mfuatano huo.
Maswali Unayopaswa Kujiuliza
- Kuhusu timu yako mwenyewe: msimbo uliozalishwa unapounganishwa (merge), ni nani aliyeusoma mstari kwa mstari, na je, anaweza kutaja hitilafu ambayo ungekumbana nayo mzigo ukiongezeka mara kumi ya sasa?
- Kuhusu muuzaji yeyote anayeuza agent: chombo hicho hufanya nini kuhusu hitilafu hizo tatu za kawaida, je, huzigundua, au huzalisha tu msimbo unaofanya kazi?
- Kuhusu mchakato wako wa kuajiri: ikiwa misingi ni muhimu zaidi sasa, ni nini kwenye usaili wako kinachojaribu misingi hiyo badala ya kujaribu ufasaha wa prompt (maelekezo kwa AI)?
- Kuhusu FOMO yenyewe: ni ipi kati ya vifupisho vya mwezi huu iliyobadilisha uamuzi uliofanya, na ipi uliisoma kisha hukuitumia kamwe?
- Kuhusu msimbo wako: je, unajua una endpoints ngapi zisizo na pagination unazozitoa sasa hivi, au unakisia tu?
Cha Kufuatilia Baadaye
Fuatilia kama uwezo wa kufanya mapitio unakuwa kitu ambacho timu zinakipima. Hoja ya makala hii inasimama tu ikiwa msimbo uliozalishwa ambao haujapitiwa unasababisha matukio kwa kiwango ambacho watu wanakiona. Ishara itakuwa ni kukatika kwa huduma au uvunjaji wa usalama wa kwanza ulioripotiwa kwa wingi na kufuatiliwa si hadi hitilafu mpya ya AI, bali hadi swali la N+1 au mfuatano wa maandishi wa SQL ambao hakuna aliyeusoma kabla ya kuunganishwa. Hadi hapo, "chagua vita vyako" inabaki kuwa ushauri wa gharama nafuu zaidi unaotolewa.
- 1Ongeza ukaguzi wa CI unaofanya ujenzi (build) ushindwe pale unapogundua SQL ya maandishi yaliyounganishwa moja kwa moja na maswali yasiyo na vigezo, ili msimbo uliozalishwa na AI usipitishe kasoro za injection kwenye mapitio.
- 2Rekodi idadi ya maswali kwa kila ombi kwenye staging na toa tahadhari endpoint moja inaporusha maswali zaidi ya takriban 10, jambo linalofichua mizunguko ya N+1 ambayo zana za AI huizalisha kwa urahisi.
- 3Fanya pagination kuwa chaguo-msingi kwenye mkataba wako wa API: hitaji vigezo vya limit/offset au cursor na weka kikomo cha ukubwa wa ukurasa upande wa seva, bila kuamini endpoints za orodha zilizozalishwa.
Ready to implement AI in your business?
Our team builds the AI systems you just read about. Start with a free 30-minute discovery meeting.
