மென்பொருள் பொறியியல் முடிந்துவிட்டது. தொழில்நுட்ப ட்விட்டரில் (tech Twitter) சத்தமாகப் பேசும் பலரும் நீங்கள் அதை நம்ப வேண்டும் என்று நினைக்கிறார்கள். ஒரு சிறிய பத்தித் தூண்டுதலில் (prompt) இருந்து முழுமையான பயன்பாடுகளை உருவாக்கும் AI கருவிகளின் திரைப்பதிவுகளைப் பகிர்ந்துவிட்டு, ஏன் இன்னும் ஒரு மனிதருக்குக் குறியீடு (code) எழுதப் பணம் கொடுக்க வேண்டும் என்று அவர்கள் கேட்கிறார்கள். இந்தத் பதற்றம் புரிகிறது, ஆனால் இது உண்மையான விஷயத்தைத் தவறவிடுகிறது.

AI பொறியாளர்களைத் தாக்க வரவில்லை. தட்டச்சு செய்யும் வேகத்தை தொழில்நுட்பத் திறனாகத் தவறாகக் கருதுபவர்களைத் தாக்கவே வருகிறது. குறியீடு எழுதுவதற்கும் (coding) பொறியியல் செய்வதற்கும் (engineering) இடையே ஒரு மிகப்பெரிய இடைவெளி உள்ளது, அந்த இடைவெளியில்தான் இந்த முழுத் தொழில்துறையும் இயங்குகிறது.

நீங்கள் உங்கள் காபியைத் தொடங்கும் முன்பே, ஒரு அம்சத்தை (feature) செயல்படுத்த ஐந்து வெவ்வேறு வழிகளை ஒரு AI உதவியாளர் உங்களுக்குக் கொடுத்துவிடும். இப்போது சவாலின் மையம் மாறிவிட்டது. எங்கு தொடங்குவது என்று தெரியாமல் ஒரு வெற்றுத் கோப்பையே (blank file) உற்றுப் பார்த்துக் கொண்டிருக்க வேண்டிய அவசியம் இல்லை. மாறாக, உண்மையான பயன்பாட்டாளர்கள் (traffic) வரும்போது எந்தத் தீர்வு முறிந்துவிடாது என்று யோசித்து, கொடுக்கப்பட்ட ஐந்து சாத்தியமான தீர்வுகளில் எதைத் தேர்ந்தெடுப்பது என்று நாம் யோசிக்க வேண்டியுள்ளது. அந்தத் தீர்வைத் தேர்ந்தெடுப்பதே பொறியியல் (engineering). மற்றவை வெறும் குறியீட்டு முறை (syntax) மட்டுமே.

டெமோ என்பது தயாரிப்பு அல்ல

எந்தவொரு AI கோடிங் டெமோவையும் பார்த்தால், சில நிமிடங்களில் ஒரு அழகான இடைமுகம் (interface) உருவாவதைக் காண்பீர்கள். ஆனால், அதிகப்படியான பயன்பாட்டின் போது தரவுத்தள இணைப்புத் தொகுப்பு (database connection pool) எவ்வாறு காலாவதியாகிறது என்பதை நீங்கள் பார்க்க முடியாது. ஒரு API முனையத்தில் (endpoint) விடுபட்ட விகிதக் கட்டுப்பாடுகள் (rate limits), தணிக்கை பதிவுகள் (audit logs) இல்லாமை, அல்லது AI ஒரு வசதியான இடமாக நினைத்து ஒவ்வொரு பயனர் தொடர்பையும் ஒரு ஆப்ஜெக்ட் பக்கெட்டில் (object bucket) சேமிப்பதால் ஏற்படும் சேமிப்புச் செலவுகள் ஆகியவற்றை நீங்கள் பார்க்க முடியாது.

உற்பத்தி அமைப்புகள் (Production systems) அளவிடுதல் (scalability), பாதுகாப்பு (security), செயல்திறன் (performance) மற்றும் செலவுக் கட்டுப்பாடு ஆகியவற்றைத் தேவையாகக் கொண்டுள்ளன. இந்தத் தகுதிகள் ஒரு ஸ்பிரிண்ட் ரிவ்யூவில் (sprint review) கண்ணுக்குத் தெரியாது. உண்மையான பயனர்கள் தங்களின் கணிக்க முடியாத நடத்தைகளுடனும், விசித்திரமான சூழல்களுடனும் (edge cases), நீங்கள் எதிர்பார்த்த வரிசையில் பொத்தான்களை அழுத்த மறுப்பதன் மூலமும் வரும்போது மட்டுமே இவை வெளிப்படும். QA-வில் சிறப்பாகத் தெரிந்த பல AI சார்ந்த திட்டங்கள், பயன்பாட்டிற்கு வந்த ஒரு வாரத்திலேயே பெரும் செலவு மிகுந்த பாடங்களாக மாறியிருப்பதை நான் பார்த்திருக்கிறேன்.

இயங்கும் குறியீடு (Working code) மலிவாகிவிட்டது. ஆனால் சிறந்த பொறியியல் (Good engineering) அப்படி இல்லை.

இப்போது எது முக்கியம்

இந்த மாற்றத்தில் சிறந்து விளங்கும் பொறியாளர்கள் வேகமாகத் தட்டச்சு செய்பவர்கள் அல்ல. ஒரு வரியைக் கூட உருவாக்கத் தொடங்குவதற்கு முன், எந்தக் கேள்விகளைக் கேட்க வேண்டும் என்று தெரிந்தவர்களே அவர்கள்.

  • அவர்கள் சிக்கல்களைத் தெளிவாக வரையறுக்கிறார்கள். நீங்கள் அனுமதித்தால், ஒரு AI மாதிரி தவறான சிக்கலை மகிழ்ச்சியுடன் தீர்க்கும். ஆறு உள் ஆய்வாளர்களால் (internal analysts) மட்டுமே பயன்படுத்தப்படும் ஒரு டேஷ்போர்டிற்காக, அது ஒரு சிக்கலான கேச்சிங் லேயரை (caching layer) உருவாக்கும். உண்மையான சிக்கல் ஒரு விடுபட்ட தரவுத்தள இன்டெக்ஸ் (database index) அல்லது அடிப்படை ரீதியாகப் பிழையான தரவு மாதிரியா என்று அது கேட்காது. ஒரு திறமையான பொறியாளர், தீர்வு குறியீடாக இருந்தாலும் இல்லாவிட்டாலும், அந்தத் தீர்வு தெளிவாகத் தெரியும் வரை சிக்கலை மறுவரையறை செய்வார்.

  • அவர்கள் பெரிய அமைப்புகளைச் சிறிய பகுதிகளாகப் பிரிக்கிறார்கள். AI உள்ளூர் சூழலில் (local context) சிறந்து விளங்குகிறது. அது ஒரு தனிச் செயல்பாடு (function), ஒரு தனிப் பகுதி (component) அல்லது ஒரு தனிச் சோதனை (test) ஆகியவற்றினை எழுத முடியும். ஆனால், ஒரு முழுமையான விநியோகிக்கப்பட்ட கட்டமைப்பை (distributed architecture) ஒரே நேரத்தில் கையாள அது தடுமாறும். ஒரு மோனோலித்தை (monolith) பிரிக்கத் தெரிந்தவர்கள், சேவைகளுக்குச் சுற்றளவை வரையறுக்கத் தெரிந்தவர்கள் மற்றும் குழுக்களுக்கு இடையே ஒப்பந்தங்களை (contracts) வரையறுக்கத் தெரிந்த பொறியாளர்களே, உருவாக்கப்பட்ட சிறு துண்டுகளைத் நிலையான அமைப்புகளாக மாற்றுகிறார்கள்.

  • அவர்கள் AI ஆலோசனைகளைச் சவாலுக்கு உட்படுத்துகிறார்கள். அந்த மாதிரியின் தன்னம்பிக்கை ஒரு மாயை. அது நெட்வொர்க் தாமதத்தைப் (network latency) புறக்கணிக்கும் கட்டமைப்புகளைப் பரிந்துரைக்கலாம், பல ஆண்டுகளாகப் பயன்பாட்டில் இல்லாத (deprecated) நூலகங்களைப் (libraries) பரிந்துரைக்கலாம் அல்லது தேவைகளிலேயே இல்லாத அம்சங்களைச் செயல்படுத்த முயலலாம்.