Wakala Wako Wako Sawa. Makabidhiano Kati Yao Si Sawa.
Maonyesho mengi ya mifumo ya wakala wengi (multi-agent) yanakualahidi wakala mmoja tu aliyevalia vazi la uigizaji. Yanaonyesha Wakala A akifanya kazi fulani na kisha Wakala B akifanya nyingine. Hayawaonyeshi yale yanayotokea wakati Wakala A anaposhindwa kumpa Wakala B kile anachohitaji.
Nimezindua mifumo mitatu ya wakala wengi (multi-agent systems) katika uzalishaji (production) mwaka huu. Wakala hawakuwa sehemu ngumu. Makabidhiano ndiyo yalikuwa sehemu ngumu.
Makabidhiano ni zaidi ya kupitisha maandishi. Lazima usimamie:
- Ulinganishaji wa Schema: Wakala B lazima achanganue (parse) matokeo ya Wakala A kila wakati.
- Uenezaji wa Hitilafu: Mfumo lazima ujue wakati wakala mmoja unapofeli.
- Usafi wa Muktadha (Context hygiene): Kila makabidhiano huongeza kelele (noise) kwenye dirisha lako.
Kosa kubwa ni kutendea wakala kama 'black boxes' zilizounganishwa na kamba. Unatoa maelekezo (prompt) kwa Wakala A, unapata matokeo, na kuyatupa kwa Wakala B. Hii hufanya kazi mpaka inapovunjika. Inapovunjika, hutajua kwa nini.
Epuka aina hizi tatu za kawaida za hitilafu:
Ukataji wa kimya (Silent truncation): Wakala A anatengeneza data nyingi mno. Wakala B anakata sehemu ya mwisho. Kisha Wakala B anachakata data isiyo kamili na kukupa majibu yasiyo na maana. Pima idadi ya token zako katika kila hatua.
Mabadiliko ya Schema (Schema drift): Unabadilisha prompt ya Wakala A. Sasa inarudisha muundo tofauti. Wakala B anafeli kwa sababu unatarajia muundo wa zamani. Tumia matokeo yaliyopangwa (structured output) kama Pydantic badala ya kutegemea prompts.
Hali ya mashindano (Race conditions): Unawasha wafanyakazi (workers) watano kwa wakati mmoja. Watatu wanamaliza, lakini wawili bado wanaendelea. Mkusanyaji wako (aggregator) unaanza mapema na data isiyo kamili. Hii hufanya kazi kwenye majaribio lakini inafeli kwenye uzalishaji (production). Tumia kizuizi (barrier) kusubiri kazi zote.
Mfumo wangu wa kwanza ulikuwa wa kijanja lakini ulikuwa na mchanganyiko. Ulitumia njia ya kuelekeza (dynamic routing) na makabidhiano yasiyo wazi (implicit handoffs). Ulifanya kazi mpaka ulipokutana na trafiki halisi na kufeli bila kutoa taarifa.
Mfumo wangu wa pili ulikuwa mbaya lakini ulikuwa sahihi. Kila makabidhiano ulitumia mkataba uliowekwa (typed contract). Kila hitilafu ilikuwa wazi. Kila wakala ulikuwa ametengwa (isolated).
Mfumo wangu wa sasa unachanganya yote mawili. Unatumia nidhamu ya toleo la pili lakini unaficha kodi inayochosha nyuma ya mfumo (framework).
Ikiwa unajenga mifumo ya wakala wengi, anza na toleo la mbaya lakini sahihi. Usijaribu kuwa mjanja kwanza. Ifanye iwe sahihi kwenye uzalishaji (production), kisha ifanye iwe ya kuvutia (elegant).
Tatizo la makabidhiano halipungui ugumu. Lakini utaacha kushangazwa nalo.
Chanzo: https://dev.to/mrclaw207/your-agents-are-fine-the-handoff-between-them-isnt-2dij
Jumuia ya kujifunza ya hiari: https://t.me/GyaanSetuAi
