𝗪𝗵𝘆 𝗬𝗼𝘂𝗿 𝗔𝗴𝗲𝗻𝘁𝘀 𝗔𝗿𝗲 𝗕𝘂𝗿𝗻𝗶𝗻𝗴 𝗧𝗼𝗸𝗲𝗻𝘀
तुम्ही एक कोडिंग एजंट तैनात केला आहे. तो तिकीट घेतो आणि PR सबमिट करतो. तो व्यवस्थित काम करतो.
मग बिल येते.
एजंटने तुमच्या नियोजित बजेटपेक्षा जास्त पैसे खर्च केले आहेत. ते का झाले हे तुम्हाला समजत नाही. तो एका तिकीटासाठी मॉडेलला ५० वेळा कॉल करतो. काही कॉल्स हे संथ 'retries' असतात. काही कॉल्स एकाच संदर्भाचे (context) वारंवार वाचन असतात.
ही मॉडेलची समस्या नाही. ही इन्फ्रास्ट्रक्चरची समस्या आहे. तुमच्या टीमकडे खर्चाची स्पष्ट माहिती (visibility) नाही. तुमचे बजेट संपण्यापूर्वी एखादा अनियंत्रित एजंट थांबवण्याचा तुमच्याकडे कोणताही मार्ग नाही.
एजंट्स हे लूप्स (loops) असतात. ते एखादे काम वाचतात, टूल कॉल करतात, आउटपुट वाचतात आणि पुन्हा तेच करतात. प्रत्येक पायरीसाठी टोकन्स खर्च होतात. जर एखादा एजंट प्रत्येक वेळी सिस्टिम प्रॉम्प्ट पुन्हा वाचत असेल, तर खर्च वेगाने वाढतो. एका लहान चुकीमुळे (bug) शेकडो अतिरिक्त वाचन (reads) होऊ शकतात.
तुम्हाला फक्त बिल दिसते, कॉल्स नाही. आणि तेव्हा खूप उशीर झालेला असतो.
यशस्वी टीम्स पहिल्या दिवसापासून खर्चावर नियंत्रण ठेवण्यासाठी उपाययोजना करतात. ते या पद्धती वापरतात:
- मासिक बजेटची मर्यादा (ceilings) निश्चित करा.
- प्रत्येक कॉल कोणत्या एजंटने आणि कोणत्या कामामुळे (task) ट्रिगर झाला, याची नोंद (log) ठेवा.
- एखादे काम दुसऱ्या कामापेक्षा जास्त खर्च का करते, याचे उत्तर शोधा.
प्रोडक्शनमध्ये एजंट्स चालवण्यासाठी तुम्हाला खालील गोष्टींची आवश्यकता आहे:
- प्रति-एजंट ट्रॅकिंग: प्रत्येक वापरकर्ता आणि प्रत्येक कामाचा खर्च जाणून घ्या.
- व्हर्च्युअल कीज (Virtual keys): टीम्सना वेगळे करा जेणेकरून एखादा डेव्हलपर संपूर्ण बजेट खर्च करू शकणार नाही.
- बजेट नियंत्रण: कडक मर्यादा (hard limits) सेट करा. एजंटने मर्यादा गाठल्यावर तुम्हाला अलर्ट दिला पाहिजे किंवा कामे घेणे थांबवले पाहिजे.
- खर्चाची दृश्यमानता (Spend visibility): ट्रेंड्स आणि प्रति-काम सरासरी खर्च पाहण्यासाठी डॅशबोर्ड वापरा.
- तपशीलवार लॉग्स: कॉलच्या प्रकारांचे वितरण पहा.
जर तुम्ही या गोष्टींकडे दुर्लक्ष केले, तर तुम्ही अंधारात काम करत आहात असे समजा.
LiteLLM हे टाळण्यासाठी एक विशिष्ट पॅटर्न वापरते:
- ब्रेन आणि सँडबॉक्स विभागणी (Brain and sandbox split): तर्क प्रक्रिया (reasoning) एका ठिकाणी चालते आणि अंमलबजावणी (execution) दुसऱ्या ठिकाणी. यामुळे सततचे पुन्हा वाचन थांबते.
- स्पष्ट टूल इंटरफेस: लांबलचक मजकुराऐवजी स्ट्रक्चर्ड डेफिनिशन्स वापरा.
- गेटवे ट्रॅकिंग: प्रत्येक कॉल एजंट आणि टीमच्या आयडीसह (ID) गेटवेद्वारे राउट केला जातो.
- अनिवार्य बजेट: एखादे काम सुरू करण्यापूर्वी एजंट त्याच्या शिल्लक बजेटची तपासणी करतो.
जर तुम्ही या साधनांशिवाय एजंट्स तयार केले, तर तुम्हाला खर्चाच्या विस्फोटाचा (cost explosion) सामना करावा लागेल. जोपर्यंत एजंट एखाद्या edge case किंवा loop मध्ये अडकत नाही, तोपर्यंत तो व्यवस्थित काम करतो. पण तोपर्यंत पैसे संपलेले असतात.
आता या पायऱ्या उचला:
- तुमच्या शेवटच्या API बिलाचे ऑडिट करा.
- प्रत्येक कॉलमध्ये एजंट आयडी आणि टास्क आयडी समाविष्ट करा.
- आजच बजेटची मर्यादा निश्चित करा.
- अयशस्वी retries शोधण्यासाठी टूल कॉल्स लॉग करा.
- दर आठवड्याला कॉल पॅटर्न तपासा.
अशी इन्फ्रास्ट्रक्चर तयार करा जी विश्वासार्ह एजंट्सना महागड्या चुकांपासून वेगळे करते.
Source: https://dev.to/paultwist/why-your-agents-are-silently-burning-tokens-and-how-to-stop-them-7g8
Optional learning community: https://t.me/GyaanSetuAi