AI കോഡിംഗ് ഏജന്റുകൾ എന്തിനാണ് ചാറ്റ് ബോക്സുകൾ ഉപയോഗിക്കാത്തത്?
ഞാൻ തുറക്കുന്ന ഓരോ AI ടൂളും ഒരേപോലെയാണ് തോന്നുന്നത്. ഒരു ടെക്സ്റ്റ് ഫീൽഡിലെ മിന്നുന്ന ഒരു കർസർ മാത്രം. Claude Code-ഉം Codex-ഉം 1999-ൽ IRC ബോട്ടുകൾക്കായി നമ്മൾ ഉപയോഗിച്ചിരുന്ന അതേ ഇന്റർഫേസ് തന്നെയാണ് ഉപയോഗിക്കുന്നത്.
നിർമ്മിക്കാൻ എളുപ്പമുള്ള വഴിയാണ് ചാറ്റ്. ഇത് ഡെമോകൾ കാണാൻ ഭംഗിയുള്ളതാക്കുന്നു. എന്നാൽ ചാറ്റ് എന്നത് ഒരു താൽക്കാലിക സംവിധാനം മാത്രമാണ്. മികച്ചൊരു ചാറ്റ് ബോക്സ് നിർമ്മിക്കുക എന്നതല്ല യഥാർത്ഥ ലക്ഷ്യം. ചാറ്റ് ബോക്സ് തന്നെ ഇല്ലാതാക്കുക എന്നതാണ് ലക്ഷ്യം.
ഒരു ചാറ്റ് ഇന്റർഫേസ് ജോലി വീണ്ടും നിങ്ങളിലേക്ക് തന്നെ എത്തിക്കുന്നു.
എന്താണ് ചോദിക്കേണ്ടതെന്ന് നിങ്ങൾക്കറിയണം. അത് കൃത്യമായി അവതരിപ്പിക്കണം. നീളമുള്ള ഖണ്ഡികകൾ വായിച്ച് അവയെ പ്രവൃത്തികളാക്കി മാറ്റണം. മോഡൽ ചിന്തിക്കുന്നുണ്ടെങ്കിലും, ഇന്റർഫേസ് സംബന്ധമായ ജോലികൾ നിങ്ങൾ നിങ്ങളുടെ മനസ്സിലാണ് ചെയ്യുന്നത്.
കോഡിംഗ് ഏജന്റുകളെ സംബന്ധിച്ചിടത്തോളം ഇതൊരു പ്രശ്നമാണ്. കോഡിംഗ് എന്നത് spatial, structural ആയ ഒന്നാണ്. നിങ്ങൾ ഫയലുകൾ, diffs, dependency graphs എന്നിവയുമായാണ് പ്രവർത്തിക്കുന്നത്. ഇവയൊന്നും ഖണ്ഡികകളല്ല. ഒരു ടെക്സ്റ്റ് സ്ട്രീമിലൂടെ കോഡ് മനസ്സിലാക്കാൻ ശ്രമിക്കുന്നത്, ഒരാൾ ഫോണിലൂടെ വിവരിക്കുന്നത് കേട്ട് ഒരു മാപ്പ് വായിക്കാൻ ശ്രമിക്കുന്നത് പോലെയാണ്.
ഒരു ഏജന്റ് ഒരു ഫംഗ്ഷൻ refactor ചെയ്യുകയും അത് എന്താണ് മാറ്റിയതെന്ന് മൂന്ന് വാചകങ്ങളിൽ പറയുകയും ചെയ്യുമ്പോൾ, അത് ഒരു ഹോംവർക്ക് പോലെയാണ്. സഹായമല്ല.
മോഡലിന് കോഡ്, ലേഔട്ടുകൾ, കമ്പോണന്റുകൾ എന്നിവ നിർമ്മിക്കാൻ കഴിയും. ജോലിയെക്കുറിച്ചുള്ള വിവരണത്തിന് പകരം ആ ജോലിക്കായുള്ള ഇന്റർഫേസ് ആണ് അത് നിർമ്മിക്കേണ്ടത്.
ഒരു സംഗ്രഹത്തിന് (summary) പകരം, accept, reject ബട്ടണുകളുള്ള ഒരു diff view എനിക്ക് നൽകുക.
"ഈ ഫംഗ്ഷനെ വിളിച്ചത് എന്താണ്?" എന്ന് ചോദിക്കുന്നതിന് പകരം, എനിക്ക് ക്ലിക്ക് ചെയ്യാവുന്ന ഒരു call graph കാണിച്ചുതരിക.
പന്ത്രണ്ട് ഫയലുകളിൽ മാറ്റം വരുത്തിയ ശേഷം അത് സമ്മതിക്കുന്നതിന് പകരം, അത് പ്രവർത്തിക്കുന്നതിന് മുമ്പ് ആ ഫയലുകളുടെ ഒരു checklist കാണിച്ചുതരിക.
ഇന്റർഫേസ് എന്നത് മോഡലിന്റെ ഒരു fluid output ആയിരിക്കണം. ടാസ്ക്കിന് അനുസരിച്ച് UI മാറിക്കൊണ്ടിരിക്കണം. നിങ്ങൾ ഇപ്പോൾ എടുക്കേണ്ട തീരുമാനത്തിന് അനുസരിച്ച് അത് സ്വയം രൂപപ്പെടണം.
ഇത് വിശ്വാസത്തെക്കുറിച്ചാണ്.
വാക്കുകൾക്ക് പിന്നിൽ ചാറ്റ് ഏജന്റിനെ ഒളിപ്പിച്ചു വെക്കുന്നു. ഒരു ഏജന്റ് "ഞാൻ ടെസ്റ്റുകൾ അപ്ഡേറ്റ് ചെയ്തു" എന്ന് പറഞ്ഞാൽ, അത് വിശ്വസിക്കുകയല്ലാതെ മറ്റ് വഴികളില്ല. ഒന്നുകിൽ നിങ്ങൾ അതിനെ അന്ധമായി വിശ്വസിക്കണം, അല്ലെങ്കിൽ ഫയലുകൾ സ്വയം പരിശോധിക്കണം. രണ്ട് ഓപ്ഷനുകളും പരാജയമാണ്.
നിർമ്മിക്കപ്പെട്ട ഒരു ഇന്റർഫേസ് ജോലി പരിശോധിക്കുന്നത് എളുപ്പമാക്കുന്നു. Diff അവിടെത്തന്നെയുണ്ട്. പ്ലാൻ അവിടെത്തന്നെയുണ്ട്. ഏജന്റ് "എന്നെ വിശ്വസിക്കൂ" എന്ന് പറയുന്നത് നിർത്തി "രണ്ട് സെക്കൻഡിൽ ഇത് പരിശോധിക്കൂ" എന്ന് പറയാൻ തുടങ്ങുന്നു.
ചാറ്റിന് മൂല്യമുണ്ടെന്ന് എനിക്കറിയാം. ഭാഷ അവ്യക്തതകളെ കൈകാര്യം ചെയ്യുന്നു. ചിലപ്പോൾ സങ്കീർണ്ണമായ ആശയങ്ങൾ പ്രകടിപ്പിക്കാൻ വാക്കുകൾ മാത്രമാണ് ഏക വഴി.
പരിഹാരം ഭാഷ ഒഴിവാക്കുക എന്നതല്ല. ഭാഷയെ ഒരു entry point ആയും നിർമ്മിക്കപ്പെട്ട ഒരു UI-യെ പ്രതികരണമായും ഉപയോഗിക്കുക.
നിങ്ങളുടെ ആവശ്യം ലളിതമായ വാക്കുകളിൽ ടൈപ്പ് ചെയ്യുക. ആ ആവശ്യത്തിന് അനുയോജ്യമായ ഇന്റർഫേസ് ഉടൻ തന്നെ ലഭിക്കുക. ഭാഷ അകത്തേക്ക് പോകുന്നു, ഇന്റർഫേസ് പുറത്തേക്ക് വരുന്നു. ചാറ്റ് എന്നത് വീടിന്റെ മുൻവാതിൽ മാത്രമാണ്, വീട് മുഴുവനുമല്ല.
മികച്ച ചാറ്റ് ഉൽപ്പന്നങ്ങൾ നിർമ്മിക്കാൻ നമ്മൾ വർഷങ്ങൾ ചെലവഴിച്ചു. മെമ്മറിയിലും വേഗതയിലും നമ്മൾ ശ്രദ്ധ കേന്ദ്രീകരിച്ചു. എന്നാൽ നമ്മൾ ആ ചെറിയ ടെക്സ്റ്റ് ബോക്സിനുള്ളിൽ തന്നെ തുടർന്നു.
യഥാർത്ഥ കുതിച്ചുചാട്ടം ആ ബോക്സിനുള്ളിലെ മികച്ച ഉത്തരമല്ല. ആ ബോക്സ് ഇല്ലാതാകുന്നതാണ് യഥാർത്ഥ കുതിച്ചുചാട്ടം. നിങ്ങളുടെ അടുത്ത തീരുമാനം എടുക്കാൻ ആവശ്യമായ കൃത്യമായ ഉപരിതലം (surface) മോഡൽ നിങ്ങൾക്ക് നൽകണം.
ഏജന്റുകൾ ആവശ്യത്തിന് ബുദ്ധിയുള്ളവരാണ്. സംസാരിക്കുന്നത് നിർത്തി നമുക്ക് ആവശ്യമുള്ള ടൂളുകൾ നിർമ്മിക്കാൻ അവരോട് ആവശ്യപ്പെടുക മാത്രമാണ് നമ്മൾ ചെയ്യേണ്ടത്.
Source: https://dev.to/nishkarsh_gupta/why-ai-coding-agent-shouldnt-hand-us-a-chat-box-3ccj
Optional learning community: https://t.me/GyaanSetuAi
