હું કોડ શિપ કરવા માટે AI નો ઉપયોગ કેવી રીતે કરું છું

ચતુર પ્રોમ્પ્ટ્સ લખવાનો પ્રયાસ કરવાનું બંધ કરો. કોન્ટેક્સ્ટ એન્જિનિયરિંગ શરૂ કરો.

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

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

હું મારા રિપો (repo) માં પ્રોજેક્ટ મેમરી ફાઇલનો ઉપયોગ કરું છું. આ ફાઇલ એક ઓનબોર્ડિંગ ડોક્યુમેન્ટ તરીકે કામ કરે છે જે AI દર વખતે વાંચે છે. તેમાં પ્રોજેક્ટ-વિશિષ્ટ નિયમો હોય છે જે બહારની વ્યક્તિ જાણતી ન હોય:

• અનિવાર્ય બાબતો: URLs કેવા હોવા જોઈએ અને સ્લગ્સ (slugs) પ્રોડક્શન સાથે કેવી રીતે મેચ થવા જોઈએ. • લોજિક નિયમો: નંબરો હાર્ડકોડ કરવાને બદલે કોન્ફિગ્સ (configs) માંથી વેલ્યુ મેળવવી. • એજ કેસીસ (Edge cases): ચોક્કસ CDN સેટિંગ્સ અથવા ફાઇલ પાથ જે સાયલન્ટ બ્રેક્સ (silent breaks) ને અટકાવે છે.

મારી દરેક ભૂલ આ ફાઇલમાં એક લાઇન બની જાય છે. આ ફાઇલને એક કમ્પાઉન્ડિંગ એસેટ (compounding asset) માં ફેરવે છે. AI ના આઉટપુટની ગુણવત્તા સમય જતાં સુધરે છે કારણ કે હું મારી જાતને વારંવાર દોહરાવવાનું બંધ કરી દઉં છું.

મારો વર્કફ્લો આ સ્ટેપ્સ અનુસરે છે:

  • કોન્ટેક્સ્ટ બૂટસ્ટ્રેપ કરો: AI ને તમારા કોડમાંથી મેમરી ફાઇલ ડ્રાફ્ટ કરવા માટે કહો, પછી તમે તેને એડિટ કરો.
  • કાર્ય ફરીથી જણાવો: AI ને કોડ લખતા પહેલા લક્ષ્યનો સારાંશ પૂછો. આનાથી ભૂલો વહેલી પકડાઈ જાય છે.
  • પ્રોમ્પ્ટમાં સુધારો કરો: AI ને પૂછો કે તમારી વિનંતીમાં શું અસ્પષ્ટ છે.

આ કાર્યો માટે AI નો ઉપયોગ કરો:

  • બોઈલરપ્લેટ (boilerplate) અને સ્કેફોલ્ડિંગ (scaffolding) લખવા માટે.
  • પેટર્ન-ફોલોઇંગ રિફેક્ટર્સ (refactors) માટે.
  • અજાણ્યા કોડને સમજાવવા માટે.
  • રિપોમાં મિકેનિકલ સ્વીપ્સ (mechanical sweeps) કરવા માટે.
  • ટેસ્ટ અને ફિક્સ્ચર્સ (fixtures) લખવા માટે.

આ કાર્યો માટે AI નો ઉપયોગ કરવાનું ટાળો:

  • નવા આર્કિટેક્ચર નિર્ણયો લેવા માટે.
  • પસંદગી અથવા પ્રોડક્ટ સંબંધિત નિર્ણયો લેવા માટે.
  • એવી કોઈપણ બાબત જ્યાં ભૂલ કરવી મોંઘી પડે.
  • સુરક્ષા-મહત્વપૂર્ણ ડિઝાઇન (Security-critical design).
  • શિપિંગ પહેલાં અંતિમ રિવ્યુ માટે.

શિસ્ત સરળ છે:

  • કાર્યોનું સ્કોપ નાનું રાખો. "બિલ્ડ ધિસ ફીચર" ન કહો. "આ ચોક્કસ ફેરફાર કરો" એમ કહો.
  • પહેલેથી જ કોન્ટેક્સ્ટ આપો.
  • દરેક આઉટપુટને વેરિફાય કરો. બિલ્ડ રન કરો અને ડિફ (diff) વાંચો.
  • તેને જુનિયર ડેવલપરના PR ની જેમ રિવ્યુ કરો. માણસ દ્વારા વાંચ્યા વગર ક્યારેય કોડ કમિટ (commit) કરશો નહીં.
  • શીખેલા પાઠોને તમારી કોન્ટેક્સ્ટ ફાઇલમાં પાછા ઉમેરો.

લીવરેજ (leverage) પ્રોમ્પ્ટમાં નથી. લીવરેજ તમે જે કોન્ટેક્સ્ટ જાળવી રાખો છો તેમાં છે.

Source: https://dev.to/faizahmedfarooqui/how-i-actually-use-ai-to-ship-code-context-engineering-over-clever-prompts-il8

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