AI 10 മിനിറ്റിൽ 80% എഴുതി. ബാക്കി 20% എടുക്കാൻ 6 മണിക്കൂർ വേണ്ടി.
ലളിതമായ സാഹചര്യങ്ങൾ (happy path) AI മിനിറ്റുകൾക്കുള്ളിൽ നിർമ്മിച്ചേക്കാം. എന്നാൽ പ്രൊഡക്ഷനിലെ യഥാർത്ഥ സാഹചര്യങ്ങൾ അതിന് കൈകാര്യം ചെയ്യാൻ കഴിയില്ല.
ഒരു AI ഏജന്റ് ഉപയോഗിച്ച് ഞാൻ 47 ഫീച്ചറുകൾ നിരീക്ഷിച്ചു. ഞാൻ രണ്ട് കാര്യങ്ങളാണ് അളന്നത്:
- ജനറേഷൻ സമയം (Generation time): ആദ്യത്തെ പ്രോംപ്റ്റ് മുതൽ പൂർത്തിയായ ഒരു PR വരെ.
- ഷിപ്പ് സമയം (Ship time): PR മുതൽ യഥാർത്ഥ മെർജ് (merge) വരെ.
ഇത് മിക്കവാറും എപ്പോഴും 80/20 എന്ന അനുപാതത്തിലാണ് വരുന്നത്. AI 80% ജോലിയും വേഗത്തിൽ ചെയ്യുന്നു. എന്നാൽ അവസാനത്തെ 20% ആണ് ഏറ്റവും കൂടുതൽ സമയം എടുക്കുന്നത്.
നിങ്ങൾ നൽകുന്ന പ്രോംപ്റ്റിന് അനുസരിച്ചാണ് AI കോഡ് എഴുതുന്നത്. നിങ്ങൾ പരാമർശിക്കാത്ത കാര്യങ്ങളിൽ നിന്നാണ് താമസം ഉണ്ടാകുന്നത്. നിങ്ങൾ ചിന്തിക്കാൻ മറന്നുപോയ കാര്യങ്ങളിൽ നിന്നാണ് ഇത് സംഭവിക്കുന്നത്.
വിട്ടുപോയ ആ 20% സാധാരണയായി അഞ്ച് വിഭാഗങ്ങളിൽ പെടുന്നു:
- എംപ്റ്റി സ്റ്റേറ്റുകൾ (Empty states): ഒരു ഉപയോക്താവിന് ഡാറ്റ ഇല്ലാത്തപ്പോൾ UI എങ്ങനെയിരിക്കും?
- എറർ ഹാൻഡ്ലിംഗ് (Error handling): നെറ്റ്വർക്ക് പരാജയപ്പെടുകയോ അല്ലെങ്കിൽ ഒരു API 500 എറർ നൽകുകയോ ചെയ്താൽ എന്ത് സംഭവിക്കും?
- ഡൊമെയ്ൻ എഡ്ജ് കേസുകൾ (Domain edge cases): പ്രാദേശിക പേയ്മെന്റ് ഫോർമാറ്റുകൾ അല്ലെങ്കിൽ പഴയ ഡാറ്റ (legacy data) പോലുള്ള പ്രത്യേക നിയമങ്ങൾ.
- പെർഫോമൻസ് (Performance): 50 വരികളിൽ പ്രവർത്തിക്കുന്ന കോഡ് എന്നാൽ 5 മില്യൺ വരികളിൽ തകരാറിലാകുന്നു.
- മെയിന്റനബിലിറ്റി (Maintainability): ഇന്ന് പ്രവർത്തിക്കുന്ന കോഡ് എന്നാൽ നാളെ മാറ്റം വരുത്താൻ പ്രയാസമുള്ളതാകുന്നു.
AI-യെ ഒരു മാന്ത്രിക വടി പോലെ കാണുന്നത് ഞാൻ നിർത്തി. സമയം ലാഭിക്കാൻ ഞാൻ ഈ നാല് നിയമങ്ങൾ ഉപയോഗിക്കാൻ തുടങ്ങി:
- 4 ഇരട്ടി സമയം കണക്കാക്കുക. ഒരു ജോലി ചെയ്യാൻ 10 മിനിറ്റ് വേണമെന്ന് AI പറഞ്ഞാൽ, 40 മിനിറ്റ്ക്കായി പ്ലാൻ ചെയ്യുക.
- ആദ്യം 'അൺഹാപ്പി പാത്തിന്' (unhappy path) വേണ്ടി പ്രോംപ്റ്റ് നൽകുക. പ്രധാന ലോജിക് എഴുതുന്നതിന് മുമ്പ് എംപ്റ്റി ഇൻപുട്ടുകളോ നെറ്റ്വർക്ക് പരാജയങ്ങളോ കൈകാര്യം ചെയ്യാൻ AI-യോട് ആവശ്യപ്പെടുക.
- ആദ്യം ഫെയിലർ ടെസ്റ്റുകൾ (failure tests) എഴുതുക. AI കോഡ് ജനറേറ്റ് ചെയ്യുന്നതിന് മുമ്പ് എന്തൊക്കെ തകരാറിലാകാം എന്ന് നിർവചിക്കുക.
- ഒരു '20% ജേണൽ' സൂക്ഷിക്കുക. ഒരു ഫീച്ചറിന്റെ അവസാന ഭാഗത്തിന് എന്തുകൊണ്ടാണ് ഇത്രയധികം സമയം എടുത്തതെന്ന് രേഖപ്പെടുത്തുക. ഇത് പാറ്റേണുകൾ തിരിച്ചറിയാൻ നിങ്ങളെ സഹായിക്കും.
AI നിങ്ങളുടെ ടൈപ്പിംഗ് വേഗത്തിലാക്കുന്നു. എന്നാൽ നിങ്ങൾ മുൻകൂട്ടി ചിന്തിച്ചില്ലെങ്കിൽ അത് നിങ്ങളുടെ ഷിപ്പിംഗ് (shipping) വേഗത്തിലാക്കില്ല. പ്രോംപ്റ്റുകൾ വേഗത്തിൽ എഴുതുക എന്നതല്ല ലക്ഷ്യം. ഫീച്ചറുകൾ പ്രൊഡക്ഷനിലേക്ക് എത്തിക്കുക എന്നതാണ് ലക്ഷ്യം.
AI ടൂൾ തുറക്കുന്നതിന് മുമ്പ് പ്രശ്നത്തെക്കുറിച്ച് ചിന്തിക്കുക. ഒരു ഉപയോക്താവ് എന്ത് തെറ്റായി ചെയ്തേക്കാം എന്നതിന് നിങ്ങൾക്ക് ഉത്തരം നൽകാൻ കഴിയില്ലെങ്കിൽ, കോഡിംഗ് തുടങ്ങാതിരിക്കുക.
Source: https://dev.to/susiloharjo/ai-wrote-80-in-10-minutes-the-last-20-took-6-hours-5764
Optional learning community: https://t.me/GyaanSetuAi
