(Bonyeza picha hapo juu kutazama video ya somo hili)
Kuelewa ugumu wa programu unayojenga wakala wa AI ni muhimu kwa kutengeneza mmoja anayeaminika. Tunahitaji kujenga Wakala wa AI ambao husimamia taarifa kwa ufanisi ili kutatua mahitaji magumu zaidi ya uhandisi wa maagizo.
Katika somo hili, tutaangalia ni nini uhandisi wa muktadha ulivyo na jukumu lake katika ujenzi wa wakala wa AI.
Somo hili litashughulikia:
• Uhandisi wa Muktadha ni Nini na kwa nini ni tofauti na uhandisi wa maagizo.
• Mikakati ya Uhandisi wa Muktadha Inayofaa, ikiwa ni pamoja na jinsi ya kuandika, kuchagua, kukandamiza, na kutenganisha taarifa.
• Makosa ya Muktadha Yanayojirudia ambayo yanaweza kuathiri wakala wa AI na jinsi ya kuyarekebisha.
Baada ya kumaliza somo hili, utajua na kuelewa jinsi ya:
• Kufafanua uhandisi wa muktadha na kuutofautisha na uhandisi wa maagizo.
• Kubaini vipengele kuu vya muktadha katika matumizi ya Modeli Kubwa za Lugha (LLM).
• Kutumia mikakati ya kuandika, kuchagua, kukandamiza, na kutenganisha muktadha ili kuboresha utendaji wa wakala.
• Kutambua makosa ya kawaida ya muktadha kama vile kuathiriwa, kutawazwa, kuchanganyikiwa, na mizozo, na kutekeleza mbinu za kuzuia.
Kwa Wakala wa AI, muktadha ni kile kinachoendesha upangaji wa wakala wa AI kuchukua hatua fulani. Uhandisi wa Muktadha ni mazoezi ya kuhakikisha wakala wa AI ana taarifa sahihi za kumalizia hatua inayofuata ya kazi. Dirisha la muktadha lina ukubwa mdogo, hivyo kama waundaji wa wakala tunahitaji kujenga mfumo na michakato ya kusimamia kuongeza, kuondoa, na kupunguza taarifa ndani ya dirisha la muktadha.
Uhandisi wa maagizo unazingatia seti moja ya maagizo ya kudumu kuongoza Wakala wa AI kwa seti ya kanuni. Uhandisi wa muktadha ni jinsi ya kusimamia seti ya taarifa zinazobadilika, ikiwa ni pamoja na maelekezo ya awali, kuhakikisha wakala wa AI ana vile anavyohitaji kwa muda mrefu. Wazo kuu la uhandisi wa muktadha ni kufanya mchakato huu uwe wa kurudiwa na wa kuaminika.
Ni muhimu kukumbuka kuwa muktadha si kitu kimoja tu. Taarifa zinazohitajika na wakala wa AI zinaweza kutoka kwa vyanzo mbalimbali na ni jukumu letu kuhakikisha wakala anapata ufikiaji wa vyanzo hivi:
Aina za muktadha ambazo wakala wa AI anaweza kuhitaji kusimamia ni pamoja na:
• Maagizo: Hizi ni kama “kanuni” za wakala – maagizo, ujumbe wa mfumo, mifano michache (kuonyesha AI jinsi ya kufanya kitu), na maelezo ya zana anazoweza kutumia. Hapa ndipo mkazo wa uhandisi wa maagizo unajiunga na uhandisi wa muktadha.
• Maarifa: Hii inahusisha ukweli, taarifa zilizopatikana kutoka kwa hifadhidata, au kumbukumbu ndefu ambazo wakala ameziunda. Hii ni pamoja na kuingiza mfumo wa Retrieval Augmented Generation (RAG) ikiwa wakala anahitaji kupata ufikiaji wa hazina mbalimbali za maarifa na hifadhidata.
• Zana: Hizi ni ufafanuzi wa kazi za nje, API na MCP Servers ambazo wakala anaweza kuitumia, pamoja na mrejesho (matokeo) anayopata kutoka kwa matumizi yake.
• Historia ya Mazungumzo: Mazungumzo yanayoendelea na mtumiaji. Kadri muda unavyopita, mazungumzo haya huongezeka kwa urefu na ugumu, hivyo kuchukua nafasi ndani ya dirisha la muktadha.
• Upendeleo wa Mtumiaji: Taarifa zilizojifunzwa kuhusu vitu anavyovipenda au visivyovipenda mtumiaji kwa muda. Hizi zinaweza kuhifadhiwa na kuitwa wakati wa kufanya maamuzi muhimu kusaidia mtumiaji.
Uhandisi mzuri wa muktadha huanza na upangaji mzuri. Huu ni mbinu itakayokusaidia kuanza kufikiria jinsi ya kutumia dhana ya uhandisi wa muktadha:
Kupanga ni muhimu lakini mara tu taarifa zinapoanza kuingia kwenye dirisha la muktadha wa wakala wetu, tunahitaji mikakati ya kivitendo kusimamia:
Wakati baadhi ya taarifa zitaongezwa kiotomatiki kwenye dirisha la muktadha, uhandisi wa muktadha unahusu kuchukua jukumu la moja kwa moja la taarifa hizi ambalo linaweza kufanywa kwa mikakati kadhaa:
Karatasi ya Maandishi ya Wakala Hii inaruhusu Wakala wa AI kuandika maelezo muhimu kuhusu kazi za sasa na mwingiliano na mtumiaji katika kikao kimoja. Hii inapaswa kuwepo nje ya dirisha la muktadha katika faili au kipengee cha runtime ambacho wakala anaweza kukirejesha baadaye wakati wa kikao hiki ikiwa itahitajika.
Kumbukumbu Karatasi za maandishi ni nzuri kusimamia taarifa nje ya dirisha la muktadha wa kikao kimoja. Kumbukumbu zinawawezesha wakala kuhifadhi na kurejesha taarifa muhimu katika vikao vingi. Hii inaweza kujumuisha muhtasari, upendeleo wa mtumiaji na mrejesho kwa maboresho ya baadaye.
Kukandamiza Muktadha Mara dirisha la muktadha linapokua na kufikia kikomo chake, mbinu kama muhtasari na kukata zinaweza kutumika. Hii ni pamoja na kuweka tu taarifa muhimu zaidi au kuondoa ujumbe wa zamani.
Mifumo ya Wakala Wengi Kuendeleza mifumo ya wakala wengi ni sehemu ya uhandisi wa muktadha kwani kila wakala ana dirisha lake la muktadha. Jinsi muktadha huo unavyo gawanywa na kupelekwa kwa wakala tofauti ni jambo jingine la kupanga wakati wa kujenga mifumo hii.
Mazingira ya Sandbox Ikiwa wakala anahitaji kuendesha baadhi ya msimbo au kushughulikia kiasi kikubwa cha taarifa kwenye hati, hii inaweza kutumia tokeni nyingi kusindika matokeo. Badala ya kuhifadhi haya yote kwenye dirisha la muktadha, wakala anaweza kutumia mazingira ya sandbox yanayoweza kuendesha msimbo huu na kusoma tu matokeo na taarifa nyingine zinazohusiana.
Viwango vya Hali ya Runtime Hili hufanyika kwa kuunda mifuko ya taarifa kusimamia hali ambapo Wakala anahitaji kupata taarifa fulani. Kwa kazi ngumu, hii itawezesha Wakala kuhifadhi matokeo ya kila hatua ndogo, kuruhusu muktadha kubaki umeunganishwa tu kwa kazi ndogo ile ile.
Baada ya kutumia mojawapo ya mikakati hii, inafaa kuangalia kilichopokelewa kwenye simu ya mfano inayofuata. Swali bora la urekebishaji hitilafu ni:
Je, wakala alikuwa na muktadha mwingi mno, muktadha usio sahihi, au kukosa muktadha aliyehitaji?
Huhitaji kuhifadhi maagizo ya asili, matokeo ya zana, au yaliyomo ya kumbukumbu kujibu swali hilo. Katika uzalishaji, chagua rekodi ndogo za ukaguzi wa muktadha zinazoweka hesabu, vitambulisho, hashi, na lebo za sera:
Lengo sio kuhifadhi muktadha zaidi. Ni kuacha ushahidi wa kutosha ili mtengenezaji aweze kusema ni mkakati upi wa muktadha ulio tumika na kama ulibadilisha simu ya mfano inayofuata kwa njia iliyokusudiwa.
Tuchukulie tunataka wakala wa AI “Nifungie safari ya kwenda Paris.”
• Wakala rahisi anayejikita tu katika uhandisi wa maagizo anaweza kujibu: “Sawa, ungependa kwenda Paris lini?”. Alishughulikia swali lako moja kwa moja wakati mtumiaji aliuliza.
• Wakala anayetumia mikakati ya uhandisi wa muktadha iliyojadiliwa angefanya zaidi. Kabla hata ya kujibu, mfumo wake unaweza:
◦ Kagua kalenda yako kwa tarehe zilizopo (kupata data ya wakati halisi).
◦ Kumbuka upendeleo wa safari za zamani (kutoka kumbukumbu za muda mrefu) kama shirika la ndege unalopendelea, bajeti, au kama unapendelea ndege za moja kwa moja.
◦ Tambua zana zinazopatikana kwa ajili ya kuhifadhi tiketi za ndege na hoteli.
Ni nini: Wakati hali ya kuchelea (taarifa zisizo sahihi zinazotengenezwa na LLM) au kosa linaingia katika muktadha na kurudiwa kurejelezwa, kusababisha wakala kufuata malengo yasiyowezekana au kuanzisha mikakati isiyo na maana.
Kufanya nini: Tekeleza uthibitishaji wa muktadha na kushikilia wa karantini. Thibitisha taarifa kabla ya kuongezwa kwenye kumbukumbu za muda mrefu. Ikiwa kuathiriwa kunaonekana, anza vijuzi safi vya muktadha kuzuia usambazaji wa taarifa mbaya.
Mfano wa Kuhifadhi Safari: Wakala wako hutengeneza dhana ya ndege moja kwa moja kutoka uwanja mdogo wa ndege wa mtaa kwenda mji mkubwa wa kimataifa ambao hauwezi kuwapo. Maelezo haya ya ndege yasiyo ya halisi huhifadhiwa kwenye muktadha. Baadaye, unapomuomba wakala kuhifadhi, anaendelea kutafuta tiketi za njia hii isiyowezekana, ikisababisha makosa ya kurudiarudia.
Suluhisho: Tekeleza hatua ambayo huthibitisha uwepo wa ndege na njia kwa API ya wakati halisi kabla ya kuongeza maelezo ya ndege katika muktadha wa wakala. Ikiwa uthibitishaji unashindwa, taarifa hiyo mbaya huwekwa “karantini” na haitumiki zaidi.
Ni nini: Wakati muktadha unakuwa mkubwa sana kiasi kwamba mfano unazingatia historia iliyokusanywa kwa zaidi badala ya kutumia kile alichojifunza wakati wa mafunzo, kusababisha hatua za kurudia au zisizosaidia. Mifano inaweza kuanza kufanya makosa hata kabla ya dirisha la muktadha kufikia kikomo.
Kufanya nini: Tumia muhtasari wa muktadha. Kila mara finyu taarifa zilizokusanywa kuwa muhtasari mfupi, ukihifadhi maelezo muhimu na kuondoa historia ya kurudia. Hii husaidia “kurejesha mkazo”.
Mfano wa Kuhifadhi Safari: Umeshawahi kujadili maeneo mbalimbali ya ndoto zako za safari kwa muda mrefu, ikiwa ni pamoja na rekodi ya safari yako ya kusafiri kwa mabegi miaka miwili iliyopita. Unapomuomba hatimaye “nitafutie ndege ya bei nafuu mwezi ujao,” wakala anazidi kushughulikia maelezo ya zamani yasiyo muhimu na kuendelea kukuuliza kuhusu vifaa vyako vya kusafiri au ratiba za zamani, akipuuzia ombi lako la sasa.
Suluhisho: Baada ya mizunguko fulani au wakati muktadha unakuwa mkubwa sana, wakala anapaswa kutengeneza muhtasari wa sehemu za hivi karibuni na muhimu za mazungumzo – ukizingatia tarehe za sasa za safari na sehemu unayotaka – na kutumia muhtasari huu uliosagwa kwa simu inayofuata ya LLM, akiondoa mazungumzo ya kihistoria yasiyohusiana.
Ni nini: Wakati muktadha usiohitajika, mara nyingi kwa wingi wa zana zinazopatikana, husababisha mfano kutoa majibu mabaya au kuita zana zisizohusiana. Mifano midogo hasa ni rahisi kushikiliwa na hili.
Kufanya nini: Tekeleza usimamizi wa mzigo wa zana kwa kutumia mbinu za RAG. Weka maelezo ya zana katika hifadhidata ya vekta na chagua tu zana zinazohusiana zaidi kwa kazi fulani. Utafiti unaonyesha kupunguza uchaguzi wa zana hadi chini ya 30.
Mfano wa Kuhifadhi Safari: Wakala wako ana zana nyingi: book_flight, book_hotel, rent_car, find_tours, currency_converter, weather_forecast, restaurant_reservations, n.k. Unauliza, “Njia bora ya kusogea Paris ni ipi?” Kwa sababu ya idadi kubwa ya zana, wakala anachanganyikiwa na kujaribu kuita book_flight ndani ya Paris, au rent_car ingawa unapendelea usafiri wa umma, kwa sababu maelezo ya zana huenda yanavurugika au hawezi kutambua zana bora.
Suluhisho: Tumia RAG juu ya maelezo ya zana. Unapouliza kuhusu kusogea Paris, mfumo unatambua tu zana zinazohusiana zaidi kama rent_car au public_transport_info kulingana na ombi lako, ukitoa orodha iliyolengwa ya zana kwa LLM.
Ni nini: Wakati taarifa zinazopingana zipo ndani ya muktadha, husababisha hoja zisizolingana au majibu mabaya ya mwisho. Hii mara nyingi hutokea taarifa zinapofika hatua kwa hatua, na dhana zisizo sahihi za awali kubaki katika muktadha.
Kufanya nini: Tumia kupunguza muktadha na kuhamisha mzigo. Kupunguza maana yake ni kuondoa taarifa za zamani au zinazopingana wakati maelezo mapya yanapofika. Kuhamisha mzigo kunampa mfano eneo la kazi la kipekee “scratchpad” kusindika taarifa bila kuchafua muktadha mkuu.
Mfano wa Kuresha Safari: Awali unasema kwa wakala wako, “Nataka kuruka daraja la uchumi.” Baadaye katika mazungumzo, unabadilisha mawazo na kusema, “Kwa kweli, kwa safari hii, twende daraja la biashara.” Ikiwa maagizo yote mawili yatalala katika muktadha, wakala anaweza kupokea matokeo ya utafutaji yanayopingana au kuchanganyikiwa kuhusu ni upendeleo gani wa lazima kupewa kipaumbele.
Suluhisho: Tekeleza kukata muktadha. Wakati agizo jipya linapingana na la zamani, agizo la zamani linaondolewa au linaangaziwa wazi katika muktadha. Vinginevyo, wakala anaweza kutumia kumbukumbu ya maandishi ili kutatua upendeleo zinazopingana kabla ya kuamua, kuhakikisha agizo la mwisho, linalolingana ndilo linaongoza hatua zake.
Jiunge na Microsoft Foundry Discord kutana na wanaojifunza wengine, hudhuria saa za ofisi na pata majibu ya maswali yako kuhusu Wakala wa AI.
Kionyozo: Hati hii imetafsiriwa kwa kutumia huduma ya tafsiri ya AI Co-op Translator. Ingawa tunajitahidi kupata usahihi, tafadhali fahamu kwamba tafsiri za kiotomatiki zinaweza kuwa na makosa au upungufu wa usahihi. Hati ya asili katika lugha yake halisi inapaswa kuchukuliwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu inayofanywa na binadamu inapendekezwa. Hatutojibu kwa kuelewa vibaya au tafsiri potofu zinazotokea kutokana na matumizi ya tafsiri hii.