તમને સબ-એજન્ટ્સની જરૂર નથી
મોટાભાગના લોકો એજન્ટ આર્કિટેક્ચરને ઓર્ગેનાઈઝેશનલ ચાર્ટ (organizational charts) ની જેમ દોરે છે.
તેઓ ટોચ પર એક Orchestrator મૂકે છે. તેઓ Researcher, Coder અને Tester સાથે રેખાઓ દોરે છે. તે જોવામાં સ્વચ્છ અને પ્રોફેશનલ લાગે છે.
તે એક ભૂલ છે.
1975માં, ફ્રેડ બ્રુક્સ (Fred Brooks) એ લખ્યું હતું કે સોફ્ટવેર પ્રોજેક્ટમાં વિલંબ થયો હોય ત્યારે વધુ લોકોને ઉમેરવાથી તે વધુ વિલંબિત થાય છે. આવું એટલા માટે થાય છે કારણ કે કામ પૂરું થવાના દર કરતા સંવાદનો ખર્ચ (communication costs) વધુ ઝડપથી વધે છે.
જ્યારે તમે એજન્ટ્સનું એક સ્વોર્મ (swarm) બનાવો છો, ત્યારે તમે આ જ ભૂલનું પુનરાવર્તન કરો છો.
Orchestrator તેનો બધો સમય સબ-ટાસ્ક (subtasks) મેનેજ કરવામાં વિતાવે છે. આનાથી મોટો ઓવરહેડ (overhead) ઊભો થાય છે. તમે આર્કિટેક્ચર નથી બનાવી રહ્યા, તમે પ્લમ્બિંગ (plumbing) કરી રહ્યા છો.
સબ-એજન્ટ્સ કેમ નિષ્ફળ જાય છે તેના કારણો અહીં છે:
- Context loss (સંદર્ભ ગુમાવવો): સબ-એજન્ટ તેના પોતાના વિન્ડોમાં ચાલે છે. તે તેની સંપૂર્ણ તર્કશક્તિ (reasoning) પેરેન્ટ એજન્ટને આપી શકતું નથી. તે ફક્ત સારાંશ (summary) જ મોકલે છે.
- મોંઘા ઉપાયો (Expensive workarounds): લોકો એજન્ટ્સને ફાઇલો અથવા git માં લખવા માટે મજબૂર કરે છે જેથી પેરેન્ટ એ જાણી શકે કે શું થયું હતું. તમે શેર કરેલી મેમરી (shared memory) ને ફરીથી બનાવી રહ્યા છો પરંતુ તેને વધુ ધીમી બનાવી રહ્યા છો.
- ટોકનનો બગાડ: દરેક સીમા (boundary) પાર સંદર્ભ પસાર કરવા માટે તમારે ચૂકવણી કરવી પડે છે. N એજન્ટ્સના સ્વોર્મ માટે N+1 ટોકનનો ખર્ચ થાય છે.
- વિરોધાભાસી નિર્ણયો: સમાંતર (parallel) એજન્ટ્સ અલગ-અલગ ધારણાઓ બનાવે છે. જો બે એજન્ટ્સ એક જ વસ્તુ બનાવે છે, તો તેઓ ઘણીવાર અલગ-અલગ શૈલી અથવા લોજિકનો ઉપયોગ કરે છે.
સંશોધન દર્શાવે છે કે મલ્ટી-એજન્ટ ફ્રેમવર્ક (multi-agent frameworks) માં નિષ્ફળતાનો દર 41% થી 87% ની વચ્ચે છે. આ નિષ્ફળતાઓ એટલા માટે થાય છે કારણ કે એજન્ટ્સ એકબીજા સાથે યોગ્ય રીતે સંવાદ કરી શકતા નથી. વધુ સારું મોડેલ આ સમસ્યાનું નિરાકરણ લાવશે નહીં. આ સંકલન (coordination) ની સમસ્યા છે, મોડેલની સમસ્યા નથી.
તેના બદલે તમારે કેવી રીતે બનાવવું જોઈએ?
આ બે નિયમોનું પાલન કરો:
- જો કાર્યો સ્વતંત્ર હોય, તો તેને અલગ લૂપ્સ (loops) તરીકે ચલાવો. બે અલગ પ્રોગ્રામનો ઉપયોગ કરો. આ પેરેલલ પ્રોસેસિંગ (parallel processing) છે, મલ્ટી-એજન્ટ સિસ્ટમ નથી.
- જો કાર્ય માટે એક જ વિચારધારા (single train of thought) ની જરૂર હોય, તો એક જ લૂપનો ઉપયોગ કરો.
એક સિંગલ લૂપ તમામ સંદર્ભને એક જ જગ્યાએ રાખે છે. તે સરળતાથી પોતાની જાતે સુધારો (self-correct) કરી શકે છે. તે અસ્તવ્યસ્ત ગ્રુપ ચેટને બદલે એક સ્વચ્છ હિસ્ટ્રી (history) છોડે છે.
મેશ (meshes) બનાવવાનું બંધ કરો. લૂપ્સ (loops) બનાવવાનું શરૂ કરો.
સ્ત્રોત: https://dev.to/tony__vi/you-dont-need-sub-agents-1eh7
વૈકલ્પિક લર્નિંગ કોમ્યુનિટી: https://t.me/GyaanSetuAi