HarnessAPI: A Skill-First Framework for Unified Streaming APIs and MCP Tools
HarnessAPI एक पायथन फ्रेमवर्क है जो टाइप किए गए स्किल फोल्डर्स को सिंगल सोर्स ऑफ ट्रुथ मानकर कोड के दोहराव को समाप्त करता है ताकि एक सिंगल हैंडलर और पयडैन्टिक (Pydantic) स्कीमा से यूनिफाइड स्ट्रीमिंग HTTP एंडपॉइंट्स, इंटरैक्टिव ओपेनएपीआई (OpenAPI) डॉक्यूमेंटेशन और ज़ीरो-कॉन्फ़िगरेशन MCP टूल्स को स्वचालित रूप से जेनरेट किया जा सके।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक शेफ हैं जिसने एक स्वादिष्ट नई रेसिपी (एक "स्किल") बनाई है। AI और सॉफ्टवेयर की दुनिया में, इस रेसिपी को दो बहुत अलग प्रकार के ग्राहकों को परोसा जाना चाहिए:
- वेब ग्राहक (The Web Customer): वे आपकी रेस्टोरेंट की वेबसाइट पर आते हैं, एक फॉर्म भरते हैं, और एक त्वरित, व्यवस्थित रसीद (एक HTTP एंडपॉइंट) की उम्मीद करते हैं।
- रोबोट बटलर (The Robot Butler): यह एक AI असिस्टेंट (जैसे एक डिजिटल बटलर) है जिसे खाना बनाते समय आपके किचन की शेल्फ से सीधे आपकी रेसिपी उठाने की आवश्यकता होती है (एक MCP टूल)।
समस्या: "डबल-एंट्री" का दुःस्वप्न
अभी, यदि आप दोनों ग्राहकों को सेवा देना चाहते हैं, तो आपको अपनी रेसिपी को दो बार लिखना होगा।
- पहले, आपको वेबसाइट के लिए एक फैंसी लेजर (बहीखाता) में अपनी रेसिपी लिखनी होगी (नियमों के एक सेट का उपयोग करके)।
- फिर, आपको रोबोट बटलर के लिए एक अलग नोटबुक में वही सटीक निर्देश फिर से लिखने होंगे (बिल्कुल अलग नियमों का उपयोग करके)।
यह कागज़ इसे "डुअल-स्टैक" समस्या कहता है। सबसे बुरा हिस्सा यह है कि यदि आप अपने किचन में कोई सामग्री बदलते हैं (अपने कोड को अपडेट करते हैं), तो आपको दोनों लेजर को अपडेट करना याद रखना होगा। यदि आप भूल जाते हैं, तो वेबसाइट कह सकती है "2 अंडे डालें" जबकि रोबक बटलर सोच सकता है "2 कप आटा डालें।" इससे भ्रम, त्रुटियां और बहुत अधिक अतिरिक्त कागजी कार्रवाई होती है।
समाधान: HarnessAPI
लेखक, एडविन जोस ने एक फ्रेमवर्क बनाया है जिसे HarnessAPI कहा जाता है, जो इसे बदलकर खेल के नियम बदल देता है। वेबसाइट या रोबोट से शुरू करने के बजाय, आप स्किल (रेसिपी फोल्डर) से शुरू करते हैं।
HarnessAPI को अपने किचन में एक यूनिवर्सल ट्रांसलेटर और प्रिंटर के रूप में समझें।
- आप अपनी रेसिपी को निर्देशों के एक सेट के साथ एक एकल फोल्डर में रखते हैं।
- HarnessAPI उस फोल्डर को देखता है और आपके लिए स्वचालित रूप से "वेबसाइट रसीद" और "रोबोट निर्देश पत्र" प्रिंट कर देता है।
- क्योंकि दोनों शीट एक ही मास्टर फोल्डर से आती हैं, इसलिए वे कभी भी एक-दूसरे से असहमत नहीं हो सकतीं। यदि आप रेसिपी बदलते हैं, तो दोनों शीट तुरंत अपडेट हो जाती हैं।
यह कैसे काम करता है (जादुई करतब)
- एक फोल्डर, दो दरवाजे: फ्रेमवर्क एक फोल्डर को, जिसमें आपका कोड है, को "सत्य का स्रोत" (Source of Truth) मानता है। यह स्वचालित रूप से वेब के लिए एक दरवाजा और रोबोट के लिए एक दरवाजा बनाता है, ताकि आपको उन्हें मैन्युअल रूप से कभी न बनाना पड़े।
- आकार बदलने वाला वेटर (The Shape-Shifting Waiter): कल्पना करें कि एक वेटर है जो पूछने वाले के आधार पर अपना यूनिफॉर्म बदल सकता है। यदि एक वेब ब्राउज़र डेटा मांगता है, तो वह इसे एक मानक JSON फ़ाइल के रूप में परोसता है। यदि एक AI एजेंट डेटा के स्ट्रीम (जैसे टुकड़ों में चलता हुआ वीडियो) की मांग करता है, तो वह तुरंत स्ट्रीमिंग मोड में स्विच हो जाता है। वेटर (आपका कोड) को पता भी नहीं चलता कि वह बदल रहा है; फ्रेमवर्क स्वचालित रूप से स्विच को संभालता है।
- "नकली" रोबोट (The "Fake" Robot): रोबोट बटलर को आपके कोड को समझने में मदद करने के लिए, फ्रेमवर्क ऑन द फ्लाई (तुरंत) एक विशेष "रैपर" (अनुवादक) बनाता है। यह ऐसा है जैसे फ्रेमवर्क जल्दी से एक नोट लिखता है कि, "हे रोबोट, यहाँ बताया गया है कि इस फंक्शन को ठीक से कैसे कॉल करना है," ताकि रोबोट जटिल कोड संरचनाओं से भ्रमित न हो।
यह क्यों महत्वपूर्ण है (परिणाम)
लेखक ने छह अलग-अलग "स्किल" (जैसे टेक्स्ट को सारांशित करना या भाषाओं का अनुवाद करना) बनाकर इसका परीक्षण किया, जिन्हें दो तरीकों से बनाया गया था:
- पुराना तरीका: वेबसाइट और रोबel के लिए अलग-अलग कोड को मैन्युअल रूप से लिखना।
- HarnessAPI का तरीका: केवल एक बार अपनी स्किल लिखना।
निष्कर्ष:
- 74% कम काम: HarnessAPI विधि में 74% कम "बॉयलरप्लेट" कोड (उबाऊ, दोहराव वाला सेटअप कार्य) की आवश्यकता पड़ी।
- कोई अंतर नहीं (No Drift): पुराने तरीके में, दो संस्करण अलग हो सकते थे और असंगत हो सकते थे। नए तरीके में, वे गणितीय रूप से समान होने की गारंटी देते हैं क्योंकि वे एक ही स्रोत से आते हैं।
- एक प्रक्रिया: दो अलग-अलग सर्वर चलाने के बजाय (वेब के लिए एक और रोबोट के लिए एक), HarnessAPI सब कुछ एक ही सिंगल प्रोसेस में चलाता है, जिससे यह हल्का और प्रबंधित करने में आसान हो जाता है।
कमी (सीमाएं)
पेपर कुछ सुरक्षा नियमों के बारे में ईमानदार है:
- "हॉट-स्वैप" फीचर: इसमें एक फीचर है जो आपको सर्वर चलते समय कोड को अपडेट करने की अनुमति देता है (टेस्टिंग के लिए बढ़िया है), लेकिन लेखक चेतावनी देते हैं कि यह अपने किचन को किसी को रिमोट कंट्रोल देने जैसा है। इसका उपयोग केवल अपने कंप्यूटर (localhost) पर करना सुरक्षित है और इसे सार्वजनिक वेबसाइटों के लिए कभी भी चालू नहीं किया जाना चाहिए, अन्यथा हैकर्स आपके सर्वर पर कब्जा कर सकते हैं।
- जटिलता: यह मानक रेसिपी के लिए बहुत अच्छा काम करता है, लेकिन यदि आपकी रेसिपी में अत्यंत जटिल, नेस्टेड संरचनाएं शामिल हैं, तो स्वचालित अनुवादक को थोड़ी मदद की आवश्यकता हो सकती है।
सारांश में
HarnessAPI एक ऐसा टूल है जो डेवलपर्स को दोहरा काम करने से रोकता है। यह कहता है, "अपना कोड एक बार लिखें, और हम बाकी सब संभाल लेंगे।" यह सुनिश्चित करता है कि आपके AI टूल्स और आपके वेब टूल्स हमेशा पूर्ण तालमेल में रहें, जिससे समय बचता है और उन त्रुटियों को रोका जा सकता है जो तब होती हैं जब आप एक ही चीज़ के दो अलग-अलग संस्करणों को बनाए रखने की कोशिश करते हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।