નફો:
- એજન્ટને સરળ ઉકેલથી જટિલતાના વધતા પ્રમાણને લાગુ કરવું
- ચેઇનિંગ, રૂટીંગ અને સમાંતર વર્કફ્લો પેટર્ન વચ્ચેનો તફાવત
- પ્લાનિંગ-એક્ઝિક્યુટીંગ-વેરિફિકેશન ચક્રમાં બહુ-પગલાંના કાર્યને તોડવું
અમે અગાઉના એકમમાં સિંગલ-વ્હીકલ સિમ્પલ સાયકલની સ્થાપના કરી હતી. વાસ્તવિક કાર્ય માટે ઘણીવાર બહુવિધ પગલાઓ, બહુવિધ સાધનો અને કેટલીકવાર શાખાના નિર્ણયોની જરૂર પડે છે: "આ મહિનાના અંતમાં આવેલા ઓર્ડર શોધો, ગ્રાહકોને માફીનો ઈમેલ ડ્રાફ્ટ કરો, મેનેજર માટે સારાંશ આપો." આ એકમમાં, જ્યારે તમને વાસ્તવિક એજન્ટની જરૂર હોય ત્યારે, અમે બહુ-પગલાંના કાર્યોને ગોઠવવા માટેની પેટર્ન અને પ્લાનિંગ-એક્ઝિક્યુશન-વેરિફિકેશન ચક્રને આવરી લઈએ છીએ. મુખ્ય સિદ્ધાંત: જરૂરિયાત જેટલી જટિલતા.
સૌથી સરળ ઉકેલથી એજન્ટ સુધીનો સ્કેલ
દરેક કાર્ય સૌથી જટિલ ઉકેલને પાત્ર નથી. જટિલતા સ્કેલ પર સ્ટેપ બાય સ્ટેપ ચઢો અને સૌથી સરળ પર્યાપ્ત ઉકેલ પર રોકો:
- એક કૉલ: જો કાર્ય એક જ મોડેલ કૉલ દ્વારા ઉકેલવામાં આવે છે (સારાંશ, વર્ગીકરણ) અહીં રોકો.
- RAG સાથે સિંગલ કૉલ: જો માહિતી જરૂરી હોય, તો પુનઃપ્રાપ્તિ ઉમેરો અને ફરીથી એક કૉલ કરો.
- સ્થિર વર્કફ્લો: જો પગલાં અગાઉથી જાણીતા હોય, તો તેમને મેન્યુઅલી ક્રમ આપો (કોડ ફ્લો). મોડેલ દરેક પગલા પર સબ-જોબ કરે છે, પરંતુ તમે ઓર્ડર નક્કી કરો છો.
- મોડલ-સંચાલિત એજન્ટ: જો પગલાંઓ અગાઉથી જાણી શકાતા નથી, તો મોડેલ નક્કી કરે છે કે કયા એજન્ટને અને ક્યારે કૉલ કરવો. સૌથી શક્તિશાળી પરંતુ સૌથી ખર્ચાળ અને જોખમી વિકલ્પ.
વર્કફ્લો અને એજન્ટ વચ્ચેનો તફાવત મહત્વપૂર્ણ છે: વર્કફ્લોમાં, તમે નિયંત્રણનો પ્રવાહ લખો છો (અનુમાનિત, પરીક્ષણ કરી શકાય તેવું, સસ્તું). તમે એજન્ડાનું નિયંત્રણ મોડેલને આપો છો (લવચીક પરંતુ અણધારી). મોટા ભાગનું કોર્પોરેટ કામ વાસ્તવમાં વર્કફ્લો છે; વાસ્તવિક એજન્ટો પ્રમાણમાં ઓછા છે.
ટીપ: "શું હું આ કાર્ય માટેના પગલાં અગાઉથી લખી શકું?" પૂછો જો તમે તેને લખી શકો, તો વર્કફ્લો બનાવો — સસ્તું, સુરક્ષિત, વધુ ટેસ્ટેબલ. જો કે, જો ઇનપુટના આધારે પગલાં અલગ-અલગ હોય અને અનુમાન ન કરી શકાય, તો એજન્ટ જરૂરી છે.
ત્રણ મૂળભૂત વર્કફ્લો પેટર્ન
પ્રોમ્પ્ટ ચેઇનિંગ: એક સ્ટેપનું આઉટપુટ એ બીજાનું ઇનપુટ છે. "ડ્રાફ્ટ → સંપાદન → ફોર્મેટ બનાવો." દરેક પગલું સરળ અને કેન્દ્રિત છે; ડીબગ કરવા માટે સરળ.
રૂટીંગ: તમે પ્રથમ આવનારી વિનંતીનું વર્ગીકરણ કરો અને તેને યોગ્ય નિષ્ણાતને મોકલો. "શું આ પ્રશ્ન તકનીકી, બિલિંગ અથવા રિફંડનો છે?" → સબ-સ્ટ્રીમને સુધારવા માટે રીડાયરેક્ટ કરો. દરેક પાથ તેના પોતાના પ્રોમ્પ્ટ અને ટૂલ્સ વડે ઑપ્ટિમાઇઝ કરેલ છે.
સમાંતર: સ્વતંત્ર નોકરીઓ એકસાથે ચલાવવી અને પરિણામોનું સંયોજન. "5 દસ્તાવેજોને અલગથી સારાંશ આપો, પછી ભેગા કરો." તે માત્ર ઝડપી નથી, પરંતુ દરેક ભાગ સંપૂર્ણ ધ્યાન મેળવે છે.
પેટર્ન
જ્યારે
ઉદાહરણ
સાંકળો
પગલાં ક્રમિક અને નિર્ભર છે
ડ્રાફ્ટ → એડિટ → ફોર્મેટ
રીડાયરેક્ટ
ઇનપુટ પ્રકાર પર આધાર રાખીને વિવિધ પ્રક્રિયા
આધાર વિનંતી વર્ગીકરણ
સમાંતર
સ્વતંત્ર પેટા કાર્યો
બહુવિધ દસ્તાવેજોનો અલગથી સારાંશ આપો
એજન્ટ (લૂપ)
પગલાંની અગાઉથી આગાહી કરી શકાતી નથી
ઓપન-એન્ડેડ સંશોધન/સમારકામ
# રૂટીંગ પેટર્ન (વિચારાત્મક) પ્રકાર = pattern.classify(request) # "return" | "ટેકનીક" | "ઈનવોઈસ"જો ટુર == "રીટર્ન": જવાબ = રીટર્ન_ફ્લો(વિનંતી)એલિફ ટૂર == "ટેક્નિકલ": જવાબ = ટેક્નિકલ_ફ્લો(વિનંતી)અન્ય: જવાબ = ઇન્વોઇસ_ફ્લો(વિનંતી)
પ્લાનિંગ-એક્ઝિક્યુશન-વેરિફિકેશન સાઇકલ
વાસ્તવિક એજન્ટોમાં એક શક્તિશાળી પેટર્ન: મોડેલ પ્લાન રાખો, પછી અમલ કરો, પછી ચકાસો. મોડેલ જટિલ કાર્યને પેટા-પગલાઓમાં વિભાજીત કરે છે, દરેક પગલાને ટૂલ્સ સાથે કરે છે અને અંતે પૂછે છે કે "શું મેં લક્ષ્ય પ્રાપ્ત કર્યું?" તે તપાસે છે. ચકાસણીનું પગલું અલગ, તાજા દેખાવ સાથે ભૂલોને પકડે છે ("શું આ આઉટપુટ કાર્યને પૂર્ણ કરે છે?").
# plan-execute-verify (conceptual)plan = model.uret("આ કાર્યને પગલાઓમાં વિભાજીત કરો: " + કાર્ય) યોજનામાં પગલા માટે: પરિણામ = agent_loop(step) # execute with toolscheck = model.uret("શું આ આઉટપુટ કાર્યને પૂર્ણ કરે છે? જો કંઈપણ ખૂટતું હોય તો મને કહો: " + કાર્ય + પરિણામો) જો # સુધારણા ખૂટે છે.
લાંબા કાર્યો માટે બે સારી પ્રથાઓ: રોકવાની સ્થિતિ લાદવી (મહત્તમ પગલાંની સંખ્યા - અનંત લૂપને અટકાવે છે) અને પ્રગતિ ટ્રેકિંગ (એજન્ટને તે શું કરી રહ્યો છે તે લખવા માટે કહો જેથી તે વિચલિત ન થાય). એજન્ટ, જેની પાસે કોઈ પગલાની મર્યાદા નથી, તે કાયમ માટે સ્પિન કરી શકે છે જો તે અટવાઈ જાય અને ખર્ચ ફૂટશે.
નબળી/મજબૂત ડિઝાઇન
નબળા (એક વિશાળ એજન્ટ પર બધું મૂકવું):
કહો કે "તે જટિલ વસ્તુ પૂર્ણ કરો" અને તેને અમર્યાદિત સાધનો સાથે છોડો. # પરિણામ: અણધારી વર્તન, અનંત લૂપ્સનું જોખમ, ઊંચી કિંમત, # ડીબગ કરવું અશક્ય.
શક્તિશાળી (પ્રથમ પ્રવાહ, એજન્ટ જ્યાં જરૂર હોય ત્યાં જ, મર્યાદિત):
પહેલા જોબને નિશ્ચિત સ્ટેપ્સમાં વિભાજીત કરો (રૂટીંગ + ચેઈનીંગ). એજન્ટનો ઉપયોગ ફક્ત સબટાસ્કમાં જ્યાં પગલાં અજાણ્યા હોય; સ્ટેપ લિમિટ, પ્રોગ્રેસ ટ્રેકિંગ અને વેરિફિકેશન રાઉન્ડ ઉમેરો.
ત્રણ મિની કેસ
કેસ 1 — એજન્ટને બદલે વર્કફ્લો. એક ટીમે ફ્રી એજન્ટ સાથે "પ્રોસેસ સપોર્ટ રિક્વેસ્ટ" કાર્ય સેટ કર્યું; ક્યારેક એજન્ટ 15 પગથિયાં ફેરવીને ખોટા રસ્તે જતો. પગલાં અનિવાર્યપણે નિશ્ચિત હતા (વર્ગીકરણ → સંબંધિત માહિતી મેળવો → ડ્રાફ્ટ લખો → મંજૂરી માટે સબમિટ કરો). જ્યારે અમે રૂટીંગ + ચેઇનિંગ વર્કફ્લો પર સ્વિચ કર્યું, ત્યારે સુસંગતતા 58% થી વધીને 96% થઈ અને ખર્ચ અડધો થઈ ગયો.
કેસ 2 - સમાંતર લાભ. એક કાનૂની ટીમ એક પછી એક 20 કોન્ટ્રાક્ટનો સારાંશ આપી રહી હતી; કુલ 4 મિનિટ લાગી. જ્યારે અમે સમાંતર પેટર્ન પર સ્વિચ કર્યું (બધા એક જ સમયે, પછી ભેગા કરો), સમય ઘટાડીને 25 સેકન્ડ કરવામાં આવ્યો અને દરેક સારાંશ પર સંપૂર્ણ ધ્યાન આપવામાં આવ્યું તેમ ગુણવત્તામાં વધારો થયો.
કેસ 3 - કોઈ રોકવાની સ્થિતિ નહોતી. એક તપાસકર્તા એજન્ટ એ જ બે સાધનોને અવિરતપણે બોલાવતો રહ્યો, તે માહિતી શોધી શક્યો નહીં; રાતોરાત નોંધપાત્ર ખર્ચ સંચિત. જ્યારે મહત્તમ 8-પગલાની મર્યાદા અને "જો તમે તેને 3 પ્રયાસોમાં શોધી શકતા નથી, તો કહો કે મને ખબર નથી" નિયમ ઉમેરવામાં આવ્યો હતો, ત્યારે ખર્ચ નિયંત્રણમાં રાખવામાં આવ્યો હતો અને પ્રમાણિક "મને તે મળી શક્યું નથી" જવાબો આવ્યા.
સામાન્ય ભૂલો
- એજન્ટને બધું સોંપવું: જો પગલાંઓ જાણીતા હોય તો વર્કફ્લો સસ્તો, સલામત અને પરીક્ષણયોગ્ય છે.
- એજન્ટ સાથે વર્કફ્લોનું મિશ્રણ: શું તમે અથવા મોડેલ નિયંત્રણમાં છે? આ સ્પષ્ટ કર્યા વિના ડિઝાઇન કરશો નહીં.
- સ્ટોપિંગ શરત સેટ કરી નથી: એજન્ટ અનંત લૂપમાં પ્રવેશ કરે છે અને ખર્ચ એકઠા કરે છે.
- કોઈ પ્રગતિ ટ્રેકિંગ નથી: લાંબા મિશન દરમિયાન, એજન્ટ વિચલિત થઈ જાય છે, તે જ કામ ફરીથી કરે છે.
- ચકાસણી રાઉન્ડને અવગણવું: ખોટું પરંતુ બુદ્ધિગમ્ય દેખાતા આઉટપુટને અનચેક કર્યા વિના વિતરિત કરવામાં આવે છે.
ધ્યાન આપો: એજન્ટ જેટલું મુક્ત, વિસ્ફોટની ત્રિજ્યા જેટલી મોટી થાય છે. લવચીકતા મફત નથી; દરેક વધારાની સ્વતંત્રતા અણધારીતા અને જોખમ ઉમેરે છે. સૌથી સાંકડો પર્યાપ્ત ઉકેલ પસંદ કરો.
સારાંશમાં
- જટિલતામાં, "જરૂરીયાત મુજબ" સિદ્ધાંત લાગુ પડે છે: એક કૉલ → આરએજી → વર્કફ્લો → એજન્ટ જો ખરેખર જરૂરી હોય તો જ.
- વર્કફ્લોમાં, તમે નિયંત્રણનો પ્રવાહ (અનુમાનિત) લખો છો; તમે એજન્ડાને મોડેલ પર છોડી દો (લવચીક પરંતુ જોખમી).
- ત્રણ મૂળભૂત દાખલાઓ: સાંકળ (ક્રમશઃ આશ્રિત), રૂટીંગ (પ્રકાર દ્વારા વિતરિત), સમાંતર (સ્વતંત્ર નોકરીઓ).
- વાસ્તવિક એજન્ટો પ્લાન-એક્ઝિક્યુટ-વેરિફાય સાઇકલ, સ્ટોપિંગ કન્ડીશન અને પ્રોગ્રેસ ટ્રેકિંગનો ઉપયોગ કરે છે.
- જેમ જેમ લવચીકતા વધે છે, અણધારીતા અને ખર્ચ વધે છે; સૌથી સાંકડો પર્યાપ્ત ઉકેલ પસંદ કરો.
એપ્લિકેશન કાર્ય
તમારા પોતાના વ્યવસાયમાંથી બહુ-પગલાંનું કાર્ય પસંદ કરો (દા.ત. "માસિક અહેવાલ તૈયાર કરો અને વિતરિત કરો"). (1) શું તમે આ કાર્યના પગલાં અગાઉથી લખી શકો છો? જો તમે તેને લખી શકો, તો તેને વર્કફ્લો તરીકે ડિઝાઇન કરો (કઇ પેટર્ન: ચેઇનિંગ/રૂટીંગ/સમાંતર?); જો તમે લખી શકતા નથી, તો શા માટે એજન્ટની જરૂર છે તે સમજાવો. (2) બોક્સ-એરો ડાયાગ્રામ વડે તમારી પસંદ કરેલી ડિઝાઇન દોરો. (3) જો એજન્સી: લખો કે તમે કેવી રીતે સ્ટોપિંગ કન્ડિશન, પ્રોગ્રેસ ટ્રેકિંગ અને વેરિફિકેશન રાઉન્ડ સેટ કરશો. (4) "સિંગલ ડેવ એજન્ટ" સાથે સમાન કાર્ય કરવાના 3 જોખમોની સૂચિ બનાવો.
ચેકલિસ્ટ
- [ ] હું "જરૂર મુજબ જટિલતા" સ્કેલ પર યોગ્ય સ્તર પસંદ કરી શકું છું.
- [ ] હું વર્કફ્લો અને એજન્ટ વચ્ચેના નિયંત્રણના તફાવતને પારખી શકું છું.
- [ ] હું યોગ્ય કાર્યો માટે ચેઇનિંગ, રૂટીંગ અને સમાંતર પેટર્નનો નકશો બનાવી શકું છું.
- હું પ્લાન-એક્ઝિક્યુટ-વેરિફાય સાઇકલ, સ્ટોપિંગ કન્ડીશન અને એજન્ટ્સમાં પ્રોગ્રેસ ટ્રેકિંગ સેટ કરી શકું છું.
- [ ] હું ધ્યાનમાં રાખું છું કે વધુ પડતી લવચીકતા અણધારીતા અને ખર્ચ લાવે છે.