𝗔𝗜 𝗔𝗴𝗲𝗻𝘁 𝗦𝗰𝗼𝗽𝗲𝘀 𝗔𝗻𝗱 𝗧𝗼𝗼𝗹 𝗟𝗶𝗳𝗲𝗰𝘆𝗰𝗹𝗲𝘀
AI ఏజెంట్లను నిర్మించడం కష్టం, ఎందుకంటే వాటిని సులభంగా నియంత్రించలేము. మీరు ఖర్చులను పరిమితం చేయాలి. అదుపు తప్పిన లూప్లను (runaway loops) ఆపాలి. ఒక రన్ విఫలమైనప్పుడు ఖచ్చితంగా ఏమి జరిగిందో మీరు చూడాలి.
దీనిని నిర్వహించడానికి నేను ఒక కొత్త పద్ధతిని రూపొందించాను. ఇది AgentScopeతో runAgent అనే ఏజెంట్ ప్రిమిటివ్ను ఉపయోగిస్తుంది. ఇందులో బడ్జెట్లు, రీప్లే చేయగల ఈవెంట్లు మరియు స్ట్రక్చర్డ్ క్యాన్సిలేషన్ ఉంటాయి.
ఇది ఎలా పనిచేస్తుందంటే:
- టూల్ ఫంక్షన్లు సాధారణ async ఫంక్షన్లు. ఎటువంటి సంక్లిష్టమైన స్కీమాలు అవసరం లేదు.
- టూల్ రిటర్న్ కావడానికి ముందే బడ్జెట్లను తనిఖీ చేస్తారు. మీరు పరిమితిని చేరుకుంటే, సిస్టమ్ మొత్తం రన్ను రద్దు చేస్తుంది.
- రీట్రైలు మరియు టైమౌట్లు టూల్ స్థాయిలో జరుగుతాయి.
- క్యాన్సిలేషన్ వ్యాపిస్తుంది (propagates). ఒక వినియోగదారు ఏజెంట్ను ఆపివేస్తే, సిస్టమ్ ప్రస్తుతం జరుగుతున్న ఫెచ్ (fetch) లేదా డేటాబేస్ క్వెరీని వెంటనే నిలిపివేస్తుంది.
- మీకు రీప్లే చేయగల లాగ్ లభిస్తుంది. ప్రతి ఈవెంట్ టైప్ చేయబడి మరియు క్రమ పద్ధతిలో ఉంటుంది.
మీరు మూడు రకాల పరిమితులను సెట్ చేయవచ్చు:
- CostBudget: మొత్తం ఖర్చు చేసిన USDని పరిమితం చేస్తుంది.
- OpenAITokens: ఉపయోగించిన మొత్తం టోకెన్లను పరిమితం చేస్తుంది.
- AgentToolCalls: అదుపు తప్పిన లూప్లను ఆపడానికి మొత్తం టూల్ కాల్స్ను పరిమితం చేస్తుంది.
ఈ విధానం ఇతర ఫ్రేమ్వర్క్ల కంటే భిన్నంగా ఉంటుంది. చాలా ఫ్రేమ్వర్క్లు భారీ JSON స్కీమాలు లేదా లూజ్ టైపింగ్ను ఉపయోగిస్తాయి. వాటిలో తరచుగా ఫస్ట్-క్లాస్ బడ్జెట్ ప్రిమిటివ్లు ఉండవు. అన్నింటినీ ఒకేసారి రద్దు చేయడానికి వాటిలో ఏకీకృత మార్గం ఉండదు.
ఈ సిస్టమ్తో, మీ ఏజెంట్ మీ అప్లికేషన్తో పాటు ఒకే లైఫ్సైకిల్ను పంచుకుంటుంది. పేరెంట్ ప్రాసెస్ ఆగిపోతే, ఏజెంట్ కూడా ఆగిపోతుంది. నిర్వహించడానికి ఎటువంటి సెకండ్ రన్టైమ్ ఉండదు.
మీరు ఈవెంట్ లాగ్ను వీటి కోసం ఉపయోగించవచ్చు:
- ఫెయిల్యూర్ హీట్మ్యాప్ల కోసం డ్యాష్బోర్డ్లను నిర్మించడానికి.
- టెస్ట్ ఎన్విరాన్మెంట్లో ఒక రన్ను రీప్లే చేయడానికి.
- టూల్ సక్సెస్ ఈవెంట్లను చూసి ఖచ్చితమైన ఛార్జీలను ఆడిట్ చేయడానికి.
- రెండు వేర్వేరు రన్లు ఎక్కడ విడిపోయాయో చూడటానికి వాటిని పోల్చడానికి.
ఇది AI ఏజెంట్లను ప్రొడక్షన్ కోసం ఊహించదగినవిగా మరియు సురక్షితంగా మారుస్తుంది.
Source: https://github.com/WorkRuntime/workit
Optional learning community: https://t.me/GyaanSetuAi