Kipande Kinachokosekana katika Mazungumzo ya AI
Kila mtu anazungumzia mawakala wa AI (AI agents). Ukipitia habari yoyote ya teknolojia, utapata maonyesho (demos) makumi yanayoonyesha mfumo wa lugha mkubwa (large language model) akihifadhi safari za ndege, kuandika kodi, au kujibu maswali ya huduma kwa wateja katika mazungumzo moja ya kustaajabisha. Ujumbe wa msingi unaonekana kuwa wazi: ukimunganisha mtumiaji na LLM, miujiza hutokea.
Ule udanganyifu unafanya kazi vizuri kwa onyesho la dakika tano. Unaporomoka mara tu watumiaji halisi, data halisi, na pesa halisi wanapoingia. Katika utendaji wa kawaida (production), uhusiano hauchukui tu Mtumiaji ↔ LLM. Ni Mtumiaji ↔ mfumo tata ambao unajumuisha LLM. Sehemu ya mfumo huo ambayo hakuna anayezungumzia ni harness—mifumo ya usimamizi inayochagua, kuelekeza, kulinda, na kuratibu kila kitu kinachozunguka modeli. Bila hiyo, huna bidhaa. Una mfano wa awali (prototype).
Kwa Nini Mzunguko Rahisi Unavunjika
Onyesho ni mazingira yaliyodhibitiwa. Maswali ni mafupi, muktadha ni mdogo, na hatari ni ndogo. Msanidi programu anafanya wito mmoja wa API, anapata jibu la kuridhisha, na hadhira inashangilia. Lakini utendaji wa kawaida ni mchanganyiko wa mambo mengi. Watumiaji huuliza maswali ya ziada yasiyo na uwazi. API za upande wa tatu zinachelewa (timeout). Modeli iliyozalisha JSON kamili jana ghafla inaanza kutoa markdown. Dirisha la muktadha (context windows) linajaa. Kikomo cha kasi (rate limits) kinaingilia kati wakati mbaya zaidi.
Mzunguko wa kawaida wa prompt-jibu hauna jibu kwa lolote kati ya haya. Haujui ni aina gani ya modeli inapaswa kushughulikia kazi fulani. Haukumbuki kilichotokea zamani kidogo. Hauwezi kujaribu tena wito ulioshindwa, kupunguza maombi wakati gharama zinapopanda, au kusafisha matokeo kabla hayajafika kwenye hifadhidata yako. Haya si matukio ya nadra. Ni sifa kuu za programu za ulimwengu halisi. Kushughulikia haya ndiyo kazi ya harness.
Kile Ambacho Harness Inafanya Hasa
Fikiria harness kama tabaka la uhandisi linalobadilisha modeli ya lugha kutoka kuwa kizalishaji cha maandishi chenye akili kuwa sehemu ya huduma inayotegemeka. Majukumu yake ni ya wazi na hayavutii sana, ndiyo maana yanapuuzwa.
Uteuzi wa modeli kwa kazi inayohusika. Si kila mwingiliano unahitaji modeli ya msingi yenye nguvu zaidi inayopatikana. Baadhi ya kazi zinahitaji uwezo mkubwa wa kufikiri; nyingine zinahitaji kasi na gharama nafuu tu. Harness iliyojengwa vizuri huelekeza maombi kwa akili. Kwa mfano, wakala wa huduma kwa wateja anaweza kutumia modeli ya haraka na isiyo na gharama kubwa kupanga nia ya ujumbe unaoingia—ombi la marejesho dhidi ya swali la usafirishaji. Ikiwa nia hiyo inaashiria mgogoro tata wa sera, harness huongeza nguvu ya kazi hiyo kwa modeli yenye uwezo mkubwa wa kufikiri. Ikiwa mtumiaji anataka tu kiungo cha kufuatilia mzigo, modeli nyepesi hujibu mara moja na gharama zako zinabaki chini.
Kushughulikia mtiririko wa data. Programu halisi hazifanyi kazi peke yake. Wakala wa AI mara nyingi unahitaji kuvuta nyaraka kutoka kwenye hifadhi ya vector (vector store), kuuliza CRM, kusoma shughuli za hivi karibuni za mtumiaji, na kisha kuunganisha yote hayo kuwa jibu lililo wazi. Harness inasimamia upokeaji huo. Inachukua vipande sahihi vya muktadha, inahakikisha vinaingia ndani ya mipaka ya token bila kupoteza uhusiano, inaviweka katika mpangilio kwa ajili ya modeli, na kupitisha matokeo yanayotokana kwenda kwenye mfumo unaofuata katika mnyororo. Bila uratibu huu, modeli ama itakosa muktadha au itazidiwa na kelele.
Kusimamia makosa. LLM hukosea kwa njia ambazo huduma za kawaida hazifanyi. Zinazalisha matokeo yaliyopangwa vibaya (hallucinate structured outputs). Zinatoa majibu matupu. Zinakiuka maelekezo ya uundaji (formatting) mara tu toleo la modeli linalotumika linabadilika kidogo. Harness inachukulia kushindwa huku kama tabia inayotarajiwa badala ya mambo ya kushangaza. Inathibitisha miundo (schemas), inakamata majibu yaliyoharibika, inatumia mantiki ya kujaribu tena (retry logic) kwa hatua za kuongezeka, na kurudi kwenye mtoa huduma mwingine au matokeo yaliyohifadhiwa (cached) wakati kiunganishi kikuu kinapokwama. Ikiwa kila kitu kitashindwa, inampelekea mwanadamu badala ya kumpa mteja anayelipa maelezo yasiyo na maana kimyakimya.
Kuhakikisha uaminifu wa mfumo. Utendaji wa kawaida unamaanisha watumiaji wengi kwa wakati mmoja, mipaka ya gharama, na ucheleweshaji usiotabirika. Harness inasimamia mipaka ya kasi (rate limits), inasimamia mrundikano wa miunganisho (connection pooling), na kutumia mifumo ya kukata mawasiliano (circuit breakers) ili mtoa huduma mmoja wa modeli asizuie programu yako nzima. Inarekodi kila mwingiliano ili uweze kufuatilia kwa nini kikao fulani kilivurugika, na inatunza matoleo ya maelekezo yako (prompts) ili uwekaji programu usibadilishe kwa bahati mbaya haiba ya wakala wako bila kumbukumbu za ukaguzi.
Modeli Ile Ile, Matokeo Tofauti Kabisa
Hii inaelezea jambo ambalo linawachanganya timu nyingi za bidhaa. Kampuni mbili zinaweza kuanza na modeli ile ile ya msingi (foundation model)—uzito ule ule (same weights), dirisha lile lile la muktadha (same context window), na kikomo kile kile cha mafunzo (same training cutoff)—lakini zikatoa uzoefu ambao unaonekana kuwa tofauti kabisa. Moja inahisi kama ni dhaifu, polepole, na inasahau kwa namna ya ajabu. Nyingine inahisi ni ya haraka, thabiti, na inayoweza kuaminika.
Tofauti haitokani na modeli yenyewe kamwe. Ni mfumo uliouzunguka. Timu moja ilichukulia modeli kama bidhaa nzima. Timu nyingine ilichukulia kama sehemu moja ndani ya usanifu uliodhibitiwa. Mfumo huo wa udhibiti (harness) ndipo nidhamu hiyo ilipo.
Mabadiliko kutoka kwa Prompt kuelekea Usanifu (Architecture)
Maendeleo ya mapema ya AI yalizingatia sana prompt engineering. Kubadilisha maneno, kuongeza mifano, na kuweka maelekezo ya kuigiza nafasi fulani (role-play) kunaweza kuboresha sana ubora wa matokeo. Ujuzi huo bado ni muhimu, lakini umefikia hatua ambapo faida zake zinapungua kama kinga ya ushindani (competitive moat). Huwezi kutumia prompt kutatua tatizo la kukosekana kwa sera ya kujaribu tena (retry policy) au mtiririko wa data uliovurugika unaovuja muktadha wa faragha kwenye majibu yanayoonekana hadharani.
Mabadiliko halisi yanayotokea sasa hivi ni kuelekea kwenye usanifu wa programu (software architecture). Wahandisi wanadesign state machines, wanaweka mipaka madhubuti (strict interfaces) kati ya tabaka la modeli na mantiki ya programu, na kuchukulia kutokuwa na uhakika wa matokeo (non-determinism) kama jambo la msingi la kihandisi. Wanajiuliza maswali ya mifumo iliyosambazwa (distributed systems): Je, hali (state) inahifadhiwa vipi katika mazungumzo ya pande nyingi? Nini kinatokea wakati kifaa cha chini (downstream tool) hakipatikani? Tunafanyaje majaribio ya mfumo ambao sehemu yake kuu inategemea uwezekano (probabilistic)? Haya ndiyo maswali yanayotofautisha kifaa cha kuchezea na kifaa cha kazi.
Kujenga kwa ajili ya Uzalishaji: Uangalizi (Observability) na Uratibu (Orchestration)
Ikiwa unamaanisha kutoa bidhaa sokoni, mfumo huo (harness) unahitaji sifa mbili zaidi ya zote: observability na orchestration.
Observability inamaanisha unaweza kuona kile ambacho modeli ilipokea, kile ilichorudisha, na ni muda gani kila hatua ilichukua. Inamaanisha kufuatilia mzunguko wa maamuzi ya agent kupitia miito kumi na minne ya kifaa (tool calls) na kubaini mahali halisi ambapo ilianza kurudia mzunguko au kupotea kwenye lengo. Bila uwezo huo wa kuona, kurekebisha mfumo wa AI ni kama kutengeneza injini ya gari gizani.
Orchestration inamaanisha mantiki yako ya biashara (business logic) inabaki tofauti na tabaka lako la mwingiliano wa modeli. Inamaanisha kutoa matoleo ya prompts (versioning prompts) kama unavyotoa matoleo ya kodi, ili uwekaji mpya wa programu usibadilishe tabia bila kutarajia. Inamaanisha kufanya majaribio ya makusudi ya hali za hitilafu—kukatisha API katikati ya ombi, kuingiza matokeo mabaya ya kifaa, kuiga ujaa wa dirisha la muktadha (context window overflow)—ili kuona kama mfumo huo (harness) unaweza kuuweka mfumo katika hali thabiti. Mifumo (frameworks) inakuja na kuondoka, na iwe unatumia maktaba ya orchestration iliyotengenezwa tayari au unajijengea yako, nidhamu ni muhimu zaidi kuliko jina la chapa.
Funzo Halisi
Modeli za msingi (Foundation models) zitaendelea kuboreka. Zitakuwa za haraka zaidi, za bei nafuu zaidi, na zenye uwezo zaidi. Lakini injini yenye nguvu zaidi haitengenezi fremu (chassis) iliyovunjika. Timu zitakazoshinda katika miaka michache ijayo hazitakuwa zile zenye ufikiaji wa modeli za kisasa zaidi. Zitakuwa zile zilizoijenga harness ambayo ni ya kuaminika, inayoweza kuangaliwa (observable), na iliyoratibiwa vizuri. Zitabadilisha modeli bila kuandika upya programu zao. Zitadhibiti gharama kwa sababu harness inatawala kila token. Watasikia usingizi vizuri usiku kwa sababu mifumo yao inashughulikia hitilafu kwa utulivu.
Acha kuzama sana kwenye modeli pekee yake. Anza kuzama kwenye mfumo unaoiongoza. Wakati ujao ni wa wahandisi wanaojenga mifumo janja zaidi inayozunguka modeli janja.
Makala haya yanatokana na mawazo yaliyojadiliwa awali na Abdulaziz Zos katika "Beyond The Model".
Kwa majadiliano zaidi kuhusu uhandisi wa AI na usanifu wa mifumo, tembelea jamii ya kujifunza ya GyaanSetu.
