જ્યારે તમે લાર્જ લેંગ્વેજ મોડલ્સ (LLMs) ને એકસાથે ઘણું બધું કરવાનું કહો છો, ત્યારે તેઓ અટકી જાય છે. એક ચેટ વિન્ડોમાં પચાસ પાનાની PDF નાખી દો અને એક જ શ્વાસમાં તેનું માળખાગત વિશ્લેષણ, જોખમનું મૂલ્યાંકન અને એક્ઝિક્યુટિવ સમરી માંગો. પરિણામ સામાન્ય રીતે અધૂરું, મૂંઝવણભર્યું અથવા સંપૂર્ણપણે ખોટું હોય છે. વધુ સારો અભિગમ મિકેનિકલ છે. કામને અલગ-અલગ તબક્કામાં વહેંચી દો. પ્રથમ તબક્કાના આઉટપુટને સીધું બીજા તબક્કામાં મોકલો, અને આ રીતે આગળ વધો. Anthropic આ પેટર્નને prompt chaining કહે છે. Google તેને sequential pipeline તરીકે ઓળખે છે. બંને નામો એક જ વસ્તુનું વર્ણન કરે છે: એક એસેમ્બલી લાઇન જ્યાં દરેક સ્ટેશન એક ચોક્કસ પરિવર્તન સંભાળે છે.

આ વ્યવહારમાં કેવું દેખાય છે

એક વિશાળ પ્રોમ્પ્ટને બદલે, તમે નાના, કેન્દ્રિત પગલાંઓની શ્રેણી બનાવો છો. એક કમ્પ્લાયન્સ ટીમની કલ્પના કરો જે વેન્ડર સિક્યુરિટી એસેસમેન્ટ્સ પર પ્રક્રિયા કરે છે. પ્રથમ પગલું સ્કેન કરેલી PDF માંથી કાચો ટેક્સ્ટ (raw text) કાઢે છે. બીજું પગલું એન્ક્રિપ્શન સ્ટાન્ડર્ડ્સ અને એક્સેસ કંટ્રોલના દરેક ઉલ્લેખને ઓળખે છે. ત્રીજું પગલું તે તારણોને આંતરિક ચેકલિસ્ટ સાથે મેપ કરે છે. ચોથું પગલું સિક્યુરિટી લીડ માટે ટૂંકી મેમો ડ્રાફ્ટ કરે છે. એક એજન્ટ PDF ને ટેક્સ્ટમાં ફેરવે છે. બીજો એજન્ટ તે ટેક્સ્ટમાંથી ચોક્કસ ડેટા મેળવે છે. અંતિમ એજન્ટ તે ડેટાના આધારે સારાંશ લખે છે. આમાંથી એક પણ પગલું ભવ્ય નથી, અને તેમાંથી કોઈ પણ મલ્ટિટાસ્કિંગ કરતું નથી. દરેક ભાગ એક કામ સારી રીતે કરે છે.

આથી જ એસેમ્બલી લાઇનનું રૂપક યોગ્ય ઠરે છે. ફેક્ટરીમાં, એક કામદાર આખી કાર એસેમ્બલ કરતો નથી. વિશિષ્ટીકરણ (Specialization) ગુણવત્તાને ઊંચી રાખે છે અને ભૂલોની શક્યતા ઘટાડે છે. આ જ તર્ક લેંગ્વેજ મોડલ્સને પણ લાગુ પડે છે. જે પ્રોમ્પ્ટ ફક્ત JSON એક્સટ્રેક્શન માટે પૂછે છે, તેમાં એક જ વિનંતીમાં અભિપ્રાય અને ફોર્મેટિંગ પણ માંગતા પ્રોમ્પ્ટ કરતા hallucinate કરવાની શક્યતા ઓછી હોય છે.

અનુમાન નહીં, ગેટ્સ (Gates) બનાવો

કોઈપણ ચેઈનનો સૌથી નબળો મુદ્દો 'હેન્ડઓફ' (handoff) છે. મોડલ નમ્રતાપૂર્વક ઇનકાર કરી શકે છે, JSON ને બદલે માર્કડાઉનનો ટુકડો આપી શકે છે, અથવા અધૂરો પ્રતિસાદ આપી શકે છે. જો આ કચરો બીજા તબક્કામાં જાય, તો આખી ચેઈન તૂટી પડે છે. તેનો ઉકેલ 'ગેટ' (gate) છે.

ગેટ એ મોડલ કોલ નથી. તે સાદું કોડ છે. તમે સ્ટેપ્સ વચ્ચે ચાલતો એક નાનો સ્ક્રિપ્ટ લખો છો. તે આઉટપુટની લંબાઈ તપાસી શકે છે જેથી ખાતરી કરી શકાય કે તે ખાલી નથી. તે કી (keys) સ્ટેપ ત્રણની અપેક્ષા મુજબ છે કે નહીં તે ચકાસવા માટે JSON સ્કીમા વેલિડેશન ચલાવી શકે છે. આગામી પ્રોમ્પ્ટ બનાવતા પહેલા જ regex ચેક દ્વારા ઈમેલ એડ્રેસ અથવા તારીખનું ફિલ્ડ ખરેખર હાજર છે કે નહીં તે ચકાસી શકાય છે. આ ખરાબ આઉટપુટ પર પૈસા વેડફતા પહેલા ભૂલોને અટકાવે છે. ગેટ માટે કમ્પ્યુટિંગના માત્ર માઇક્રોસેકન્ડ્સ ખર્ચાય છે. જ્યારે નીચેના સ્ટેપમાં LLM કોલ નિષ્ફળ જાય, ત્યારે ટોકન્સ, લેટન્સી અને તમારી માનસિક શાંતિ બધું જ બગડે છે.

તેને ફેક્ટરી ફ્લોર પર ક્વોલિટી ચેકપોઈન્ટ તરીકે વિચારો. તમારે વિજેટ્સ ગણવા માટે AI ની જરૂર નથી. તમારે ફૂટપટ્ટીની જરૂર છે.

ક્યારે ચેઈન કરવી, અને ક્યારે અટકવું

પ્રોમ્પ્ટ ચેઈનિંગ દરેક સમસ્યા માટે યોગ્ય નથી. જ્યારે કામમાં નિશ્ચિત, પુનરાવર્તિત પગલાં હોય ત્યારે તેનો ઉપયોગ કરો. માસિક નાણાકીય અહેવાલો, પ્રમાણિત કોન્ટ્રાક્ટ રિવ્યુ અને લોગ એનાલિસિસ પાઈપલાઈન તેના સારા ઉદાહરણો છે. જો તમે પ્રક્રિયાને ચેકલિસ્ટ તરીકે લખી શકતા હોવ, તો તમે કદાચ તેને ચેઈન કરી શકો છો. જ્યારે તમારે જટિલ કામ માટે ઉચ્ચ ચોકસાઈની જરૂર હોય ત્યારે પણ તમારે ચેઈનિંગનો ઉપયોગ કરવો જોઈએ. સમસ્યાને તબક્કાઓમાં વિભાજિત કરવાથી મોડલને એક સમયે એક તાર્કિક સ્તર (logical layer) હેન્ડલ કરવા માટે મજબૂર કરે છે. છેલ્લે, મોનોલિથિક પ્રોમ્પ્ટ્સ કરતા ચેઈન્સને ડિબગ કરવી સરળ છે. જ્યારે સારાંશ ખોટો હોય, ત્યારે તમે એક્સટ્રેક્શનની તપાસ કરો છો. જ્યારે એક્સટ્રેક્શન ખોટું હોય, ત્યારે તમે સોર્સ ટેક્સ્ટની તપાસ કરો છો. તમારી પાસે તપાસવા માટે મધ્યવર્તી આર્ટિફેક્ટ્સ હોય છે.

જ્યારે તમે પગલાંઓ અગાઉથી જાણતા ન હોવ ત્યારે પ્રોમ્પ્ટ ચેઈનિંગ ટાળો. સંશોધન (Exploratory research), ઓપન-એન્ડેડ બ્રેઈનસ્ટોર્મિંગ અથવા તપાસના કાર્યો સીધી રેખામાં ચાલતા નથી. જ્યારે ઝડપ તમારી એકમાત્ર પ્રાથમિકતા હોય ત્યારે પણ તેને ટાળો. ચેઈન્સ સીરીયલ છે; સ્ટેપ એક પૂરું થયા વગર સ્ટેપ બે શરૂ થઈ શકતું નથી. જો તમારા સ્ટેપ્સ એકબીજા પર આધારિત ન હોય, તો તેને પેરેલલ (parallel) ચલાવો. એક જ દસ્તાવેજના ત્રણ સ્વતંત્ર અનુવાદોને ચેઈન કરવા માટે કોઈ કારણ નથી.

રિજિડિટી ટ્રેપ (The Rigidity Trap)

આ તમામ માળખા માટેનો બદલામાં મળતો નુકસાન એ રિજિડિટી (જડતા) છે. એક નિશ્ચિત ચેઈન નવી પરિસ્થિતિઓ સાથે અનુકૂલન સાધી શકતી નથી. જો કોઈ વેન્ડર છ-ફિલ્ડનું ફોર્મ મોકલે છે અને તમારું સ્કીમા વેલિડેશન ગેટ પાંચની અપેક્ષા રાખે છે, તો લાઇન અટકી જાય છે. જો વપરાશકર્તા PDF ને બદલે Word ડોક્યુમેન્ટ અપલોડ કરે છે, તો પ્રથમ સ્ટેપ તૂટી જાય છે અને બાકીની ચેઈન પાસે કામ કરવા માટે કંઈ રહેતું નથી.

વધુ ખરાબ બાબત એ છે કે ભૂલો આગળ વધતી જાય છે. શરૂઆતમાં થયેલી ભૂલ આખી ચેઈનમાં ફેલાઈ જાય છે. જો PDF એક્સટ્રેક્ટર નાણાકીય આંકડામાંથી નેગેટિવ ચિહ્ન કાઢી નાખે છે, તો દરેક નીચેનું સ્ટેપ તે ખોટા આંકડાને