நீங்கள் ஒரு வார்த்தை கூடத் தட்டச்சு செய்வதற்கு முன்பே உங்கள் MCP சர்வர்கள் டோக்கன்களை வீணடிக்கின்றன
நீங்கள் பயன்படுத்தவே இல்லாத தரவுகளுக்காகப் பணம் செலுத்துகிறீர்கள்.
கடந்த வாரம் நான் ஒரு ஏஜென்ட் (agent) செஷனை (session) கண்காணித்தேன். அதில் 47 MCP கருவிகள் (tools) ஏற்றப்பட்டிருந்தன. ஒவ்வொரு கருவியும் அதன் முழுமையான JSON schema-வை சிஸ்டம் பிராம்ட் (system prompt) உள்ளே அனுப்பியது. நான் ஒரு வார்த்தை கூடத் தட்டச்சு செய்வதற்கு முன்பே இது நடந்துவிட்டது.
ஒவ்வொரு கருவியின் schema-வும் 150 முதல் 400 டோக்கன்களைப் பயன்படுத்துகிறது. 47 கருவிகள் எனக்கு 11,000 டோக்கன்கள் கூடுதல் சுமையாக (overhead) அமைந்தன. மாடல் ஒவ்வொரு முறையும் இந்த டோக்கன்களைப் படிக்கிறது. நீங்கள் இரண்டு கருவிகளை மட்டுமே பயன்படுத்தினாலும், இந்த context-க்காக நீங்கள் பணம் செலுத்த வேண்டியிருக்கும்.
பெரும்பாலான மக்கள் பெரிய கோப்புகளைப் பதிவேற்றுவதைப் (large file uploads) பற்றி கவலைப்படுகிறார்கள். ஆனால் கருவி மெனுவின் (tool menu) செலவை அவர்கள் மறந்துவிடுகிறார்கள்.
GitHub, Slack மற்றும் தரவுத்தளங்கள் (databases) போன்ற சர்வர்களை நீங்கள் ஒன்றன் பின் ஒன்றாகச் சேர்க்கும்போது, உங்களிடம் 60 முதல் 100 கருவிகள் வரை வந்துவிடும். கருவி விளக்கங்கள் (tool definitions) மொத்த context பட்ஜெட்டில் 20% வரை எடுத்துக்கொண்ட செஷன்களை நான் பார்த்திருக்கிறேன்.
அனைத்தையும் ஒரே நேரத்தில் ஏற்றுவதை நிறுத்துங்கள். அதற்குப் பதிலாக 'deferred loading' முறையைப் பயன்படுத்துங்கள்.
இதோ அந்த முறை: • கருவிகளின் பெயர் மற்றும் ஒரு சிறிய விளக்கத்தை மட்டும் பட்டியலிடுங்கள். • தேவைப்படும்போது முழுமையான schema-க்களைப் பெற ஒரு தேடல் கருவியைப் (search tool) பயன்படுத்துங்கள்.
ஒவ்வொரு கருவிக்கும் ஒரு மிகப்பெரிய JSON ஆப்ஜெக்ட்டைச் (object) செலுத்துவதற்குப் பதிலாக, ஒரு எளிய பெயரை மட்டும் வழங்கவும். மாடலுக்கு ஒரு குறிப்பிட்ட கருவி தேவைப்படும்போது, அது ஒரு தேடல் செயல்பாட்டை (search function) அழைக்கும். அந்தச் செயல்பாடு பொருந்தக்கூடிய கருவிகளுக்கு மட்டுமே முழுமையான schema-வை வழங்கும்.
இதன் முடிவுகள் மிகப்பெரியவை: • 80 கருவிகளை 'Eager loading' முறையில் ஏற்றுவது: ~18,000 டோக்கன்கள். • 80 கருவிகளை 'Deferred loading' முறையில் ஏற்றுவது: ~1,000 டோக்கன்கள்.
இது கருவி விளக்கங்களை ஒரு பெரிய செலவிலிருந்து மிகச்சிறிய செலவாக (rounding error) மாற்றுகிறது.
பெரும்பாலான செஷன்கள் கிடைக்கக்கூடிய கருவிகளில் ஒரு சிறிய பகுதியை மட்டுமே பயன்படுத்துவதால் இந்த உத்தி வேலை செய்கிறது. ஒரு செஷனில் நீங்கள் அனைத்து கருவிகளையும் பயன்படுத்தினால், செலவு மாறாமல் இருக்கும். ஆனால் பெரும்பாலான பயனர்களுக்கு, இது மிகப்பெரிய அளவிலான context-ஐச் சேமிக்கிறது.
மாடல் எந்தக் கருவிகளை அழைக்க வேண்டும் என்று கேட்காதீர்கள். மாடல் இயல்பாகவே (by default) எவை உள்ளன என்பதைத் தெரிந்து கொள்ள வேண்டும் என்று கேட்கவும்.
பெரும்பாலான பட்டியல்கள் (catalogs) எளிமைக்காக அனைத்தையும் ஒரே நேரத்தில் வழங்குகின்றன. ஆனால் யாரும் படிக்காத ஒரு மெனுவிற்காக உங்கள் பட்ஜெட்டைத் தீர்ப்பதற்கான மிக வேகமான வழி இதுவாகும்.
எளிமையாக வைத்திருங்கள். ஒரு பெயர், ஒரு விளக்கம் மற்றும் ஒரு தேடல் செயல்பாட்டை மட்டும் வழங்கவும். நீங்கள் பயன்படுத்தும் மூன்று கருவிகளுக்கு மட்டும் பணம் செலுத்துங்கள், நீங்கள் புறக்கணிக்கும் எண்பது கருவிகளுக்கு அல்ல.
Source: https://dev.to/enjoy_kumawat/your-mcp-servers-are-burning-tokens-before-you-type-a-word-3076
Optional learning community: https://t.me/GyaanSetuAi
