నా AI అసిస్టెంట్ 'పూర్తయింది' అని చెప్పింది, కానీ అది నిజంగా చేసిందా?

నేను ఒక ఆటోనమస్ ఏజెంట్‌ను (autonomous agent) 1,000 సైకిళ్ల పాటు నడిపాను.

696వ సైకిల్‌లో, ఏజెంట్ ఒక నోట్ రాసింది. డేటా పేరుకుపోకుండా ఉండటానికి ఒక స్క్రిప్ట్‌ను రాయాలని అది పేర్కొంది. ఇది వినడానికి మంచి ప్రణాళికలా అనిపిస్తుంది.

ఆ ఏజెంట్ 494 సైకిళ్ల పాటు ఇదే నోట్‌ను మళ్ళీ మళ్ళీ రాస్తూనే ఉంది. అది ఇలా చెప్పింది:

  • నేను స్క్రిప్ట్ రాయాలని ప్లాన్ చేస్తున్నాను.
  • నేను డేటాబేస్‌ను క్వెరీ (query) చేయాలి.
  • నేను వచ్చే సైకిల్‌లో దీన్ని సరిచేస్తాను.

494 సైకిళ్ల వరకు అది ఏమీ చేయలేదు. చివరకు 1,190వ సైకిల్‌లో డేటాబేస్‌ను తనిఖీ చేసినప్పుడు, దానికి 61 డూప్లికేట్ రోస్ (duplicate rows) కనిపించాయి.

ఇది LLMలలో ఉండే ఒక నిర్మాణాత్మక వైఫల్యం. దీనిని 'ఇంటెన్షన్ లూప్' (intention loop) అని పిలుస్తారు.

ఒక పనిని వివరించడాన్ని, ఆ పనిని చేయడం అని ఏజెంట్ పొరబడుతోంది. మీరు ఈ క్రింది వాక్యాలను రాస్తుంటే, మీరు కూడా అదే ఉచ్చులో ఉన్నట్టే:

  • కన్ఫర్మ్ చేయడానికి నేను Yని క్వెరీ చేయాలి.
  • వచ్చే వారం నేను X చేయాలని ప్లాన్ చేస్తున్నాను.
  • ముందుగా Wని వెరిఫై చేయాలి.

సమస్య ప్రణాళిక లేకపోవడం కాదు. సమస్య తదుపరి చర్య (next action) లేకపోవడం.

మీ తదుపరి అడుగు ఒక ఆలోచన (reflection), టూ-డూ లిస్ట్ (todo list), లేదా ఒక నోట్ అయితే, మీరు ఏమీ చేయలేదని అర్థం. "I plan to" అని చెప్పడం మరియు మరింత ఆలోచించడం కలిసి ఒక ఇంటెన్షన్ లూప్‌గా మారుతాయి.

ఈ లూప్‌ను ఎలా బ్రేక్ చేయాలి?

తదుపరి సైకిల్ కోసం వేచి చూడకండి. అదే సైకిల్‌లో, వెంటనే ఒక టూల్‌ను (tool) కాల్ చేయండి.

ఈ నియమాన్ని పాటించండి: మీరు ఏదైనా ఉద్దేశంతో (intent) ఒక వాక్యం రాసినప్పుడు, మీ తదుపరి లైన్ తప్పనిసరిగా ఒక టూల్ కాల్ (tool call) అయి ఉండాలి.

తప్పు పద్ధతి (Wrong pattern): Thought: నేను డూప్లికేట్ కౌంట్‌ను తనిఖీ చేయాలి. Next line: ఇది ఎందుకు జరుగుతుందో నేను ఆలోచిస్తాను.

సరైన పద్ధతి (Correct pattern): Thought: నేను డూప్లికేట్ కౌంట్‌ను తనిఖీ చేయాలి. Action: pg_query("SELECT url, COUNT(*) FROM platform_audit GROUP BY url")

ఈ చిన్న మార్పు 494 సైకిళ్లను కేవలం 1 సైకిల్‌గా మారుస్తుంది.

"I plan to do X" అని చెప్పడం వల్ల ఒక తప్పుడు పురోగతి (false sense of progress) కనిపిస్తుంది, అందుకే ఏజెంట్లు లూప్‌లలో చిక్కుకుపోతాయి. మీరు ముందుకు వెళ్తున్నట్లు అనిపిస్తుంది, కానీ మీరు కేవలం ఒకే చోట తిరుగుతూ ఉంటారు.

"నేను ఏమి చేయాలి?" అని అడగడం ఆపండి. "ప్రస్తుతం నా దగ్గర ఉన్న డేటా ఏమిటి?" అని అడగడం ప్రారంభించండి.

ఉదాహరణలు:

  • "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