Google’s Agent Development Kit (ADK) કાર્યોનું સંચાલન કરવા માટે મુખ્ય બે રીતો પ્રદાન કરે છે.
ડાયનેમિક મલ્ટી-એજન્ટ રાઉટિંગ (Dynamic Multi-Agent Routing)
રાઉટિંગ મોડેલમાં, એક કેન્દ્રીય કોઓર્ડિનેટર વપરાશકર્તાની વિનંતી મેળવે છે અને તેને સ્પેશિયાલિસ્ટ એજન્ટોને મોકલે છે. કોઓર્ડિનેટર નક્કી કરે છે કે કયા સ્પેશિયાલિસ્ટએ કામ કરવું જોઈએ, સ્પેશિયાલિસ્ટ તેનું કામ પૂર્ણ કરે છે, અને પછી નિયંત્રણ ફરીથી પેરેન્ટ પાસે પાછું આવે છે.
- તે કેવી રીતે કામ કરે છે – કોઓર્ડિનેટર એક સ્પેશિયાલિસ્ટ પસંદ કરે છે, કાર્ય આગળ મોકલે છે, અને પછી આગળ વધતા પહેલા પ્રતિસાદની રાહ જુએ છે.
- ફાયદા (Pros) – લવચીકતા (Flexibility) જોવા મળે છે. કારણ કે LLM રનટાઇમ પર માર્ગ પસંદ કરે છે, સિસ્ટમ ફ્લોને ફરીથી લખ્યા વિના નવા અથવા અણધાર્યા ઇનપુટ્સ સાથે અનુકૂલન સાધે છે.
- ગેરફાયદા (Cons) – દરેક સ્ટેપ નેટવર્ક અને પ્રોસેસિંગનો વધારાનો બોજ ઉમેરે છે, તેથી સીધી પાઇપલાઇન (straight-line pipeline) ની સરખામણીમાં લેટન્સી (latency) વધે છે.
સિક્વન્શિયલ વર્કફ્લો લૂપ્સ (Sequential Workflow Loops)
લૂપ મોડેલ કોઓર્ડિનેટરને બદલે એક સિંગલ LoopAgent નો ઉપયોગ કરે છે જે પૂર્વનિર્ધારિત સ્ટેપ્સના ક્રમમાં આગળ વધે છે અને મ્યુટેબલ સેશન સ્ટેટ (mutable session state) શેર કરે છે.
- તે કેવી રીતે કામ કરે છે – એજન્ટો એક શેર કરેલી કી (key) વાંચે છે, તેને અપડેટ કરે છે, અને ક્રમ પૂરો ન થાય ત્યાં સુધી નિયંત્રણ આગલા સ્ટેપને સોંપે છે.
- ફાયદા (Pros) – અનુમાનિતતા (Predictability). ક્રમ ક્યારેય બદલાતો નથી, જેનાથી ડીબગિંગ (debugging) અને પરફોર્મન્સ ટ્યુનિંગ સરળ બને છે.
- ગેરફાયદા (Cons) – જડતા (Rigidity). નિશ્ચિત ક્રમથી અલગ થવાની કોઈપણ જરૂરિયાત લૂપને ફરીથી ડિઝાઇન કરવા માટે મજબૂર કરે છે.
હેન્ડ્સ-ઓન ટેસ્ટ: મેથ એક્સપ્રેશન પાર્સર (Math Expression Parser)
આ પેટર્નને અમલમાં જોવા માટે, અમે એક સાદું પાર્સર બનાવ્યું છે જે ચાર સ્પેશિયાલિસ્ટ એજન્ટોનો ઉપયોગ કરીને અંકગણિતના એક્સપ્રેશન્સનું મૂલ્યાંકન કરે છે: adder, subtracter, multiplier, અને divider.
વર્કફ્લો લૂપમાંથી મળેલા પાઠ
- ઇન્ફિનિટ લૂપ્સ અટકાવો – અમે દરેક એજન્ટને શેર કરેલા સ્ટેટને અપડેટ કર્યા પછી તરત જ ટેક્સ્ટ આઉટપુટ આપવા અને તેનો ટર્ન પૂરો કરવા સૂચના આપી હતી. તે સુરક્ષા (guard) વગર લૂપ અનંતકાળ સુધી ચાલતી રહી શકે છે.
- ગણિતના તર્કને જાળવી રાખો – અમે adder ને ક્રિયાઓના ક્રમનું પાલન કરવા માટે સ્પષ્ટ માર્ગદર્શન આપ્યું, જેથી તે બાદબાકીના નિયમો તોડતું નથી.
- સાયલન્ટ એક્ઝિટ ટાળો – અમે એજન્ટોને એક્ઝિટ ટૂલ (exit tool) નો ઉપયોગ કરતા પહેલા અંતિમ પરિણામ પ્રિન્ટ કરવા માટે મજબૂર કર્યા, જેથી વપરાશકર્તા અચાનક સમાપ્તિને બદલે પરિણામ જોઈ શકે.
એરર હેન્ડલિંગ (Error Handling)
અમે divider સ્પેશિયાલિસ્ટની આગળ ઝીરો-ડિવિઝન ગાર્ડ (zero-division guard) ઉમેર્યો છે. આ ગાર્ડ પહેલા વિભાજક (divisor) તપાસે છે; જો તે શૂન્ય હોય, તો તે પ્રક્રિયાને અટકાવે છે, જેનાથી આખી સિસ્ટમને રનટાઇમ એક્સેપ્શન (runtime exception) થી બચાવી શકાય છે.
કઈ પેટર્ન તમારા પ્રોજેક્ટ માટે યોગ્ય છે?
- મલ્ટી-એજન્ટ રાઉટિંગ પસંદ કરો જ્યારે કાર્યો તરત જ બદલાતા હોય, ઇનપુટ્સમાં ઘણો તફાવત હોય, અથવા તમારે રનટાઇમ પર શ્રેષ્ઠ સ્પેશિયાલિસ્ટ નક્કી કરવા માટે LLM ની જરૂર હોય. આમાં લેટન્સી વધુ હોઈ શકે છે, પરંતુ સિસ્ટમ કોડમાં ફેરફાર કર્યા વિના અણધાર્યા સંજોગોને સંભાળી શકે છે.
- વર્કફ્લો લૂપ્સ પસંદ કરો જ્યારે તમારી પાસે સારી રીતે વ્યાખ્યાયિત પાઇપલાઇન હોય—દાખલા તરીકે, ડેટા ક્લિનિંગ, ટ્રાન્સફોર્મેશન, એગ્રીગેશન—જ્યાં દરેક સ્ટેપ ચોક્કસ ક્રમમાં થવું જોઈએ. તેનો ફાયદો ઓછી લેટન્સી અને સરળ ડીબગિંગ છે, પરંતુ તેની કિંમત તરીકે તમે ડાયનેમિકલી બ્રાન્ચિંગ કરી શકતા નથી.
