12 கேள்விகள் கொண்ட ஒரு சோதனையில், Bash wrappers ஏழு ஸ்கீமாக்கள் கொண்ட Model Context Protocol (MCP)-ஐ விட அதிக டோக்கன்களைப் பயன்படுத்தியது. இதன் மூலம், பல பொறியாளர்கள் நினைப்பது போல ஷெல் (shell) ஒரு மலிவான குறுக்குவழி அல்ல என்பது தெரியவந்துள்ளது. டோக்கன் பயன்பாடு என்பது பெரிய அளவிலான (at scale) முறையில் இயங்கும் பெரிய மொழி மாதிரிகளின் (LLM) முகவர்களுக்கான (agents) செலவை நேரடியாகப் பாதிக்கிறது.
முடிவுகளை மாற்றியமைத்த சோதனை
ஒரு டெவலப்பர், ஒரு LLM முகவர் கப்பல் தரவை (vessel data) பெறுவதற்கான நான்கு வழிகளை அளவிட்டார்:
- MCP – Model Context Protocol மூலம் இயக்கப்படும் ஏழு கருவி ஸ்கீமாக்கள் (tool schemas).
- Bash + curl (cold) – கூடுதல் ப்ராம்ப்ட்கள் (prompting) இல்லாத ஒரு நேரடி ஷெல் அழைப்பு.
- Bash + curl (warm) – அதே ஷெல் அழைப்புடன், பாதுகாப்பான பயன்பாட்டிற்கு வழிகாட்டும் சிஸ்டம் ப்ராம்ப்ட்கள் (system prompts) சேர்க்கப்பட்டது.
- Dedicated CLI tool – ஒரு குறிப்பிட்ட நோக்கத்திற்காக உருவாக்கப்பட்ட கமாண்ட்-லைன் இன்டர்ஃபேஸ் (CLI).
இவை நான்கும் 12 கேள்விகள் கொண்ட உரையாடலில் இயக்கப்பட்டன. API கட்டணத்தைத் தீர்மானிக்கும் டோக்கன் பயன்பாடு பின்வருமாறு இருந்தது:
- MCP: 109,779 டோக்கன்கள்
- Bash + curl (cold): 158,021 டோக்கன்கள்
- Bash + curl (warm): 178,577 டோக்கன்கள்
பிரத்யேக CLI கருவியின் எண்கள் வெளியிடப்படவில்லை, ஆனால் இரண்டு Bash முறைகளே ஏற்கனவே MCP-ஐ விட அதிக செலவை ஏற்படுத்திவிட்டன.
ஏன் ஷெல் புரோட்டோகலை விட அதிக செலவானது?
ஒவ்வொரு Bash கருவிக்கும் தோராயமாக 2,700 டோக்கன்கள் அளவுள்ள "harness prompts" தேவைப்பட்டன – அதாவது, ஷெல்லை எவ்வாறு பாதுகாப்பாக அழைப்பது, வெளியீட்டை (output) எவ்வாறு பகுப்பாய்வு செய்வது மற்றும் பிழைகளைக் கையாள்வது போன்ற அறிவுறுத்தல்கள். இந்த ப்ராம்ப்ட்கள் மட்டுமே ஏழு MCP ஸ்கீமாக்களின் மொத்த டோக்கன் அளவை விட அதிகம்.
செலவு என்பது ஆரம்ப அழைப்பில் மட்டும் முடிந்துவிடுவதில்லை. தயாரிப்பு நிலையில் (production), அதே முகவர் தொடக்கத்திலேயே 11 MCP சர்வர்களை முன்கூட்டியே ஏற்றியது (pre-loaded), இதனால் முதல் பயனர் கேள்வி வருவதற்கு முன்பே 19,800 டோக்கன்கள் செலவாகின. பின்னர், ஒவ்வொரு முறையும், முகவர் ஒவ்வொரு சர்வரிலிருந்தும் ஒவ்வொரு ஸ்கீமாவையும் மீண்டும் வாசித்தது, எனவே "மணி என்ன?" போன்ற ஒரு சாதாரணக் கேள்விக்குக் கூட, மற்ற அனைத்துக் கருவி விளக்கங்களுக்கான டோக்கன் விலையையும் செலுத்த வேண்டியிருந்தது.
'Eager loading'-ன் மறைமுக இழப்பு
ஒரு LLM முகவர் ஒவ்வொரு முறையும் அனைத்து கருவி சர்வர்களையும் முன்கூட்டியே ஏற்றும்போது (eagerly loads), டோக்கன் கட்டணம் வியத்தகு முறையில் அதிகரிக்கிறது. Bash பயன்படுத்துவதன் "உண்மையான" செலவு என்பது ஷெல் கமாண்ட் மட்டுமல்ல, ஒவ்வொரு முறையும் மாடலுக்கு அனுப்பப்பட வேண்டிய சூழல் (context) தான் என்று இந்த சோதனை காட்டியது.
- நிலையான செலவு கருவிகள் (MCP schemas) ஒவ்வொரு முறையும் கணிக்கக்கூடிய டோக்கன் கூடுதல் சுமையை (overhead) சேர்க்கின்றன.
- டைனமிக் பேலோட்கள் (curl responses) உரையாடலின் நீளம் மற்றும் தரவின் அளவைப் பொறுத்து அதிகரித்துக்கொண்டே செல்லும் ஒரு கடனைச் சேர்க்கின்றன.
எனவே, மேலோட்டமாகப் பார்க்கும்போது "இலவசம்" என்று தோன்றும் ஷெல், உண்மையில் ஒரு பெரிய மற்றும் மாறுபடும் டோக்கன் வரியை விதிக்கிறது.
AI பொறியாளர்கள் அடுத்து என்ன செய்ய வேண்டும்
- Lazy loading முறையைப் பின்பற்றுங்கள். ஒரு கருவி ஸ்கீமா தேவைப்படும்போது மட்டும் அந்த சர்வரை ஏற்றவும், ஒவ்வொரு முறையும் மீண்டும் வாசிப்பதற்குப் பதிலாக அதை நினைவகத்தில் (memory) வைத்திருக்கவும்.
- கருவி ஸ்கீமாக்களை ஒரு நிலையான செலவாகக் கருதுங்கள். ஷெல் கமாண்டுகள் இலவசம் என்று நினைப்பதற்குப் பதிலாக, MCP வரையறைகளின் (definitions) அளவைக் கொண்டு டோக்கன் பட்ஜெட்டைத் திட்டமிடுங்கள்.
- "shell = மலிவானது" என்ற அனுமானங்களை மறுபரிசீலனை செய்யுங்கள். ஒரு வடிவமைப்பைத் தேர்ந்தெடுப்பதற்கு முன், ஒவ்வொரு கருவிப் பாதையின் டோக்கன் பயன்பாட்டையும் ஆய்வு செய்யுங்கள்.
- சிறிய மாடல்களுக்குத் தெளிவான கருவிகளைப் பயன்படுத்துங்கள். வரையறுக்கப்பட்ட context windows இருந்தாலும், நன்கு வரையறுக்கப்பட்ட ஸ்கீமாக்கள் பகுத்தறிவு (reasoning), அலகு மாற்றம் (unit conversion) மற்றும் பிழை கையாளுதலை மேம்படுத்துகின்றன.
சுருக்கமாகச் சொன்னால்: புரோட்டோகால் வடிவமைப்பு அல்ல, டோக்கன் பொருளாதாரம் தான் செலவைத் தீர்மானிக்கிறது. கருவி சர்வர்கள் எப்போது மற்றும் எப்படி ஏற்றப்படுகின்றன என்பதை நிர்வகிப்பதன் மூலம், ஒரு உரையாடலில் பல்லாயிரக்கணக்கான டோக்கன்களைக் குறைக்க முடியும், இது செயல்பாட்டுச் செலவை (operational spend) நேரடியாகக் குறைக்கும்.
ஆதாரம்: https://dev.to/clarkbw--/enabling-bash-costs-more-context-than-seven-mcp-tool-schemas-2h82
