- LLM द्वारा पूरे tool call result को प्रोसेस करने का तरीका धीमा, महंगा और scaling के लिए अनुपयुक्त है
- इसके बजाय, output schema पर आधारित structured data को code से प्रोसेस कराने के लिए LLM को orchestration करने देने का तरीका प्रस्तावित है
- यह approach code के जरिए function chaining और variable-based memory management के साथ large-scale data processing के लिए उपयुक्त है
- code execution-आधारित data processing तरीका अधिक सटीक और scalable है, क्योंकि इसमें LLM सीधे data को पुनर्निर्मित नहीं करता
- सुरक्षित AI runtime environment बनाना एक नई चुनौती के रूप में उभर रहा है, और इसके लिए टिकाऊ तथा stateful execution environment की आवश्यकता है
LLM function calls don't scale; code orchestration is simpler, more effective.
Tool call results को फिर से LLM को देने वाले मौजूदा तरीके की सीमाएँ
- MCP(Machine Context Protocol) tools का उपयोग करते समय आम तौर पर tool output result को message के रूप में LLM को दिया जाता है और उससे अगला action तय कराया जाता है
- वास्तविक use cases में Linear और Intercom के MCP servers JSON format में बहुत बड़े responses लौटाते हैं
- JSON API जैसा होता है, लेकिन defined output schema न होने से LLM पर पूरे text को parse करने का बोझ आ जाता है
- उदाहरण के लिए, Linear के issue list query result में 50 items, 70,000 characters और लगभग 25,000 tokens होते हैं, जो बहुत बड़ा है
- कई
id fields का कोई अर्थपूर्ण उपयोग नहीं होता, लेकिन वे tokens खर्च करते हैं, और LLM को इन्हें ज्यों का त्यों दोहराना पड़े तो cost और errors दोनों बढ़ते हैं
Data processing और orchestration को अलग करने की ज़रूरत
- मौजूदा तरीका data processing और orchestration को एक ही chat session में मिला देता है
- कुछ लोग इसके लिए “agent” के नाम पर अलग threads बनाते हैं, लेकिन जब JSON पहले से structured हो, तो यह अप्रभावी है
- बेहतर तरीका है structured data को सीधे code से प्रोसेस करना
- उदाहरण: issues को sort करने के लिए LLM से output बनवाने के बजाय code में
sort चलाकर सिर्फ result array लौटाया जाए
Code execution-आधारित data processing
- code execution के जरिए AI computation पहले से कई AI interpreters में उपयोग हो रहा है
- यह तरीका LLM को सीधे data output करने के बजाय सिर्फ यह तय करने देता है कि tools का इस्तेमाल कैसे किया जाए, जिससे संरचना अधिक सरल हो जाती है
मुख्य अवधारणाएँ
- variables को memory की तरह उपयोग करना: value assign करना = store करना, output = retrieval, function call में argument के रूप में pass करना
- function chaining support: कई function calls को parallel/sequence में combine किया जा सकता है, और dependencies को code के स्वाभाविक flow में व्यक्त किया जा सकता है
- scalable large-scale data processing: NumPy, pandas आदि के साथ मिलाकर हज़ारों से लेकर दसियों हज़ार records तक आसानी से प्रोसेस किए जा सकते हैं
- दूसरे LLM calls भी संभव: LLM द्वारा लिखे गए code के भीतर किसी और LLM को call करके unstructured data processing भी की जा सकती है
क्या MCP तैयार है?
- MCP specification पहले से input schema define करती है, और हाल ही में output schema PR भी submit किया गया है
- अगर output schema सामान्य हो जाए, तो निम्नलिखित उपयोग संभव होंगे:
- issue status dashboard
- weekly completed ticket report
- रुके हुए tickets को AI द्वारा monitor करके push करना
Code execution environment की चुनौतियाँ
- security सबसे महत्वपूर्ण मुद्दा है: AI/उपयोगकर्ता-निर्मित code चलाया जाता है, इसलिए API keys और data exposure को रोकने वाली design आवश्यक है
- Lutra के मामले में execution environment को sandbox approach के रूप में बनाया गया है, और model को केवल API call documentation दी जाती है
- stateful execution environments (जैसे Jupyter) महंगे होते हैं, और long sessions के लिए stateless + persistent विशेषताओं की आवश्यकता होती है
- इससे AI runtime की एक नई category बन रही है, जिसकी design पर अभी सक्रिय रूप से काम चल रहा है
निष्कर्ष
- tool call results को LLM में डालकर प्रोसेस कराने वाला मौजूदा तरीका cost और accuracy दोनों में सीमित है
- code-based orchestration सरल, scalable और अधिक सटीक processing को संभव बनाता है
- AI code execution environments को security, persistence और scalability से युक्त अगली पीढ़ी के runtime के रूप में देखा जा रहा है
1 टिप्पणियां
Hacker News राय