મુખ્ય પ્રોડક્ટના કામ માટે AI પર વિશ્વાસ કરતા પહેલા, આ વાંચો
ડેમો (demo) અને પ્રોડક્શન સિસ્ટમ (production system) અલગ રીતે કામ કરે છે. ઘણા AI ટૂલ્સ ડેમોમાં ઉત્કૃષ્ટ હોય છે. જે સ્થાપકો આ બંને વચ્ચે ભૂલ કરે છે, તેઓ ઘણીવાર ઝડપી પ્રોટોટાઇપ બનાવે છે, પરંતુ પછીથી તેમને ધીમી રીબિલ્ડિંગ પ્રક્રિયાનો સામનો કરવો પડે છે.
AI કોડિંગનો સ્વીકાર વધી રહ્યો છે. 78% થી વધુ કંપનીઓ તેમના મુખ્ય વ્યવસાયિક કાર્યોમાં AI નો ઉપયોગ કરે છે. નાના સ્ટાર્ટઅપ્સમાં, આ સ્વીકાર 60% થી વધુ છે.
જોકે, ગુણવત્તાયુક્ત ડેટા જોખમો દર્શાવે છે. CodeRabbit ના સંશોધનમાં જાણવા મળ્યું છે કે AI દ્વારા લખવામાં આવેલા કોડમાં માનવ કોડ કરતા 1.75 ગણા વધુ લોજિકલ ઇશ્યુઝ (logic issues) હોય છે. સિક્યુરિટી વલ્નરેબિલિટીઝ (security vulnerabilities) 2.74 ગણી વધારે હતી. કેટલાક અભ્યાસો દર્શાવે છે કે AI દ્વારા જનરેટ થયેલ Java કોડ 70% થી વધુ સમય સિક્યુરિટી બેન્ચમાર્ક નિષ્ફળ જાય છે.
સમસ્યા માળખાગત (structural) છે. જ્યારે તમે અસ્પષ્ટ પ્રોમ્પ્ટ (vague prompt) નો ઉપયોગ કરો છો, ત્યારે AI આર્કિટેક્ચર અને કોડ બંને એકસાથે બનાવે છે. આ ખોટો ક્રમ છે.
Spec-Driven Development (SDD) આ સમસ્યાનું સમાધાન કરે છે. તમે પહેલા સિસ્ટમના નિયમો વ્યાખ્યાયિત કરો છો. કોઈપણ કોડ લખતા પહેલા તમે API શેપ્સ (shapes), ડેટાબેઝ સ્કીમા (database schemas) અને સીમાઓ (boundaries) નક્કી કરો છો. ત્યારબાદ, તમે તે નિયમો મુજબ બિલ્ડ કરવા માટે AI નો ઉપયોગ કરો છો.
આ અભિગમ કામ કરે છે કારણ કે AI અનુમાન લગાવવાને બદલે નિયંત્રણો (constraints) સાથે કામ કરે છે.
પ્રોડક્શન રેડીનેસ (Production readiness) એ કોઈ વધારાની સુવિધા નથી. તે તમારા આર્કિટેક્ચરનો એક ભાગ છે. બેકએન્ડ સાથેનું જનરેટ થયેલું ફ્રન્ટએન્ડ એક ઉપયોગી સાધન છે, પરંતુ તે પ્રોડક્શન સિસ્ટમ નથી. વાસ્તવિક સિસ્ટમ માટે નીચેની બાબતોની જરૂર છે:
- કન્ટેનરાઇઝ્ડ ડિપ્લોયમેન્ટ (Containerized deployment)
- ઇન્ફ્રાસ્ટ્રક્ચર-એઝ-કોડ (Infrastructure-as-code)
- ઓર્કેસ્ટ્રેશન (Orchestration)
- હેલ્થ ચેક્સ (Health checks)
- CI/CD પાઇપલાઇન્સ (CI/CD pipelines)
- ટેસ્ટ કવરેજ (Test coverage)
- ઓબ્ઝર્વેબિલિટી (Observability)
પ્રોડક્શન માટે AI ટૂલ્સનું મૂલ્યાંકન કરતી વખતે, આ પાંચ પ્રશ્નો પૂછો:
- તે કોડ લખતા પહેલા શું કરે છે? જો તે કંઈ જ ન કરે, તો તમે આર્કિટેક્ચરલ ડેબ્ટ (architectural debt) ઊભું કરી રહ્યા છો.
- કોડ સિવાય આઉટપુટમાં શું છે? ઇન્ફ્રાસ્ટ્રક્ચર અને ટેસ્ટ આઉટપુટનો ભાગ હોવા જોઈએ, તે પછીથી વિચારવા જેવી બાબતો ન હોવી જોઈએ.
- શું તમે નિર્ણયોનું નિરીક્ષણ કરી શકો છો? 'બ્લેક બોક્સ' (black box) જેવી સ્થિતિ ટાળવા માટે તમારે AI કેવી રીતે કામ કરે છે તે જોવું જરૂરી છે.
- સિસ્ટમ નિષ્ફળતાને કેવી રીતે હેન્ડલ કરે છે? એરર હેન્ડલિંગ (Error handling) અને એલર્ટિંગ (alerting) સિસ્ટમમાં જ સામેલ હોવા જોઈએ.
- શું તમે તમારો કોડ ખસેડી શકો છો? પ્રોપ્રાઇટરી પ્લેટફોર્મ (proprietary platform) સાથે જોડાયેલ કોડ એ નિર્ભરતા (dependency) છે, સંપત્તિ (asset) નથી.
ડેમોના આઉટપુટને જોવાનું બંધ કરો. ડેમો બનાવતા પહેલા જે વ્યવસ્થિત વિચાર પ્રક્રિયા (structured thinking) થઈ હતી તેના પર ધ્યાન આપો.
શ્રેષ્ઠ ટીમો આર્કિટેક્ચરને અવગણતી નથી. તેઓ આર્કિટેક્ચર ઝડપથી કરવા માટે વધુ સારા સાધનોનો ઉપયોગ કરે છે. તેઓ એન્જિનિયરિંગ જજમેન્ટ (engineering judgment) અમલમાં લાવવા માટે AI નો ઉપયોગ કરે છે, તેને બદલવા માટે નહીં.
સ્ત્રોત: https://dev.to/8080_ai/before-you-trust-ai-with-core-product-work-read-this-2go3