Ulijenga zana ya ndani inayoruhusu timu kufanya majaribio 28 ya kitengo (unit tests) kwenye kipengele kinachoendeshwa na LLM bila hata kuitumia API ya modeli hiyo. Ulifanya hivyo kwa kuifunga modeli kwenye interface inayoweza kuigwa (fakeable interface) na kuongeza tabaka tatu za tathmini za uhakika (deterministic), za kimsingi (heuristic), na zinazotegemea LLM.
Maelezo ya kawaida ya uthibitisho (Standard assertions) hufeli mara tu LLM inapozalisha maandishi. Prompt ile ile inaweza kutoa sentensi tofauti katika kila awamu, hivyo assertEqual(output, expected) huashiria hitilafu hata wakati modeli imetenda kwa usahihi. Makundi mengi ya uhandisi ama hupeleka kipengele hicho bila uhakiki wowote au hujaribu kujaribu modeli yenyewe, wakichukulia lengo linalobadilika mara kwa mara kama vile maktaba tuli (static library).
Kwa nini tatizo hili ni muhimu
LLM sasa ziko ndani ya mifumo inayokutana na wateja—mawasiliano ya barua pepe, majibu ya huduma kwa wateja, na uundaji wa maudhui. Ukweli mmoja tu uliotungwa (hallucinated fact) au utambulisho uliovuja unaweza kuharibu sifa ya chapa, kufichua data za siri, au kusababisha ukiukaji wa kanuni za utii (compliance violations). Bila mkakati wa kuaminika wa majaribio, timu hupoteza muda kufuatilia makosa yanayojirudia bila utabiri (flaky failures) au hupeleka hitilafu ambazo hujitokeza tu wakati mfumo unatumika (production).
Mbinu: punguza majukumu ya modeli
Hatua ya kwanza ilikuwa kudhibiti kile ambacho LLM hufanya hasa. Katika mfumo wa mwandishi, modeli huandika tu rasimu za ujumbe wa mawasiliano. Mantiki yote ya uelekezaji (routing logic), usimamizi wa hali (state management), na ukaguzi wa usalama inabaki kwenye kodi ya kawaida. Kwa kuifunga modeli kwenye matokeo mamoja yaliyofafanuliwa vizuri, mfumo unaozunguka unabaki kuwa wa uhakika (deterministic) na unaoweza kufanyiwa majaribio.
Ili kufanikisha hilo, LLM inakaa nyuma ya interface ya mtoa huduma, ikiruhusu toleo la kuigwa (fake version) kutumika katika majaribio. Katika uzalishaji (production), utekelezaji unaita API ya nje; katika seti ya majaribio, fake nyepesi hurudisha jibu lililoandaliwa tayari (canned response). Kwa sababu kodi nyingine zote zinashirikiana na interface pekee, mchakato mzima unaweza kufanyiwa majaribio ya kitengo (unit tests) ambayo hayagusi mtandao kamwe. Matokeo yake ni kiini kinachotabirika ambacho majaribio 28 yanathibitisha.
Mfumo wa tathmini wa uaminifu
Hata kukiwa na wigo uliopunguzwa, matokeo ya modeli yanabaki kuwa yasiyo na uhakika (nondeterministic). Kwa hivyo, mwandishi alijenga mfumo wa tathmini wa tabaka tatu, ambapo kila tabaka linashughulikia aina tofauti ya hatari.
Tabaka la 1 – Ukaguzi wa uhakika (Deterministic checks) Sheria rahisi za kanuni-maelezo (regular-expression) hukamata makosa ya wazi kama vile ID ya jengo iliyo kimakosa au maneno yaliyopigwa marufuku. Ukaguzi huu ni wa haraka na hutoa matokeo ya pass/fail ya moja kwa moja.
Tabaka la 2 – Ukaguzi wa kimsingi (Heuristic checks) Skripti hutafuta namba au tarehe zilizotungwa, zikiashiria uongo wa wazi wa ukweli. Zinakosa madai ya uongo ambayo hayana ishara za namba, na mwandishi anakiri waziwazi ukomo huo.
Tabaka la 3 – Jaji wa LLM Modeli ya pili hutathmini sauti na weledi. Kwa sababu hatua hii inategemea mfumo mwingine wa uwezekano (probabilistic system), inatumiwa tu kwa vipengele vya kiasili (subjective) ambapo sheria za uhakika zingekuwa vigumu kutekeleza.
Siri ya mfumo huu ni seti ya data inayotumiwa kwa ajili ya tathmini. Mwandishi aliweka mifumo inayojulikana ya hitilafu— mitego maalum na maarifa ya nyanja husika—ili mfumo huu upime makosa yale yale ambayo yamejitokeza katika vitendo. Sio "mtandao wa ulinzi wa kila kitu" wa ajabu, bali ni mtandao wa usalama uliolengwa.
Hii inamaanisha nini kwa timu
- Weka kazi ya LLM iwe ndogo. Majukumu machache hufanya utengaji na majaribio kuwa rahisi.
- Weka uelekezaji, hali, na usalama kwenye kodi. Mantiki ya jadi inabaki kuwa ya uhakika na inayoweza kufanyiwa majaribio kikamilifu.
- Wasilisha modeli kupitia interface inayoweza kuigwa. Majaribio ya kitengo hukimbia bila simu za nje, na kuifanya seti ya majaribio kuwa ya haraka na ya kuaminika.
- Tabakisha tathmini zako. Anza na sheria za uhakika, ongeza ukaguzi wa kimsingi kwa ajili ya utungaji wa habari unaojulikana, na weka majaji wa LLM kwa ajili ya ukaguzi wa ubora wa kiasili.
- Eleza mipaka. Hakuna tabaka linalohakikisha ukamilifu; mfumo huu unakamata tu kile unachopangiwa kukitambua waziwazi.
Upande wa pili: bado huwezi kufanya majaribio ya kitengo kwenye modeli yenyewe
Mwandishi anakiri kwamba modeli ni lengo linalobadilika mara kwa mara. Hata tabaka la jaji wa LLM linaurithi ule ule usio na uhakika ambao unajaribu kuutathmini. Kwa sababu hiyo, mfumo hauwezi kamwe kuhakikisha kwamba kila utungaji wa habari au ukiukaji wa sera utakamata kabla ya kuachiliwa. Mbinu hii inapunguza hatari, haiondoi kabisa, na inategemea uwezo wa timu kuweka data ya tathmini kuwa ya kisasa kadiri mifumo mipya ya hitilafu inavyojitokeza.
Hitimisho
Huwezi kuandika jaribio la kitengo (unit test) la kawaida linalothibitisha matokeo kamili ya LLM, lakini unaweza kujenga mfumo ambapo ushawishi wa modeli umewekewa mipaka, interface yake inaweza kubadilishwa, na matokeo yake yanachujwa kupitia ukaguzi wa tabaka mbalimbali na unaoonekana wazi. Mchanganyiko huo unageuza kipengele ambacho kingekuwa kisichotabirika kuwa sehemu inayotabirika ya programu kubwa inayoweza kufanyiwa majaribio.
