மேம்பாடு என்பது மீண்டும் மீண்டும் பயனுள்ள புதிய ஒன்றை உருவாக்குவதாகும்.
"மேம்பாடு" என்று நாம் கேட்கும்போது, புதிய தயாரிப்பு மேம்பாடு அடிக்கடி நினைவுக்கு வரும். இது தனிப்பட்ட தயாரிப்புகளை உற்பத்தி செய்வதிலிருந்து வேறுபடுகிறது; இது தயாரிப்பின் வரைபடங்கள் அல்லது அச்சுகளை உருவாக்குவதைக் குறிக்கிறது.
எனவே, புதிய தயாரிப்பு மேம்பாட்டின் மூலம் உருவாக்கப்பட்ட வடிவமைப்புகள் மற்றும் அச்சுகள் தொழிற்சாலைகளில் மீண்டும் மீண்டும் பயன்படுத்தப்பட்டு, ஒரே மாதிரியான தயாரிப்புகள் பெருமளவில் உற்பத்தி செய்யப்படுகின்றன.
தனிப்பட்ட திறன்களை மேம்படுத்துவது அல்லது ஒரு சமூகத்தையும் நாட்டையும் மேம்படுத்துவது போன்ற "மேம்பாடு" என்ற வார்த்தையின் பயன்பாடுகளும் உள்ளன. இவை வெறும் உடைமைகளின் அதிகரிப்பைக் குறிக்காமல், மேம்படுத்தப்பட்ட திறன்களை மீண்டும் மீண்டும் பயன்படுத்தி பலன் பெறும் திறனைக் குறிக்கின்றன.
தனிநபர்கள் மற்றும் சமூகங்களின் பொருளாதார சக்தி பொருளாதார நிலைமைகளுடன் ஏற்ற இறக்கமாக இருக்கலாம், ஆனால் மேம்படுத்தப்பட்ட திறன்கள் பொதுவாக நிரந்தரமானவை.
அவை குறைந்தாலும், அது பொருளாதார செழிப்பு போன்ற ஏற்ற இறக்கமாக கருதப்படாமல், ஒரு சரிவாகவே பார்க்கப்படுகிறது.
மேலும், தொழில்நுட்பம் மற்றும் அறிவின் மேம்பாடு உள்ளது. தனிநபர்கள் அல்லது குறிப்பிட்ட சமூகங்களின் திறன்களைப் போலன்றி, இவை எளிதாகப் பகிரப்படக்கூடிய சிறப்பம்சத்தைக் கொண்டுள்ளன.
மேலும் இந்த மேம்பாடுகளின் விளைவுகளான தயாரிப்புகள், திறன்கள், அறிவு மற்றும் தொழில்நுட்பங்கள் ஆகியவற்றில் சில, அடுத்தடுத்த மேம்பாட்டிற்குப் பயனுள்ளதாக இருக்கும்.
அத்தகைய பயனுள்ள விளைவுகளை மேம்படுத்துவதன் மூலம், மேம்பாட்டின் நோக்கம் விரிவடைகிறது, மேலும் செயல்திறன் மற்றும் தரமும் மேம்படுகிறது.
AI-உந்துதல் மென்பொருள் மேம்பாடு
பொதுவாக, மேம்பாட்டிற்கு கணிசமான நேரமும் முயற்சியும் தேவைப்பட்டன. குறிப்பாக சமூகம் முன்னேறவும், பல்வேறு விஷயங்கள் மிகவும் சிக்கலடையவும், புதிய விஷயங்களை உருவாக்குவது பெருகிய முறையில் கடினமாகிறது.
இருப்பினும், உருவாக்கும் AI இன் வருகையுடன், இந்த நிலைமை மாறி வருகிறது. தற்போது, உருவாக்கும் AI இன் உயர் நிரலாக்கத் திறன்களால் மென்பொருள் மேம்பாடு ஒரு வியத்தகு மாற்றத்திற்கு உள்ளாகி வருகிறது.
உருவாக்கும் AI ஐ அடிப்படையாகக் கொண்ட தன்னாட்சி முகவர்கள் மென்பொருள் பொறியாளர்களாக மென்பொருள் மேம்பாட்டின் மையமாக மாறும் ஒரு எதிர்காலக் காட்சி ஏற்கனவே யதார்த்தமாகி வருகிறது.
நாம் தற்போது ஒரு இடைக்கால கட்டத்தில் இருக்கிறோம். உருவாக்க AI க்கு மேம்பாட்டை முழுமையாக ஒப்படைக்க முடியாவிட்டாலும், உருவாக்கும் AI ஐ திறமையாகப் பயன்படுத்துவது மென்பொருள் மேம்பாட்டை சக்திவாய்ந்த முறையில் முன்னேற்ற முடியும்.
இது AI-உந்துதல் மென்பொருள் மேம்பாடு என்று குறிப்பிடப்படுகிறது.
மேம்பாடு சார்ந்த மேம்பாடு
உருவாக்கும் AI மென்பொருள் மேம்பாட்டை சீரமைக்கும் போது, அது இறுதி இலக்கு மென்பொருளின் மேம்பாட்டை மட்டும் திறமையாக்குவதுடன், மேம்பாட்டிற்கு உதவும் மென்பொருளின் மேம்பாட்டையும் திறமையாக்க முடியும்.
முன்னரே குறிப்பிட்டது போல, மேம்பாட்டிற்கு உதவும் விளைவுகள் மேம்பாட்டின் நோக்கத்தை விரிவுபடுத்துகின்றன மற்றும் அதிகரித்த செயல்திறன் மற்றும் தரத்திற்கு பங்களிக்கின்றன. மேலும், திறம்பட உருவாக்கப்பட்டால், அவை மற்ற மேம்பாட்டு திட்டங்களிலும் மீண்டும் பயன்படுத்தப்படலாம்.
எனவே, மென்பொருள் மேம்பாட்டின் போது பயனுள்ள மென்பொருளை உருவாக்குவதன் மூலம், ஒட்டுமொத்த செயல்திறன் இறுதியில் அதிகரிக்கப்படலாம், மேலும் இந்த சொத்துக்கள் எதிர்கால மேம்பாட்டிற்கும் பயன்படுத்தப்படலாம்.
பாரம்பரியமாக, அத்தகைய மேம்பாட்டிற்கு உதவும் மென்பொருளை உருவாக்குவது துறையில் ஒரு பொதுவான நடைமுறையாக இருந்தது, ஆனால் அதற்கு அதன் சொந்த மேம்பாட்டு நேரம் மற்றும் முயற்சி தேவைப்பட்டது, கவனமாக மதிப்பீடு மற்றும் இலக்கு செயல்படுத்தல் அவசியமானது.
உருவாக்கும் AI ஐப் பயன்படுத்துவதன் மூலம், சிறிய, தற்காலிக பணிகளை தானியங்குபடுத்துவதற்கான எளிய மென்பொருளை விரைவாக உருவாக்க முடியும். தெளிவான செயல்முறைகளைக் கொண்ட பணிகளுக்கு, உருவாக்கும் AI கிட்டத்தட்ட பிழைகள் இல்லாமல் துல்லியமான நிரல்களை உருவாக்க முடியும்.
இது மென்பொருள் மேம்பாட்டின் போது மேம்பாட்டிற்கு உதவும் மென்பொருளை உருவாக்குவதை முன்பை விட எளிதாக்குகிறது.
மேலும் ஆழமான சிந்தனையின் பேரில், மேம்பாட்டுச் செயல்பாட்டின் போது பயனுள்ள கருவிகள் தொடர்ச்சியாக உருவாக்கப்பட்டு, மேம்பாட்டு முறையையே மாற்றியமைக்கும் ஒரு மேம்பாட்டுப் பாணி உருவாகிறது.
இதை நாம் மேம்பாடு சார்ந்த மேம்பாடு என்று அழைப்போம்.
மேம்பாடு சார்ந்த மேம்பாட்டைப் பயிற்சி செய்ய, ஒருவரின் மென்பொருள் மேம்பாட்டை புறநிலையாகக் கவனித்து, எந்தப் பகுதிகளை மென்பொருளுக்கு ஒதுக்கலாம், எந்தப் பகுதிகளை மனிதர்கள் மட்டுமே செய்ய முடியும் என்று கருதும் பழக்கமும், அத்தகைய மேம்பாட்டிற்கு உதவும் மென்பொருளை உருவாக்கும் திறனும் தேவை.
மேலும், இந்த மென்பொருள் கருவிகளில் உருவாக்க AI ஐ ஒருங்கிணைக்க முடியும். இதை மென்பொருளுக்குள் உட்பொதிப்பதன் மூலம், ஒரு தனிப்பட்ட உருவாக்க AI முகவரைப் போலன்றி, செயலாக்கத்தின் நோக்கத்தை ஓரளவு சுருக்கலாம் மற்றும் ஒரு தெளிவான பாதையை வரையறுக்கலாம்.
AI முகவர்கள் தூண்டுதல் மூலம் ஒத்த முடிவுகளை அடைய முடியும் என்றாலும், உருவாக்க AI ஐ ஒருங்கிணைக்கும் மென்பொருள் நிரல்கள் மற்றும் தூண்டுதல்கள் இரண்டையும் இணைப்பதன் மூலம் துல்லியத்தை எளிதாக அதிகரிக்க முடியும்.
மேம்பாடு சார்ந்த மேம்பாடு நடைமுறைப்படுத்தப்பட்டால், முதல் திட்டத்துடன் ஒப்பிடுகையில் இரண்டாவது திட்டம் தரம் மற்றும் செலவு இரண்டிலும் மேம்பாடுகளைக் காணும். மேலும், அடுத்தடுத்த ஒவ்வொரு திட்டத்திலும் - மூன்றாவது, நான்காவது மற்றும் பலவற்றிலும் - மேம்பாடுகள் தொடர்ந்து குவியும்.
இது உருவாக்க AI ஐப் பயன்படுத்தி மென்பொருளை உருவாக்குவதிலிருந்து முற்றிலும் வேறுபட்டது. வெறும் உருவாக்க AI கருவிகளில் தேர்ச்சி பெறும் குழுக்களுக்கும், மேம்பாடு சார்ந்த மேம்பாட்டைப் பயிற்சி செய்யும் குழுக்களுக்கும் இடையே காலப்போக்கில் ஒரு குறிப்பிடத்தக்க இடைவெளி உருவாகும்.
மறுசீரமைப்பு-உந்துதல் சோதனை
சோதனை-உந்துதல் மேம்பாடு (TDD) என்ற ஒரு கருத்து உள்ளது, இது முதலில் விவரக்குறிப்புகளின் அடிப்படையில் சோதனைகளை வடிவமைத்து, பின்னர் அந்த சோதனைகளில் தேர்ச்சி பெற மென்பொருளை உருவாக்குவதை உள்ளடக்கியது.
ஆரம்பத்தில், உருவாக்கும் AI தானியங்கி சோதனைக்கான சோதனை நிரல்களை உருவாக்குவதை எளிதாக்குவதால், சோதனை-உந்துதல் மேம்பாடு சாத்தியமாகும் என்று நானும் நினைத்தேன்.
இருப்பினும், மேம்பாடு சார்ந்த மேம்பாட்டை நான் பயிற்சி செய்யத் தொடங்கியபோது, செயல்படுத்தலுக்கு முன் சோதனைகளை வடிவமைக்கும் அணுகுமுறை எப்போதும் பொருத்தமானதல்ல என்று நான் நம்பத் தொடங்கினேன்.
குறிப்பாக வலைப் பயன்பாடுகள் போன்ற மென்பொருள்களுக்கு, பயனர் அனுபவம் மற்றும் காட்சி வடிவமைப்பு போன்ற அகநிலை அம்சங்கள் உள்ளன, அவை ஒருவருடன் தொடர்பு கொள்வதன் மூலம் அனுபவிக்க முடியும், மென்பொருளை உண்மையில் இயக்கி தொடர்பு கொள்வது விரிவான சோதனைக்கு முன்னுரிமை அளிக்கிறது என்பதை நான் உணர்ந்தேன்.
ஏனென்றால், தொடர்புகொள்ளும் போது UI/UX மட்டத்தில் குறிப்பிடத்தக்க அதிருப்திகள் இருந்தால், கட்டமைப்பு, அடிப்படை கட்டமைப்பு, தரவு மாதிரி அல்லது பயன்பாட்டு நிகழ்வுகள் போன்ற அடிப்படைப் பகுதிகளை மாற்ற வேண்டிய அவசியம் ஏற்படலாம்.
எனது தற்போதைய தனிப்பட்ட மென்பொருள் மேம்பாட்டுத் திட்டத்தில், செயல்பாட்டு நெகிழ்வுத்தன்மை மற்றும் செயல்திறனில் உள்ள சிக்கல்களையும் நான் கவனித்தேன், இது இரண்டு கட்டமைப்புகளை வேறு ஒருவற்றுடன் மாற்ற வழிவகுத்தது.
மோசமான நினைவக பயன்பாட்டுத் திறனைக் கொண்ட ஒரு பகுதியும் இருந்தது, அதற்கு முழுமையான செயலாக்க மறுசீரமைப்பு தேவைப்பட்டது.
இந்த மறுசீரமைப்பு சந்திப்புகளில் தான் சோதனை முதலில் ஒரு நனவான கருத்தாகிறது.
இது மேம்பாட்டின் ஆரம்ப கட்டங்களில் இருந்தால், அல்லது அம்சங்கள் மற்றும் விவரக்குறிப்புகள் குறிப்பிடத்தக்க அளவில் மாறப் போகிறது என்றால், சோதனைகள் அவசியமில்லை.
இருப்பினும், மேம்பாடு ஏற்கனவே நன்றாக நடந்து கொண்டிருந்தால் மற்றும் சரிபார்க்க பல உருப்படிகள் இருந்தால், செயல்பாட்டு குறைபாடுகள் அல்லது விடுபட்டவை இல்லை என்பதை உறுதிப்படுத்த மறுசீரமைப்பின் போது சோதனைகள் தேவைப்படலாம்.
எனவே, மேம்பாடு ஒரு குறிப்பிட்ட அளவிற்கு முன்னேறி, மறுசீரமைப்பு தேவைப்படும் கட்டத்தில் சோதனை நிரல்களை உருவாக்கும் யோசனை ஒரு மோசமானதல்ல.
இந்தக் கட்டத்தில், எல்லா குறியீட்டிற்கும் சோதனைகளை உருவாக்குவது முக்கியமல்ல, மாறாக எதிர்காலத்தில் அதிகம் மாற வாய்ப்பில்லாத முதிர்ந்த பகுதிகளில் சோதனைகளில் கவனம் செலுத்துவதும், இன்னும் நிலையற்ற பகுதிகளை தானியங்கு சோதனைகள் இல்லாமல் விட்டுவிடுவதும் முக்கியம்.
இதை மறுசீரமைப்பு-உந்துதல் சோதனை என்று அழைக்கலாம்.
முடிவுரை
உருவாக்கும் AI ஆனது மென்பொருள் மேம்பாட்டை வியத்தகு முறையில் மாற்றி வருகிறது.
முந்தைய கட்டுரைகளில், பாரம்பரிய முழு-ஸ்டாக் பொறியாளர் பாத்திரத்தைத் தாண்டி, பல்வேறு டொமைன்கள், உள்கட்டமைப்பு மற்றும் செயலாக்கச் சூழல்களை ஒருங்கிணைக்கும் சர்வதிசை அமைப்புகளை உருவாக்கக்கூடிய ஒரு சர்வதிசைப் பொறியாளராக மாறுவதன் முக்கியத்துவத்தைப் பற்றி நான் எழுதினேன்.
விவரக்குறிப்புகளைச் செயல்படுத்தலுடன் சீரமைக்கும் பாரம்பரிய மென்பொருள் மேம்பாட்டு அணுகுமுறைக்கு மாறாக, மென்பொருள் நடத்தை மூலம் பயனர் அனுபவத்தை மேம்படுத்துவதில் கவனம் செலுத்தும் அனுபவம் மற்றும் நடத்தை சார்ந்த மேம்பாட்டு சகாப்தத்திற்குள் நாம் நுழைகிறோம் என்று ஒரு கட்டுரையையும் நான் எழுதினேன்.
மேம்பாடு சார்ந்த மேம்பாடு மற்றும் மறுசீரமைப்பு-உந்துதல் சோதனை ஆகியவை மென்பொருள் மேம்பாட்டில் இந்த புதிய எல்லைகளை நோக்கி நம்மை இட்டுச் செல்லும் அணுகுமுறைகளாகும்.