AI કોડ લખે છે. તેને સંદર્ભ (Context) કોણ આપે છે?

AI કોડ લખી શકે છે. પરંતુ તે તમારી સિસ્ટમ વિશે જાણતું નથી.

જ્યારે તમે કોડિંગ માટે AI નો ઉપયોગ કરો છો, ત્યારે પ્રથમ જવાબ ભાગ્યે જ શ્રેષ્ઠ હોય છે. તમારે સંદર્ભ ઉમેરવો પડશે. તમારે ભૂલો સુધારવી પડશે. તમે પહેલા શું પ્રયાસ કર્યો છે તે તમારે સમજાવવું પડશે.

આ પ્રક્રિયાને context engineering કહેવામાં આવે છે. સોફ્ટવેર એન્જિનિયરિંગમાં AI નો ઉપયોગ કરતી વખતે તે સૌથી મહત્વપૂર્ણ ભાગ છે.

AI વ્યાજબી કોડ બનાવે છે. તે સાચો લાગે છે. કદાચ તે ટેસ્ટ પણ પાસ કરી શકે છે. પરંતુ સોફ્ટવેર શૂન્યાવકાશમાં અસ્તિત્વ ધરાવતું નથી. તેણે તમારી ચોક્કસ દુનિયામાં ફિટ થવું જોઈએ.

AI આપમેળે તમારી આ બાબતો જાણતું નથી:

  • આર્કિટેક્ચરના નિયમો (Architecture rules)
  • સુરક્ષા જરૂરિયાતો (Security needs)
  • હાલના પેટર્ન (Existing patterns)
  • ડોમેન લોજિક (Domain logic)
  • ટેકનિકલ નિર્ણયો (Technical decisions)

જો તમે આ સંદર્ભ પૂરો પાડશો નહીં, તો તમે સમસ્યાઓ ઊભી કરશો.

એક મોટું જોખમ ડુપ્લીકેશન (duplication) છે. AI ને ખબર નથી હોતી કે તમારી પાસે પહેલેથી જ એક વેલિડેશન હેલ્પર અથવા ચોક્કસ એરર હેન્ડલર છે. તે ફક્ત નવું બનાવી દેશે. હવે તમારી સિસ્ટમ પાસે એક જ સમસ્યા ઉકેલવા માટે બે રીતો હશે. આ 'પોતાની વાતનું પુનરાવર્તન ન કરો' (not repeating yourself) ના નિયમનું ઉલ્લંઘન કરે છે.

જો તમે ફક્ત ઝડપ માટે ઓપ્ટિમાઇઝ કરશો, તો તમે તમારા ભવિષ્યને ધીમું પાડી દેશો. તમે ફીચર્સ ઝડપથી મોકલી શકશો, પરંતુ તમારી સિસ્ટમમાં ફેરફાર કરવો મુશ્કેલ બની જશે.

આને સુધારવા માટે, તમારે એન્જિનિયરિંગ જ્ઞાન સાથે કોડની જેમ વર્તવું જોઈએ. તેને આ રીતે હોવું જોઈએ:

  • વર્ઝન કરેલું (Versioned)
  • રિવ્યુ કરેલું (Reviewed)
  • માલિકી ધરાવતું (Owned)
  • અપ-ટુ-ડેટ રાખેલું (Kept current)

માત્ર ડોક્યુમેન્ટેશન પૂરતું નથી. જૂનું (outdated) ડોક્યુમેન્ટેશન જોખમી છે. તે AI ને ખોટો આત્મવિશ્વાસ આપે છે. તે મોડેલને એવા જૂના પેટર્ન અનુસરવા તરફ દોરી જાય છે જેનો તમારો ટીમ હવે ઉપયોગ કરતી નથી.

શ્રેષ્ઠ ટીમો માત્ર સારા પ્રોમ્પ્ટ્સ (prompts) જ નથી લખતી. તેઓ વધુ સારા ગાર્ડરેલ્સ (guardrails) બનાવે છે.

AI ને નિયમનું પાલન કરવા કહેવાને બદલે, તેને લાગુ કરવા માટે ઓટોમેટેડ ટેસ્ટનો ઉપયોગ કરો. નીચેની બાબતો તપાસવા માટે CI/CD નો ઉપયોગ કરો:

  • સ્ટેટિક એનાલિસિસ ભૂલો (Static analysis errors)
  • સુરક્ષાની ખામીઓ (Security vulnerabilities)
  • આર્કિટેક્ચરલ બાઉન્ડ્રી ઉલ્લંઘન (Architectural boundary violations)
  • ડિપેન્ડન્સીની સમસ્યાઓ (Dependency issues)

AI કોડ બનાવવાની પ્રક્રિયા સસ્તી બનાવે છે. તે પ્રોડક્ટને સમજવાનું મહત્વ ઘટાડતું નથી. હકીકતમાં, સંદર્ભ (context) સૌથી મૂલ્યવાન સંસાધન બની જાય છે.

વિજેતા એ ટીમો નહીં હોય જે સૌથી વધુ કોડ જનરેટ કરે છે. વિજેતા એ ટીમો હશે જે વિવિધ ભાગો કેવી રીતે એકબીજા સાથે જોડાયેલા છે તેના પર સૌથી સ્પષ્ટ સૂચનાઓ આપશે.

Source: https://dev.to/icetique/ai-can-write-the-code-who-gives-it-the-context-2l1b

Optional learning community: https://t.me/GyaanSetuAi