நான் AI-ஐப் பயன்படுத்தி எவ்வாறு கோட் (Code) டெலிவரி செய்கிறேன்

புத்திசாலித்தனமான ப்ராம்ப்ட்களை (prompts) எழுத முயற்சிப்பதை நிறுத்துங்கள். சூழலை (context) வடிவமைக்கத் தொடங்குங்கள்.

பெரும்பாலான மக்கள் AI-ஐத் தவறான முறையில் பயன்படுத்துகிறார்கள். அவர்கள் ஒரு வரியில் ஒரு அம்சத்தைக் (feature) கேட்கிறார்கள். AI தவறான லைப்ரரிகளைப் (libraries) பயன்படுத்தும் கோடைத் தருகிறது, உங்கள் பெயரிடும் முறைகளை (naming conventions) உடைக்கிறது, மேலும் பழைய பிழைகளை (bugs) மீண்டும் கொண்டுவருகிறது. அந்தச் சிக்கல்களைச் சரிசெய்வதிலேயே உங்கள் மதிய நேரத்தைச் செலவிட வேண்டியிருக்கும்.

சூழல் இல்லாத ஒரு AI என்பது உங்கள் கோட்பேஸை (codebase) ஒருபோதும் படிக்காத ஒரு ஜூனியர் டெவலப்பரைப் போன்றது. அது நேற்றைய அனைத்தையும் மறந்துவிடும். ஒரு புதிய பணியாளரிடம் ஒரு வரியில் ஒரு டிக்கெட்டை மட்டும் கொடுத்துவிட்டு, சரியான கோடை எதிர்பார்க்க மாட்டீர்கள். அவர்களுக்கு ஒரு ஆன்போர்டிங் ஆவணத்தை (onboarding document) வழங்குவீர்கள்.

எனது ரெப்போவில் (repo) நான் ஒரு 'புராஜெக்ட் மெமரி ஃபைலை' (project memory file) பயன்படுத்துகிறேன். இந்தத் கோப்பு ஒரு ஆன்போர்டிங் ஆவணமாகச் செயல்படுகிறது, அதை AI ஒவ்வொரு முறையும் வாசிக்கும். இதில் ஒரு வெளிப்பயனாளருக்குத் தெரியாத புராஜெக்ட் சார்ந்த விதிகள் இருக்கும்:

• மாற்ற முடியாதவை: URL-கள் எப்படி இருக்க வேண்டும் மற்றும் ஸ்லக்ஸ் (slugs) எவ்வாறு புரொடக்ஷனுடன் (production) ஒத்துப்போக வேண்டும் என்பது பற்றியவை. • லாஜிக் விதிகள்: எண்களை நேரடியாகக் குறியீட்டில் (hardcoding) எழுதுவதற்குப் பதிலாக, கான்ஃபிக்ஸ் (configs) மூலம் மதிப்புகளைப் பெறுவது. • எட்ஜ் கேஸ்கள் (Edge cases): அமைதியானத் தோல்விகளைத் (silent breaks) தவிர்க்க உதவும் குறிப்பிட்ட CDN அமைப்புகள் அல்லது கோப்புப் பாதைகள் (file paths).

நான் செய்யும் ஒவ்வொரு பிழையும் இந்தத் கோப்பில் ஒரு வரியாகச் சேர்கிறது. இது இந்தத் கோப்பை ஒரு வளர்ந்து வரும் சொத்தாக (compounding asset) மாற்றுகிறது. நான் மீண்டும் மீண்டும் சொல்ல வேண்டியத் தேவை இல்லாததால், காலப்போக்கில் AI-ன் வெளியீட்டின் தரம் மேம்படுகிறது.

எனது பணிப்பாய்வு (workflow) இந்த நிலைகளைப் பின்பற்றுகிறது:

  • சூழலைத் தயார் செய்தல் (Bootstrap the context): உங்கள் கோடிலிருந்து மெமரி ஃபைலைத் தயார் செய்ய AI-யிடம் கேளுங்கள், பின்னர் அதை நீங்கள் திருத்துங்கள்.
  • பணியைத் தெளிவுபடுத்துதல்: கோட் எழுதுவதற்கு முன், இலக்கைச் சுருக்கமாகக் கூற AI-யிடம் கேளுங்கள். இது பிழைகளை முன்கூட்டியே கண்டறிய உதவும்.
  • ப்ராம்ப்ட்டை மேம்படுத்துதல்: உங்கள் கோரிக்கையில் எது தெளிவற்றதாக உள்ளது என்று AI-யிடம் கேளுங்கள்.

இந்தத் பணிகளுக்காக AI-ஐப் பயன்படுத்துங்கள்:

  • போயிலர் பிளேட் (boilerplate) மற்றும் ஸ்கேஃபோல்டிங் (scaffolding) எழுதுதல்.
  • பேட்டர்ன் முறையைப் பின்பற்றி ரீஃபாக்டரிங் (refactors) செய்தல்.
  • அறிமுகமில்லாத கோடை விளக்குதல்.
  • ஒரு ரெப்போ முழுவதும் இயந்திரத்தனமான ஆய்வுகளைச் செய்தல்.
  • டெஸ்ட்கள் (tests) மற்றும் ஃபிக்ஸர்களை (fixtures) எழுதுதல்.

இந்தத் பணிகளுக்காக AI-ஐப் பயன்படுத்துவதைத் தவிர்க்கவும்:

  • புதிய ஆர்க்கிடெக்சர் (architecture) முடிவுகளை எடுத்தல்.
  • ரசனை அல்லது தயாரிப்பு சார்ந்த முடிவுகளை எடுத்தல்.
  • தவறு செய்வது அதிகச் செலவை ஏற்படுத்தும் எந்தவொரு விஷயமும்.
  • பாதுகாப்பு சார்ந்த முக்கியமான வடிவமைப்பு (Security-critical design).
  • டெலிவரி செய்வதற்கு முன் மேற்கொள்ளும் இறுதி ஆய்வு.

ஒழுக்கம் எளிமையானது:

  • பணிகளைச் சிறிய அளவில் வரையறுக்கவும். "இந்த அம்சத்தை உருவாக்கு" என்று சொல்லாமல், "இந்த குறிப்பிட்ட மாற்றத்தைச் செய்" என்று சொல்லுங்கள்.
  • சூழலை முன்கூட்டியே வழங்கவும்.
  • ஒவ்வொரு வெளியீட்டையும் சரிபார்க்கவும். பில்டை (build) இயக்கி, டிஃபை (diff) வாசிக்கவும்.
  • ஒரு ஜூனியர் டெவலப்பரின் PR-ஐப் போல அதை ஆய்வு செய்யுங்கள். ஒரு மனிதர் வாசிக்காமல் ஒருபோதும் கோடை கமிட் (commit) செய்யாதீர்கள்.
  • கற்ற பாடங்களை உங்கள் சூழல் கோப்பில் (context file) சேர்க்கவும்.

பலம் என்பது ப்ராம்ப்ட்டில் இல்லை. நீங்கள் பராமரிக்கும் சூழலில்தான் (context) உள்ளது.

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