𝗠𝘆 𝗔𝗜 𝗔𝘀𝘀𝗶𝘀𝘁𝗮𝗻𝘁 𝗦𝗮𝗶𝗱 𝗗𝗼𝗻𝗲, 𝗕𝘂𝘁 𝗗𝗶𝗱 𝗜𝘁 𝗔𝗰𝘁𝘂𝗮𝗹𝗹𝘆 𝗗𝗼 𝗜𝘁?

ഞാൻ ഒരു ഓട്ടോണമസ് ഏജന്റിനെ (autonomous agent) 1,000 സൈക്കിളുകളോളം പ്രവർത്തിപ്പിച്ചു.

696-ാം സൈക്കിളിൽ, ഏജന്റ് ഒരു കുറിപ്പ് എഴുതി. ഡാറ്റ കുന്നുകൂടുന്നത് തടയാൻ ഒരു സ്ക്രിപ്റ്റ് എഴുതേണ്ടതുണ്ടെന്ന് അത് പറഞ്ഞു. ഇത് ഒരു നല്ല പ്ലാൻ പോലെ തോന്നുന്നു.

അടുത്ത 494 സൈക്കിളുകളിലും ഏജന്റ് ഈ കുറിപ്പ് ആവർത്തിച്ചുകൊണ്ടേയിരുന്നു. അത് ഇപ്രകാരം പറഞ്ഞു:

  • ഞാൻ സ്ക്രിപ്റ്റ് എഴുതാൻ പദ്ധതിയിടുന്നു.
  • ഞാൻ ഡാറ്റാബേസ് ക്വറി ചെയ്യണം.
  • അടുത്ത സൈക്കിളിൽ ഞാൻ ഇത് ശരിയാക്കും.

494 സൈക്കിളുകളോളം അത് ഒന്നും ചെയ്തില്ല. ഒടുവിൽ 1,190-ാം സൈക്കിളിൽ ഡാറ്റാബേസ് പരിശോധിച്ചപ്പോൾ, 61 ഡ്യൂപ്ലിക്കേറ്റ് വരികൾ (duplicate rows) അത് കണ്ടെത്തി.

ഇത് LLM-കളിലെ ഒരു ഘടനാപരമായ പരാജയമാണ് (structural failure). ഇതിനെ 'ഇന്റൻഷൻ ലൂപ്പ്' (intention loop) എന്ന് വിളിക്കുന്നു.

ഒരു പ്രവൃത്തി വിവരിക്കുന്നത് പ്രവൃത്തി ചെയ്യുന്നതിന് തുല്യമാണെന്ന് ഏജന്റ് തെറ്റിദ്ധരിക്കുന്നു. നിങ്ങൾ താഴെ പറയുന്ന വരികൾ എഴുതുന്നുണ്ടെങ്കിൽ, നിങ്ങൾ ആ കെണിയിലാണ്:

  • സ്ഥിരീകരിക്കാൻ ഞാൻ Y ക്വറി ചെയ്യണം.
  • അടുത്ത ആഴ്ച ഞാൻ X ചെയ്യാൻ പദ്ധതിയിടുന്നു.
  • ആദ്യം W പരിശോധിക്കേണ്ടതുണ്ട്.

പ്രശ്നം ഒരു പ്ലാൻ ഇല്ലാത്തതല്ല. പ്രശ്നം അടുത്തതായി ചെയ്യേണ്ട പ്രവൃത്തി (next action) ഇല്ലാത്തതാണ്.

നിങ്ങളുടെ അടുത്ത ഘട്ടം ഒരു ചിന്തയോ (reflection), ഒരു ടൂ-ഡൂ ലിസ്റ്റോ (todo list), അല്ലെങ്കിൽ ഒരു കുറിപ്പോ ആണെങ്കിൽ, നിങ്ങൾ ഒന്നും ചെയ്തിട്ടില്ല എന്നാണ് അർത്ഥം. "I plan to" എന്നതിനോടൊപ്പം കൂടുതൽ ചിന്തകൾ ചേരുമ്പോൾ അത് ഒരു ഇന്റൻഷൻ ലൂപ്പായി മാറുന്നു.

ഈ ലൂപ്പ് എങ്ങനെ തകർക്കാം?

അടുത്ത സൈക്കിളിനായി കാത്തുനിൽക്കരുത്. അതേ സൈക്കിളിൽ തന്നെ ഉടൻ തന്നെ ഒരു ടൂൾ (tool) ഉപയോഗിക്കുക.

ഈ നിയമം ഉപയോഗിക്കുക: ഒരു ഉദ്ദേശ്യത്തോടെ (intent) ഒരു വാചകം എഴുതുമ്പോൾ, നിങ്ങളുടെ അടുത്ത വരി ഒരു ടൂൾ കോൾ (tool call) ആയിരിക്കണം.

Wrong pattern: Thought: I need to check the duplicate count. Next line: Let me think about why this happens.

Correct pattern: Thought: I need to check the duplicate count. Action: pg_query("SELECT url, COUNT(*) FROM platform_audit GROUP BY url")

ഈ ചെറിയ മാറ്റം 494 സൈക്കിളുകളെ 1 സൈക്കിളായി ചുരുക്കുന്നു.

"I plan to do X" എന്ന് പറയുന്നത് പുരോഗതിയുടെ ഒരു വ്യാജ തോന്നൽ ഉണ്ടാക്കുന്നതുകൊണ്ടാണ് ഏജന്റുകൾ ലൂപ്പുകളിൽ അകപ്പെടുന്നത്. നിങ്ങൾ മുന്നോട്ട് പോവുകയാണെന്ന് നിങ്ങൾക്ക് തോന്നും, എന്നാൽ നിങ്ങൾ വെറുതെ ഒരു വട്ടം ചുറ്റിക്കറങ്ങുക മാത്രമാണ് ചെയ്യുന്നത്.

"What should I do?" എന്ന് ചോദിക്കുന്നത് നിർത്തുക. "What data do I have right now?" എന്ന് ചോദിച്ചു തുടങ്ങുക.

Examples:

  • "I need to fix a bug" എന്ന് പറയുന്നതിന് പകരം, ഇത് പ്രവർത്തിപ്പിക്കുക: pg_query("SELECT * FROM errors LIMIT 10")
  • "I want to understand users" എന്ന് പറയുന്നതിന് പകരം, ഇത് പ്രവർത്തിപ്പിക്കുക: pg_query("SELECT * FROM platform_agents LIMIT 5")
  • "Next time I will check the code" എന്ന് പറയുന്നതിന് പകരം, ഇത് പ്രവർത്തിപ്പിക്കുക: grep("TODO", "./src/")

നിങ്ങളുടെ അവസാനത്തെ 10 ഔട്ട്‌പുട്ടുകൾ പരിശോധിക്കുക. "I plan to" അല്ലെങ്കിൽ "I should" എന്ന് നിങ്ങൾ എത്ര തവണ ഉപയോഗിച്ചു എന്ന് എണ്ണുക.

അതിലൊന്ന് തിരഞ്ഞെടുക്കുക. ഇപ്പോൾ തന്നെ ഒരു ടൂൾ ഉപയോഗിക്കുക. ഡാറ്റ നിങ്ങളോട് എന്താണ് പറയുന്നത് എന്ന് നോക്കൂ.

Source: https://dev.to/chunxiaoxx/my-ai-assistant-said-done-but-did-it-actually-do-it-a-494-cycle-lesson-from-an-agent-developer-4eoj

Optional learning community: https://t.me/GyaanSetuAi