મોટાભાગનું પ્રોમ્પ્ટ એન્જિનિયરિંગ ચોકસાઈ અને સૂચનાઓના પૂરતા સમાવેશ પર ધ્યાન આપે છે. વાસ્તવિક ઉપયોગમાં સૌથી મોટા લાભ ત્યારે મળે છે જ્યારે સંવાદને જ મુખ્ય ડિઝાઇન સમસ્યા માનવામાં આવે.
પ્રેરક સ્થિતિ અને પગલાના ઇરાદા સ્પષ્ટ કરવાથી મોડલને એવી સ્ક્રિપ્ટ આપવાને બદલે નિર્ણય કેવી રીતે લેવો તે શીખવાય છે, જેમાંથી તે બહાર ન આવી શકે. પ્રોમ્પ્ટમાં સ્થાન પોતે જ એક સૂચના છે. ઓળખ પહેલાં, વર્તનની સૂક્ષ્મતાઓ વચ્ચે અને કડક મર્યાદાઓ છેલ્લે આવે છે. ખરેખર મહત્ત્વની બાબત બંને જગ્યાએ આવે છે.
ઇચ્છિત લહેજાનું વર્ણન કરવાને બદલે એ જ લહેજામાં પ્રોમ્પ્ટ લખવો એ ઉપલબ્ધ સૌથી અસરકારક ફેરફારોમાંનો એક છે.
સૌથી સુસંગત એજન્ટોના પ્રોમ્પ્ટ સંવાદની જુદી જુદી ક્ષણોને અલગ ક્રિયાપ્રતિક્રિયા માને છે. દરેક ક્ષણનું પોતાનું યોગ્ય સ્વરૂપ હોય છે, છતાં સમગ્ર સંવાદમાં લહેજો ઓળખી શકાય એટલો એકસરખો રહે છે.
કેટલાક કિસ્સામાં વિચારતા એજન્ટોને બોલતા એજન્ટોથી અલગ કરવાથી વધુ સુસંગત અને આધારભૂત જવાબો મળે છે તથા આંતરિક રિઝનિંગ જવાબોમાં બહાર આવતું અટકે છે.
અગાઉ અમે ભાષાશાસ્ત્ર અને જ્ઞાનાત્મક મનોવિજ્ઞાનનાં તારણો પર આધારિત પ્રોમ્પ્ટ રચનાનો નવો અભિગમ રજૂ કર્યો હતો. અમે સ્પષ્ટ અને સુનિર્ધારિત સમસ્યા-ક્ષેત્ર બનાવવાના મહત્ત્વ વિશે લખ્યું હતું, જેમાં અમારો એજન્ટ કાર્ય કરી શકે. ગ્રાહક-સામેના AIમાં રહેલા સંવાદના ઉચ્ચ-સ્તરીય કાર્યને એ સમસ્યા-ક્ષેત્રે કેવી રીતે આવરી લેવું જોઈએ તે પણ સમજાવ્યું હતું.
હવે આપણે આ સિદ્ધાંતોને વાસ્તવિક ઉપયોગમાં મૂકવાના પ્રયાસો સાથે અમારા પ્રોમ્પ્ટ કેવી રીતે બદલાયા તેની કેટલીક વ્યવહારુ રીતો જોઈશું.
ગ્રાહક-સામેની કાર્યરત સિસ્ટમોમાં પ્રોમ્પ્ટનાં સેંકડો પુનરાવર્તનો દરમિયાન, વધુ સૂચનાઓ કે ઉદાહરણો ઉમેરવાથી અથવા પ્રોમ્પ્ટ એન્જિનિયરિંગની સામાન્ય રીતો અનુસરવાથી સૌથી મોટા લાભ મળ્યા નથી. તેના બદલે, સમસ્યાના કેન્દ્ર તરીકે સંવાદને સ્વીકારવાથી એ લાભ મળ્યા છે.
સતત સંશોધન અને પરીક્ષણથી અનેક અસરકારક પદ્ધતિઓ ઊભરી છે. અમે પ્રોમ્પ્ટ બદલીને જોતા કે વાતચીત ક્યાં સફળ કે નિષ્ફળ થઈ. પછી નિષ્ફળતાનાં મૂળ માર્ગદર્શનની અસરકારકતા, પ્રોમ્પ્ટના માળખા અને અમારા ભાષાપ્રયોગ સુધી શોધતા. પરિણામે કેટલીક પુનરાવર્તિત પદ્ધતિઓ મળી, જે એજન્ટ સંવાદમાં પોતાની ભૂમિકાને કેવી રીતે સમજે છે, આગળનું પગલું કેવી રીતે નક્કી કરે છે અને બદલાતા સંદર્ભોમાં પોતાનો લહેજો કેટલી સુસંગતતાથી જાળવે છે તે બદલે છે.
આગળનું વર્ણન કોઈ સાર્વત્રિક માળખું નથી કે પ્રોમ્પ્ટ રચનાની સમસ્યા હવે “ઉકેલાઈ” ગઈ હોવાનો દાવો નથી. તેનો હેતુ માત્ર કાર્યાત્મક ચોકસાઈ નહીં, પણ વધુ સારો સંવાદ હતો ત્યારે વાસ્તવિક ઉપયોગમાં ટકી રહેલી બાબતોને પાંચ પદ્ધતિમાં સારરૂપે રજૂ કરવાનો છે: એવા જવાબો જે સુસંગત, સ્વાભાવિક અને બ્રાન્ડને રજૂ કરી શકે એટલા સાતત્યપૂર્ણ લાગે.
એજન્ટ-આધારિત સિસ્ટમનું માળખું બનાવવાની અનેક રીતો છે, છતાં બહુ-એજન્ટ સંકલિત કાર્યપ્રવાહો લોકપ્રિય છે. ખાસ કરીને આવી સિસ્ટમોમાં, વિચારતા એજન્ટોને બોલતા એજન્ટોથી અલગ કરવાથી અમને સૌથી સાતત્યપૂર્ણ સુધારો મળ્યો.
ઇરાદાનું સંકલન, વર્ગીકરણ, જ્ઞાનનું નિષ્કર્ષણ અને સાધનોનો ઉપયોગ, આ બધાં આંતરિક કાર્યો છે. ગ્રાહક-સામેના જવાબો બાહ્ય સ્તરનાં કાર્યો છે. જ્યારે એ જ એજન્ટ એક જ વારામાં બંને કામ કરે છે, ત્યારે આંતરિક રિઝનિંગ અને તર્ક જવાબોમાં બહાર આવી શકે છે. જવાબો અનિશ્ચિત, વધુ પડતી શરતોવાળા અથવા વ્યક્તિની જરૂરિયાતને બદલે પ્રક્રિયાના તર્ક મુજબ રચાયેલા બની જાય છે.


આ એક જ મર્યાદા આશ્ચર્યજનક રીતે ઘણું કામ કરે છે. તે જવાબોને વાસ્તવિક વાતચીત સાથે જોડાયેલા રાખે છે, સંદર્ભ ફરીથી શરૂ થતો અટકાવે છે અને અમે જેને “માત્ર જરૂરી તફાવત આપવો” કહીએ છીએ તેની નજીકનું પરિણામ આપે છે. આખરે, એજન્ટ માત્ર એટલી જ નાની નવી બાબત ઉમેરે છે જે વપરાશકર્તાને ખરેખર આગળ વધારે.
કયા પ્રકારનો જવાબ આપવો તેનો નિર્ણય પણ મહત્ત્વનો છે. અમને જાણવા મળ્યું કે બોલતા એજન્ટને કંઈ લખતાં પહેલાં પગલાનો પ્રકાર પસંદ કરવાનું કહેવાથી, જેમ કે જવાબ આપવો, સ્પષ્ટતા માગવી, દિશા બદલવી કે રાહ જોવાનું કહેવું, સંવાદની સૌથી સામાન્ય નિષ્ફળતા વિશ્વસનીય રીતે ઘટી. આ નિષ્ફળતા ખરાબ ગદ્ય નહીં, પણ સાવ ખોટો જવાબ આપવાની હતી.
એ નોંધવું યોગ્ય છે કે નવીનતમ અત્યાધુનિક મોડલ યોગ્ય પરિસ્થિતિઓમાં આ પદ્ધતિના મૂળ અનુમાનને પડકારવા લાગ્યાં છે. તેમ છતાં, અનેક નિર્માતાઓ વિવિધ કારણોસર હજી પણ નાનાં કે જૂનાં મોડલ પર આધાર રાખે છે. એવા સંદર્ભોમાં અમે આંતરિક અને ગ્રાહક-સામેની જવાબદારીઓ અલગ રાખવાની ચોક્કસ ભલામણ કરીએ છીએ.
રિઝનિંગ ન કરતાં મોડલ માટે ફ્યુ-શોટ ઉદાહરણો અસરકારક છે, કારણ કે તે નક્કર અને ઝડપી હોય છે અને મોડલ તેમને સારી રીતે અનુસરે છે. સમસ્યા અતિ-અનુકૂલનની છે. મોડલને એક ઉદાહરણ આપતાં તે તેના શબ્દો, લય અને બંધારણને વળગી રહે છે. પરિસ્થિતિ બદલાઈ ગઈ હોય ત્યારે પણ તે સતત એ જ જવાબને મળતા આવતા જવાબો આપે છે.
તમે અજાણતાં એવી સ્ક્રિપ્ટ લખી દીધી છે જેમાંથી મોડલ બહાર આવી શકતું નથી.
અમલી ઇરાદાઓ અથવા વ્યવહારુ માર્ગદર્શિકાઓ વધુ ટકાઉ વિકલ્પ છે. ચોક્કસ પરિસ્થિતિઓમાં શું કહેવું તે મોડલને બતાવવાને બદલે*,* અમે તેને વ્યાપક પ્રેરક સ્થિતિ અને પગલાની જોડી આપીએ છીએ: જો X થાય, તો Y કરો.
મુખ્ય તફાવત એ છે કે એક પછી એક ઉદાહરણથી X અને Yને વધુ સાંકડાં અને કઠોર બનાવવાને બદલે, અમે એટલી ચોક્કસ સૂચના દ્વારા બંનેની સ્પષ્ટ સીમા નક્કી કરીએ છીએ કે ઉદાહરણો બિનજરૂરી બની જાય. આથી એજન્ટ કોઈ નમૂના સાથે સરખામણી કરવાને બદલે વાસ્તવિક સંવાદની વિવિધતાને અનુરૂપ પ્રતિસાદ આપે છે.
વ્યવહારમાં આ ઉદાહરણો કરતાં અમલ કરી શકાય એવા વ્યવહારુ નિયમો જેવું વધુ દેખાય છે:
જો કોઈ મહત્ત્વની વિગત ખૂટતી હોય, તો સ્પષ્ટતા માટે એક પ્રશ્ન પૂછો.
જો જવાબને આધાર ન મળતો હોય, તો એ સીધું કહો અને ઉપલબ્ધ શ્રેષ્ઠ આગલું પગલું સૂચવો.
જો વિનંતી સુરક્ષા-મર્યાદા સાથે અથડાય, તો ટૂંકમાં ના પાડો અને કોઈ ઔપચારિકતા વિના યોગ્ય દિશા બતાવો.
આ આકર્ષક લાગતું નથી, પરંતુ નમૂનારૂપ જવાબોના સંગ્રહ કરતાં ઘણું વધુ મજબૂત છે, કારણ કે તે મોડલને શું પુનરાવર્તિત કરવું એ નહીં, પણ નિર્ણય કેવી રીતે લેવો એ શીખવે છે.
પ્રોમ્પ્ટમાં કોઈ બાબત ક્યાં આવે છે તે તેને કેટલું મહત્ત્વ મળે છે તે નક્કી કરે છે. વિવિધ મોડલ અને અમલીકરણોમાં અમે આ પદ્ધતિ સતત જોઈ છે. પ્રોમ્પ્ટની શરૂઆત અને અંત અપ્રમાણસર રીતે વધુ ધ્યાન ખેંચે છે. વચ્ચે જે આવે છે તે સૂક્ષ્મ વિગતો છે, અને સૂક્ષ્મ વિગતોનું યોગ્ય સ્થાન પણ એ જ છે.
આ બાબત ધ્યાનમાં રાખીને અમે અમારા પ્રોમ્પ્ટનું માળખું બનાવીએ છીએ. એજન્ટની ભૂમિકા અને સ્વ-ઓળખ સૌથી ઉપર આવે છે, જેથી બીજી કોઈ બાબત પહેલાં તેની ઓળખ સ્થાપિત થાય. વચ્ચે વર્તનની વિગતો આવે છે: વાતચીત સંભવતઃ કેવી રીતે આગળ વધશે, જવાબોને દોરતી વ્યવહારુ માર્ગદર્શિકાઓ અને એજન્ટે સંભાળવાની વિવિધ પરિસ્થિતિઓ. કડક મર્યાદાઓ અને કોઈ સમાધાન ન થઈ શકે એવી બાબતો અંતે આવે છે, જેથી તે “તરત ધ્યાનમાં” રહે.
ખરેખર મહત્ત્વની કોઈ પણ બાબત અમે બંને જગ્યાએ મૂકીએ છીએ. ચોક્કસ આઉટપુટ નિયમ, જેમ કે વિરામચિહ્નો કે સ્વરૂપણ વિશેની કડક સૂચના, ગીચ પ્રોમ્પ્ટની વચ્ચે માત્ર એક વાર આવે તો વારંવાર અવગણાઈ શકે છે. અંતે ફરી કહેવાથી તે જળવાઈ રહે છે.
સૌથી છેલ્લી બાબતની અસર વિશે નોંધવું યોગ્ય છે કે સ્ટ્રક્ચર્ડ આઉટપુટ્સ વપરાય ત્યારે તે વ્યવહારમાં તમારા પ્રોમ્પ્ટની એકદમ છેલ્લી સૂચના બને છે. તમારા સ્ટ્રક્ચર્ડ આઉટપુટ્સનાં વર્ણન ક્ષેત્રો જવાબોની ગુણવત્તા પર અસર કરે છે અને બાકીના પ્રોમ્પ્ટ કરતાં વધુ મજબૂત આઉટપુટ કરાર બનાવે છે.


અમે શીખ્યા છીએ કે અભિવ્યક્તિના લહેજા માટે પણ ફ્યુ-શોટ ઉદાહરણો ન વાપરવાં જોઈએ. ગ્રાહક-સામેના અમારા એજન્ટોમાં કરેલા સૌથી અસરકારક ફેરફારોમાં આ એક છે.
તેના બદલે, અમે આખો પ્રોમ્પ્ટ ઇચ્છિત લહેજામાં લખીએ છીએ. લહેજાનું વર્ણન નહીં, તેનો અંદાજ આપતાં વિશેષણોની યાદી નહીં, પરંતુ પ્રથમ પંક્તિથી છેલ્લી પંક્તિ સુધી સંપૂર્ણ ગદ્યમાં એ જ વાસ્તવિક લહેજો. પ્રોમ્પ્ટ પોતે જ પ્રદર્શન બની જાય છે. અમે આને “સ્ક્રિપ્ટ-વિરોધી અભિગમ” કહીએ છીએ. તેમાં મોડલને તેના ઇનપુટનું અનુકરણ કરવા દોરીએ છીએ, પણ સાથે પ્રોમ્પ્ટ જેવા જ વ્યાપમાં આવતી વધુ વિવિધ ભાષા અને શબ્દસમૂહો વાપરવાની છૂટ આપીએ છીએ.
આ રીતે અમે સુસંગત લહેજામાં વિવિધતા લાવવા પ્રોમ્પ્ટ લખીએ છીએ. કોઈ પણ એજન્ટના કાર્યના કેન્દ્રમાં સંવાદને લાવવાની અમારી વ્યૂહરચનાનો આ ભાગ છે. આમ કરવામાં સ્પષ્ટ સૂચનાઓ પર શબ્દો ખર્ચવા પડતા નથી, કારણ કે અમે એવી સૂચનાઓ શક્ય તેટલી ઓછી રાખવા માગીએ છીએ.
જો અમે લહેજા માટે સ્પષ્ટ ઉદાહરણો વાપરીએ, તો તે “શું ન કરવું” એ દર્શાવશે. જેમ કે, “લાંબી ડેશ ક્યારેય નહીં. ચવાઈ ગયેલા શબ્દપ્રયોગો નહીં. નીતિઓનો ઢગલો નહીં. એક જ વાક્યથી વાત પૂરી થઈ શકે ત્યારે વધુ પડતી સમજૂતી નહીં.” નકારાત્મક મર્યાદાઓ સકારાત્મક આદર્શો કરતાં વધુ ચોક્કસ અને ઓછી પ્રતિબંધક હોય છે, કારણ કે તે મોડલ જે ભૂલો તરફ સૌથી વધુ વળી શકે તેનું સ્પષ્ટ નામ આપે છે.
અહીં સ્વરૂપણ પણ મહત્ત્વનું છે અને તે જવાબનો લહેજો નક્કી કરે છે. બુલેટ સૂચિઓ, મથાળાં અને કૌંસમાં આપેલી સૂચનાઓથી ભરેલો પ્રોમ્પ્ટ મોડલને વધુ વ્યવસ્થિત અને ઔપચારિક આઉટપુટ તરફ દોરે છે. જો આઉટપુટ સંવાદ જેવું લાગવું જોઈએ, તો ઇનપુટ ટૂંકા સંકેતોમાં લખેલા વિશિષ્ટીકરણ દસ્તાવેજ જેવું ન દેખાવું જોઈએ.
લહેજા માટેના મોટાભાગના પ્રોમ્પ્ટ અંતે વ્યક્તિત્વના વર્ણનમાં સીમિત થઈ જાય છે. એજન્ટ કેવો સંભળાવો જોઈએ તે દર્શાવતાં વિશેષણોની યાદી આપવામાં આવે છે. ઉષ્માભર્યો. વ્યાવસાયિક. મૈત્રીપૂર્ણ, પણ સંક્ષિપ્ત. આ વર્ણનો ખોટાં નથી, પરંતુ વાતચીતમાં લહેજો ખરેખર કેવો લાગે છે તે ભાષાશૈલી નક્કી કરે છે, એટલે કે એ જ મૂળભૂત પાત્ર જુદી જુદી સામાજિક પરિસ્થિતિઓમાં કેવી રીતે વર્તે છે.
પ્રશ્ન પર પ્રક્રિયા ચાલતી હોય ત્યારે બતાવાતો રાહ જોવાનો સંદેશ અંતિમ જવાબ જેવો ન સંભળાવો જોઈએ. સુરક્ષા-મર્યાદાનો જવાબ હળવી વાતચીત જેટલો ઉત્સાહભર્યો ન હોવો જોઈએ. નારાજ ગ્રાહકને એટલી જ રમૂજ કે આકર્ષકતા ન આપવી જોઈએ જેટલી સહજ રીતે વિકલ્પો જોતા ગ્રાહકને અપાય.


બ્રાન્ડના લહેજા અને સંવાદ-ડિઝાઇન વચ્ચેનો આ જ તફાવત છે. બ્રાન્ડનો લહેજો ઘણી વાર પાત્રનું વર્ણન કરે છે, જ્યારે પરિસ્થિતિ બદલાય ત્યારે એ પાત્ર કેવી રીતે વર્તે તે સંવાદ-ડિઝાઇન નક્કી કરે છે. આને યોગ્ય રીતે કરવું એટલે અમે માત્ર AIના આઉટપુટ પર કામ કરતા લેખકો નથી. સંવાદમાં લહેજો કેવી રીતે આગળ વધે તેની અમે રચના કરીએ છીએ.
તમે નોંધશો કે આમાંથી કોઈ પણ પદ્ધતિ તકનીકી રીતે જટિલ નથી. અમારો આશય અંશતઃ એ જ છે. એજન્ટ-આધારિત સિસ્ટમનું સ્થાપત્ય મહત્ત્વનું છે, પરંતુ સંવાદની ગુણવત્તા માટે તમારે પ્રોમ્પ્ટની રચના અને સુધારણા પાછળ ઘણો સમય આપવો પડશે.
માત્ર કાર્યક્ષમ અને ખરેખર સંવાદાત્મક AI વચ્ચેનું અંતર તકનીકી ડિઝાઇનથી દૂર થતું નથી. માનવીય સંવાદમાં ભાષા અને ધ્યાન કેવી રીતે કાર્ય કરે છે તેની વધુ સ્પષ્ટ સમજ તથા તમારા એજન્ટોની સમસ્યાના કેન્દ્રમાં સંવાદને લાવવાથી તે દૂર થાય છે.
AI ઉત્પાદન ટીમો, એન્જિનિયરો અને અનુભવ-ડિઝાઇનરો માટે ગ્રાહક-સામેના AIમાં સંવાદ-ડિઝાઇનને તકનીકી ઉત્કૃષ્ટતા જેટલી જ કડકાઈથી લેવી જોઈએ. આ સંવાદની બીજી તરફ રહેલા લોકો માટે કોઈ મોડલ, બહુ-એજન્ટ સહયોગ કે સાધનને કરેલો કૉલ નથી. તેમના માટે માત્ર એવી ક્રિયાપ્રતિક્રિયા છે જે કાં તો યોગ્ય લાગે છે અથવા નથી લાગતી. એવી ક્રિયાપ્રતિક્રિયા, જે કાં તો વિશ્વાસ ઊભો કરે છે અથવા તેને નબળો પાડે છે.
અંતે, કોઈ સ્થાપત્યનો અનુભવ કરતું નથી. લોકો સંવાદનો અનુભવ કરે છે.
સંવાદ જ ઉત્પાદન છે.