ലൂപ്പ് എൻജിനീയറിംഗ്: പ്രോംപ്റ്റുകൾ നൽകുന്നതിന് പകരം ലൂപ്പുകൾ രൂപകൽപ്പന ചെയ്യുക
കോഡിംഗ് ഏജന്റുകൾക്ക് മാനുവലായി പ്രോംപ്റ്റുകൾ നൽകുന്നത് നിർത്തുക. അവർക്കായി പ്രോംപ്റ്റുകൾ നൽകുന്ന ലൂപ്പുകൾ രൂപകൽപ്പന ചെയ്യാൻ തുടങ്ങുക.
പീറ്റർ സ്റ്റൈൻബെർഗറുടെ (Peter Steinberger) ഈ ആശയം AI ഡെവലപ്പർമാരുടെ ചർച്ചകളിൽ വലിയ മാറ്റമുണ്ടാക്കി. പ്രോഗ്രാമർമാർ വെറും ഡ്രൈവർമാരാകുന്നതിന് പകരം സിസ്റ്റം ഡിസൈനർമാരാകണം എന്ന് അദ്ദേഹം വാദിക്കുന്നു.
എന്താണ് ലൂപ്പ് എൻജിനീയറിംഗ്?
ഓരോ പ്രോംപ്റ്റും ഓരോന്നായി ടൈപ്പ് ചെയ്യുന്ന രീതിയിൽ നിന്ന് ഏജന്റുകളെ നിയന്ത്രിക്കുന്ന പ്രോഗ്രാമുകൾ എഴുതുന്ന രീതിയിലേക്കുള്ള മാറ്റമാണിത്. നിങ്ങൾ ജോലി ചെയ്യുന്നതിന് പകരം, ഒരു ലൂപ്പ് ആ ലോജിക് കൈകാര്യം ചെയ്യുന്നു.
ലൂപ്പ് ഈ ഘട്ടങ്ങൾ നിർവ്വഹിക്കുന്നു:
- അത് ഒരു ടാസ്ക് തിരഞ്ഞെടുക്കുന്നു.
- അത് ആ ടാസ്ക് ഏജന്റിലേക്ക് അയക്കുന്നു.
- അത് ഫലം പരിശോധിക്കുന്നു.
- അത് തുടരണോ അതോ നിർത്തണോ എന്ന് തീരുമാനിക്കുന്നു.
നിങ്ങൾ ഉറങ്ങുന്ന സമയത്തും ലൂപ്പ് പ്രവർത്തിച്ചുകൊണ്ടിരിക്കും.
ഓരോ ലൂപ്പിന്റെയും 4-ഘട്ട ചക്രം:
- പ്രവർത്തിക്കുക (Act): ഏജന്റ് കോഡ് എഴുതുകയോ ഒരു കമാൻഡ് പ്രവർത്തിപ്പിക്കുകയോ ചെയ്യുന്നു.
- നിരീക്ഷിക്കുക (Observe): സിസ്റ്റം ഔട്ട്പുട്ട്, എറർ ലോഗുകൾ അല്ലെങ്കിൽ ടെസ്റ്റ് ഫലങ്ങൾ വായിക്കുന്നു.
- ചിന്തിക്കുക (Reason): ലക്ഷ്യം കൈവരിച്ചോ എന്ന് സിസ്റ്റം വിലയിരുത്തുന്നു.
- ആവർത്തിക്കുക (Repeat): പരാജയപ്പെട്ടാൽ, വീണ്ടും ശ്രമിക്കാനായി ഏജന്റിനെ തിരികെ അയക്കുന്നു.
മാനുവൽ പ്രോംപ്റ്റിംഗും ലൂപ്പ് എൻജിനീയറിംഗും തമ്മിലുള്ള വ്യത്യാസം:
- മാനുവൽ: നിങ്ങൾ തന്നെയാണ് എൻജിൻ. നിങ്ങൾ സ്ക്രീനിന് മുന്നിൽ ഇരിക്കണം. ഓരോ മാറ്റവും (diff) നിങ്ങൾ തന്നെ വായിക്കണം.
- ലൂപ്പ്: ലൂപ്പാണ് എൻജിൻ. ഇത് സ്വയമേവ പ്രവർത്തിക്കുന്നു. ഇത് 24/7 പ്രവർത്തിച്ചുകൊണ്ടിരിക്കും.
വിജയത്തിന്റെ പ്രധാന തൂണുകൾ:
ഒരു നല്ല ലൂപ്പിന് മൂന്ന് കാര്യങ്ങൾ ആവശ്യമാണ്:
- വെരിഫയർ (Verifier): ചെയ്ത ജോലി ശരിയാണോ എന്ന് പരിശോധിക്കാനുള്ള ഉപകരണം. ഏജന്റിനെക്കൊണ്ട് തന്നെ അതിന്റെ ജോലി പരിശോധിക്കാൻ അനുവദിക്കരുത്. യഥാർത്ഥ ടെസ്റ്റുകളും ലിന്ററുകളും (linters) ഉപയോഗിക്കുക.
- സ്റ്റേറ്റ് മാനേജ്മെന്റ് (State Management): എന്തൊക്കെ ചെയ്തു കഴിഞ്ഞു, എന്തൊക്കെ ബാക്കിയുണ്ട് എന്ന് ട്രാക്ക് ചെയ്യുക.
- കോസ്റ്റ് കൺട്രോൾ (Cost Control): ടോക്കണുകൾക്കും റീട്രൈ കൗണ്ടുകൾക്കും പരിധി നിശ്ചയിക്കുക.
ശ്രദ്ധിക്കേണ്ട അപകടസാധ്യതകൾ:
- വ്യാജ പൂർത്തീകരണം (False Completion): ഏജന്റ് ജോലി കഴിഞ്ഞു എന്ന് പറയും, പക്ഷേ ബഗുകൾ ഇപ്പോഴും നിലനിൽക്കുന്നുണ്ടാകാം. ശക്തമായ വെരിഫയറുകൾ ഉപയോഗിച്ച് ഇത് പരിഹരിക്കുക.
- വേഗതയുടെ അമിതഭാരം (Speed Overload): നിങ്ങൾ ഉറങ്ങുന്ന സമയത്ത് ലൂപ്പ് 1,000 വരി കോഡ് എഴുതുന്നുണ്ടാകാം. അത് മനസ്സിലാക്കാൻ വേണ്ടി മാത്രം നിങ്ങൾക്ക് ദിവസം മുഴുവൻ ചിലവഴിക്കേണ്ടി വന്നേക്കാം.
- അമിതവിശ്വാസം (Over-reliance): പത്ത് തവണ തുടർച്ചയായി നല്ല റിസൾട്ട് ലഭിക്കുമ്പോൾ നിങ്ങൾ ജോലി പരിശോധിക്കുന്നത് നിർത്തുന്നുണ്ടാകാം. നിർണ്ണായകമായ ജോലികൾക്കായി എപ്പോഴും ഒരു മനുഷ്യന്റെ മേൽനോട്ടം (human in the loop) ഉറപ്പാക്കുക.
എങ്ങനെ തുടങ്ങാം:
- ചെറുതായി തുടങ്ങുക. ഒരു ടെസ്റ്റ് പാസ് ആകുന്നത് വരെ പ്രോംപ്റ്റ് ആവർത്തിക്കുന്ന ലളിതമായ ഒരു ലൂപ്പ് നിർമ്മിക്കുക.
- വെരിഫയറുകളിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുക. നിങ്ങളുടെ നിലവിലുള്ള ടെസ്റ്റ് സ്യൂട്ടുകളെ ലൂപ്പിന്റെ കണ്ണുകളായി ഉപയോഗിക്കുക.
- നാശനഷ്ടങ്ങൾ കുറയ്ക്കുക. git branches ഉപയോഗിക്കുകയും പരമാവധി റീട്രൈ പരിധികൾ നിശ്ചയിക്കുകയും ചെയ്യുക.
- കുറഞ്ഞ റിസ്ക് ഉള്ള ജോലികളിൽ പരിശീലിക്കുക. പ്രൊഡക്ഷൻ കോഡിലേക്ക് മാറുന്നതിന് മുമ്പ് ഡോക്യുമെന്റേഷനോ റീഫാക്റ്ററിംഗിനോ (refactoring) വേണ്ടി ലൂപ്പുകൾ ഉപയോഗിക്കുക.
മാനുവൽ പ്രോംപ്റ്റിംഗിന്റെ കാലം അവസാനിക്കുന്നു. ലൂപ്പ് എൻജിനീയറിംഗിന്റെ കാലം എത്തിക്കഴിഞ്ഞു.
Optional learning community: https://t.me/GyaanSetuAi
