વાંચવાનો સમય 4 મિનિટ
કોડ નિર્માણ: કમ્પ્યુટર પ્રોગ્રામ અને કોડ લખવામાં એઆઈ (AI) કેવી રીતે મદદ કરે છે?
30 સેકન્ડમાં સાર
કોડ નિર્માણ (કોડ જનરેશન અથવા એઆઈ કોડિંગ) એ કૃત્રિમ બુદ્ધિમત્તાની એવી ક્ષમતા છે જેમાં સોફ્ટવેર માનવીય ભાષામાં લખાયેલી સાદી સૂચનાને સમજીને કમ્પ્યુટર ચાલી શકે તેવા પ્રોગ્રામિંગ કોડમાં ફેરવે છે. આ ટેકનોલોજી પ્રોગ્રામર્સને પુનરાવર્તિત કોડ લખવામાં ઝડપ આપે છે અને એક ડિજિટલ સહાયક (કો-પાયલટ) તરીકે કામ કરે છે.
સાદી સૂચના પરથી કમ્પ્યુટર પ્રોગ્રામ કેવી રીતે લખાય છે?
ધારો કે તમારી એક નાનકડી દુકાન છે અને રોજના વેચાણનો હિસાબ રાખવા માટે તમારે એક સાદો કમ્પ્યુટર પ્રોગ્રામ બનાવવો છે. પહેલાંના સમયમાં તમારે પ્રોગ્રામિંગ ભાષાના અઘરા નિયમો શીખવા પડતા હતા. પરંતુ આજે GitHub Copilot કે ChatGPT જેવા સાધનોની સામે તમે સાદી ગુજરાતી કે અંગ્રેજીમાં લખો કે 'દુકાનના રોજના વેચાણનો હિસાબ કરતો પ્રોગ્રામ લખો', અને ક્ષણવારમાં સ્ક્રીન પર વ્યવસ્થિત કમ્પ્યુટર કોડ લખાઈને આવી જાય છે. આ પ્રક્રિયાને કોડ નિર્માણ (કોડ જનરેશન) કહેવામાં આવે છે, જેમાં મશીન તમારી સાદી ભાષા સમજીને કમ્પ્યુટરને સમજાય તેવી સૂચનાઓની ભાષા (પ્રોગ્રામિંગ કોડ) રચી આપે છે.
આ સાધન કોઈ જાદુ નથી કરતું. આવા ભાષા મોડેલ્સને ઇન્ટરનેટ પર ઉપલબ્ધ કરોડો જાહેર પ્રોગ્રામ્સ અને સોફ્ટવેર સંગ્રહો (જેને ઓપન-સોર્સ રિપોઝિટરીઝ કહેવાય છે) વાંચીને તાલીમ આપવામાં આવી હોય છે. તે શીખે છે કે કયા શબ્દો પછી પ્રોગ્રામિંગ ભાષાના કયા વ્યાકરણ નિયમો (સિન્ટેક્સ) ગોઠવાય છે. જ્યારે ડેવલપર કોઈ વાક્ય લખવાનું શરૂ કરે છે, ત્યારે કમ્પ્યુટર આગળની પંક્તિ આપોઆપ પૂરી કરી આપે છે (જેને ઓટોકમ્પ્લીટ કહેવાય છે). તે એક અનુભવી ડિજિટલ સહાયક (એઆઈ કો-પાયલટ) ની જેમ વારંવાર લખાતા કંટાળાજનક કોડને ઝડપથી પૂરો કરી દે છે.
ચાલતો કોડ અને સુરક્ષિત કોડ વચ્ચેનો મોટો તફાવત
સોફ્ટવેરની દુનિયામાં એક અત્યંત મહત્વનો નિયમ સમજવા જેવો છે: કોડમાં વ્યાકરણની કોઈ ભૂલ ન હોય અને તે કમ્પ્યુટરમાં ચાલુ થઈ જાય, એટલા માત્રથી તે સાચો કે સુરક્ષિત છે તેવું સાબિત થતું નથી. કમ્પ્યુટર મોડેલ ઘણીવાર એવો કોડ લખી આપે છે જે દેખાવમાં સુંદર હોય પરંતુ ગણતરીમાં ખોટો જવાબ આપે. જેમ કે, જો દુકાનમાં કોઈ ગ્રાહકે માલ પાછો આપી દીધો હોય, તો એ રકમ બાદ કરવાનું કમ્પ્યુટર ભૂલી જાય. વળી, કેટલીકવાર મોડેલ એવી કાલ્પનિક ફાઇલો કે લાઇબ્રેરીઓના નામ લખી દે છે જે દુનિયામાં ક્યારેય અસ્તિત્વમાં જ નહોતી (જેને કમ્પ્યુટરનો ભ્રમ કે હેલ્યુસિનેશન કહે છે).
સૂચનામાં રહેલી સ્પષ્ટતા પરિણામ પર કેટલો ઊંડો પ્રભાવ પાડે છે તે સમજવા જેવું છે. જો તમે માત્ર 'વેચાણનો સરવાળો કરો' એવી અસ્પષ્ટ સૂચના આપશો, તો મોડેલ માત્ર બે આંકડાનો સાદો સરવાળો લખી આપશે. તેના બદલે જો તમે સ્પષ્ટ લખો કે 'દુકાનદાર માટે વેચાણનો સરવાળો કરો, પરત કરેલી વસ્તુની રકમ બાદ કરો અને જો કોઈ વેચાણ ન થયું હોય તો શૂન્ય દર્શાવો', તો મોડેલ તે શરતો ધ્યાનમાં રાખીને વધુ વ્યવહારુ કોડ રજૂ કરશે. છતાં પણ આવી સ્પષ્ટ સૂચના પણ કોડ સંપૂર્ણપણે નિર્દોષ હોવાની ખાતરી આપતી નથી; તે માત્ર ચકાસણીના મુદ્દા સરળ બનાવે છે.
આ ઉપરાંત સોફ્ટવેર સુરક્ષાનો મોટો પડકાર રહે છે. ભાષા મોડેલ્સ જૂના પ્રોગ્રામ્સ પરથી શીખતાં હોવાથી ઘણીવાર જૂની કે અસુરક્ષિત પદ્ધતિઓવાળો કોડ સૂચવી દે છે. GitHub ની સત્તાવાર માર્ગદર્શિકા મુજબ, એઆઈએ લખેલા કોડને હંમેશા માત્ર એક કાચો મુસદ્દો જ ગણવો જોઈએ. પ્રોગ્રામરે તે કોડ ધ્યાનથી વાંચવો, પ્રોગ્રામના નાના નાના ભાગોની અલગથી ચકાસણી કરવી (જેને યુનિટ ટેસ્ટિંગ કહેવાય છે) અને સુરક્ષા તપાસવી અનિવાર્ય છે. OpenAI ના સંશોધન અહેવાલમાં પણ સ્પષ્ટ કરવામાં આવ્યું છે કે કોડિંગ સાધનોથી અજાણતાં સુરક્ષા નબળાઈઓ વધી શકે છે, તેથી માનવીય દેખરેખ અને સમીક્ષા વિના કોઈપણ કોડ સીધો ગ્રાહકો માટે અમલમાં મૂકવો જોખમી છે.
કોડિંગ સહાયક વાપરતી વખતે રાખવાની વ્યવહારુ સાવચેતી
આ ટેકનોલોજીનો સાચો લાભ ઝડપથી કામ શરૂ કરવામાં છે, પરંતુ સોફ્ટવેરની આખરી ગુણવત્તા માણસના હાથમાં જ રહે છે:
- સૂચનામાં અસામાન્ય પરિસ્થિતિઓ અગાઉથી સ્પષ્ટ કરો: માત્ર સાદો હિસાબ કરવાને બદલે, જો માહિતી અધૂરી હોય, રકમ ઋણ હોય કે ગ્રાહકે માલ પાછો આપ્યો હોય તો કમ્પ્યુટરે શું કરવું તે અગાઉથી લખો.
- જુદી જુદી સ્થિતિમાં કોડનું જાતે પરીક્ષણ (યુનિટ ટેસ્ટિંગ) કરો: કોડ ચલાવતી વખતે સામાન્ય આંકડા ઉપરાંત ખોટી વિગતો, શૂન્ય કે ખાલી ખાનાં ભરીને જુઓ કે પ્રોગ્રામ યોગ્ય રીતે અટકે છે કે ખોટા જવાબ આપે છે.
- ગુપ્ત પાસવર્ડ અને ડિજિટલ ચાવીઓ સુરક્ષિત રાખો: કોઈ વેબસાઇટ કે સોફ્ટવેર બનાવતી વખતે કોડની અંદર ક્યારેય અંગત પાસવર્ડ, ડેટાબેઝના ગુપ્ત ઓળખપત્રો કે ડિજિટલ ચાવીઓ (જેને API કી કહે છે) સીધી લખશો નહીં.
આર્ટિફિશિયલ ઇન્ટેલિજન્સ માનવીય બુદ્ધિનો વિકલ્પ નથી, પરંતુ તે વિચારતા મનને અને કામ કરતા હાથને ઝડપ આપનારું એક સાધન છે. પ્રોગ્રામ શું કામ કરે છે તે બરાબર સમજીને, દરેક પંક્તિની માનવીય નજરે ચકાસણી કરવામાં આવે તો આ ટેકનોલોજી અત્યંત ઉપયોગી અને સુરક્ષિત સાબિત થાય છે.