VPS पर Claude AI agent कैसे बनाएं: पूरी गाइड
Claude Messages API और MCP का उपयोग करके अपना AI agent बनाने का तरीका जानें। यह गाइड बताती है कि कैसे आप अपने VPS को कंट्रोल सेंटर बनाकर AI को टूल्स और डेटा से जोड़ सकते हैं।
Claude के साथ एजेंट बनाने का अर्थ
Claude के साथ एजेंट बनाने का अर्थ है Claude को reasoning core के रूप में उपयोग करना, जबकि loop, tools और data आपके अपने सर्वर पर रहते हैं। Claude तय करता है कि क्या करना है; आपका VPS उसे पूरा करता है। आप Claude को कार्य और वर्तमान स्थिति भेजते हैं, Claude या तो उत्तर देता है या आपके किसी tool का उपयोग करने का अनुरोध करता है, आपका code tool को चलाता है और परिणाम वापस भेजता है, और यह loop तब तक चलता रहता है जब तक कार्य पूरा नहीं हो जाता। intelligence एक ऐसी service है जिसे आप internet के माध्यम से call करते हैं। इसके आसपास की हर चीज़ आपकी है।
यह विभाजन ही इसकी मुख्य विशेषता है। आपको model चलाए बिना frontier-level reasoning मिलती है, और आप इस पर पूरा नियंत्रण रखते हैं कि एजेंट किन चीज़ों तक पहुँच सकता है, क्योंकि tools आपके स्वामित्व वाले hardware पर चलते हैं। यदि आपने पहले ही अपना पहला Claude program बना लिया है, तो VPS पर पहला Claude app बनाने की मार्गदर्शिका उन बुनियादी बातों को कवर करती है जिन पर यह मार्गदर्शिका आधारित है।
Claude का मस्तिष्क: Messages API
Claude के लिए हर कॉल एक ही endpoint, Messages API के माध्यम से जाती है। आप अब तक की बातचीत और उन tools की सूची भेजते हैं जिनका उपयोग agent कर सकता है; Claude अपना अगला संदेश वापस भेजता है। वह संदेश या तो अंतिम उत्तर होता है या किसी tool को कॉल करने का अनुरोध। स्वयं बनाने (build-it-yourself) वाले मार्ग के लिए कोई अलग "agent API" नहीं है: tool का उपयोग इसी एकल endpoint की एक विशेषता है, और इसके चारों ओर का लूप आपको ही चलाना होता है।
Claude कॉल्स के बीच stateless रहता है, जिसका अर्थ है कि वह अपने आप कुछ भी याद नहीं रखता है। प्रत्येक request में पूरी बातचीत शामिल होती है। आपका कोड इतिहास को सुरक्षित रखता है और हर टर्न पर उसे भेजता है, जो कि लंबे सत्र में प्रत्येक टर्न पिछले टर्न की तुलना में अधिक tokens क्यों खर्च करता है का कारण है। यह एक सीमा से अधिक एक डिज़ाइन विकल्प है: क्योंकि state आपके सर्वर पर रहती है, आप तय करते हैं कि Claude क्या देखता है, और कार्य के बारे में कुछ भी ऐसी जगह संग्रहीत नहीं होता जिसे आप नियंत्रित नहीं करते हैं। इसका मतलब यह जरूर है कि prompt लगातार बढ़ता रहता है, और जबकि Claude की context window इसे आसानी से संभाल लेती है, उसी लूप में एक local model ऐसा नहीं कर पाएगा, यही कारण है कि Ollama को लंबे prompts को truncate करने से रोकने के लिए num_ctx को बढ़ाने की आवश्यकता होती है।
Tool use एक agent loop है
Claude के साथ agent loop का वर्णन करना सरल है। आप एक ऐसा request भेजते हैं जिसमें आपके tools शामिल होते हैं। Claude कार्य को पढ़ता है और यदि उसे कोई क्रिया करनी हो, तो वह एक tool-use request के साथ उत्तर देता है, जिसमें tool का नाम और उसके inputs होते हैं। आपका code उस tool को चलाता है, और फिर परिणाम को अगले request में वापस Claude को भेज देता है। Claude परिणाम को पढ़ता है और या तो किसी अन्य tool के लिए पूछता है या अपना अंतिम उत्तर लिखता है। जब वह tools के लिए पूछना बंद कर देता है, तो कार्य पूरा हो जाता है।
आप उस loop को कुछ ही पंक्तियों में स्वयं लिख सकते हैं, और बहुत से लोग ऐसा करते भी हैं, क्योंकि इसे देखना और नियंत्रित करना आसान है। आधिकारिक SDKs एक tool runner भी प्रदान करते हैं जो आपके लिए loop को चलाता है: आप tool functions प्रदान करते हैं, और SDK Claude को call करने, आपके tools को चलाने, और Claude के समाप्त होने तक परिणामों को वापस भेजने की प्रक्रिया को संभालता है। दोनों ही स्थितियों में स्वरूप समान रहता है। Runner केवल आपको स्वयं loop लिखने से बचाता है। यदि loop अभी भी अमूर्त लगता है, तो इसका उपाय यह है कि runner का उपयोग करने से पहले एक न्यूनतम loop लिखें, जो वह चरण है जिस पर बाकी सब कुछ AI agents को शून्य से सीखने के लिए इस चरणबद्ध मार्ग में निर्भर करता है।
बिल्ड करने के तीन तरीके, और VPS के लिए कौन सा उपयुक्त है
Claude agent को बिल्ड करने के तीन तरीके हैं, और वे इस बात में भिन्न हैं कि आप कितनी मशीनरी (machinery) खुद चलाते हैं।
पहला तरीका है अपना खुद का कोड लिखना जो आपके अपने टूल्स के साथ Claude API को कॉल करता है। आप लूप लिखते हैं, या SDK के टूल रनर का उपयोग करते हैं, और आप पूरी चीज़ को अपने VPS पर होस्ट करते हैं। यह एक सामान्य विकल्प है, क्योंकि यह आपको टूल्स, डेटा और सुरक्षा पर पूर्ण नियंत्रण देता है, और यह आपके सर्वर पर एक सामान्य प्रोग्राम के रूप में चलता है। इस गाइड का अधिकांश हिस्सा इसी रास्ते को मानकर चलता है।
दूसरा तरीका Claude Agent SDK है। यह Claude Code है, जो एक कोडिंग एजेंट है, जिसे एक लाइब्रेरी के रूप में पैक किया गया है जिस पर आप निर्माण कर सकते हैं। यह एक पूर्ण एजेंट लूप और फाइलों को पढ़ने और लिखने, शेल कमांड चलाने और सर्च करने के लिए इन-बिल्ट टूल्स के साथ आता है, इसलिए आपको उन्हें शून्य से असेंबल करने की आवश्यकता नहीं होती है। यह भी आपके अपने सर्वर पर चलता है, जो इसे VPS के लिए एक मजबूत विकल्प बनाता है जब आप बिना खुद हार्नेस बनाए एक सक्षम फाइल-एंड-शेल एजेंट चाहते हैं। एक एजेंट जो फाइलें पढ़ता है और शेल कमांड चलाता है, उसे बिना निगरानी के काम करने से पहले कंटेनमेंट की आवश्यकता होती है, और सर्वर पर सुरक्षित रूप से Claude Code चलाना परमिशन सिस्टम, सैंडबॉक्स और आइसोलेशन विकल्पों को कवर करता है।
तीसरा तरीका Managed Agents है, जहाँ Anthropic लूप चलाता है और एक सैंडबॉक्स होस्ट करता है जिसमें एजेंट के टूल्स निष्पादित होते हैं। यह हैंड्स-ऑफ विकल्प है: इसमें आपके द्वारा संचालित करने के लिए बहुत कम है, लेकिन एजेंट का वर्कस्पेस आपके VPS के बजाय Anthropic के इंफ्रास्ट्रक्चर पर रहता है। इसे तब चुनें जब आप सबसे कम ऑपरेशनल काम चाहते हों और आपको अपनी मशीन पर टूल्स चलाने की आवश्यकता न हो। अन्य दो तरीकों के लिए, आपका सर्वर एजेंट का घर है, और यह गाइड का बाकी हिस्सा इसी बारे में है।
MCP के साथ टूल्स को कनेक्ट करना
आप चाहे कोई भी रास्ता चुनें, आप एजेंट को वास्तविक सिस्टम से कनेक्ट करना चाहेंगे, और Model Context Protocol ऐसा करने का एक व्यवस्थित तरीका है। MCP एजेंट के लिए टूल्स और डेटा को एक्सपोज़ करने का एक ओपन स्टैंडर्ड है। हर सर्विस के लिए अलग से इंटीग्रेशन कोड लिखने के बजाय, आप Claude को एक ऐसे MCP सर्वर की ओर निर्देशित करते हैं जो उन क्षमताओं को पहले से ही टूल्स के रूप में प्रस्तुत करता है। आप MCP सर्वर्स को उसी VPS पर छोटी सर्विसेज के रूप में चला सकते हैं, जहाँ प्रत्येक को केवल उतनी ही एक्सेस दी जाती है जितनी उसे आवश्यकता है, जिसके बारे में मैंने VPS पर MCP सर्वर्स चलाना में विस्तार से बताया है।
मॉडल का चयन
Claude कई मॉडल्स में उपलब्ध है। किसी एक को चुनना क्षमता, गति और लागत के बीच संतुलन बनाना है। इस लेख को लिखते समय मुख्य विकल्प Claude Opus 4.8 (claude-opus-4-8) हैं, जो कठिन तर्क और लंबे एजेंट रन के लिए एक सक्षम डिफ़ॉल्ट मॉडल है; Claude Sonnet 5 (claude-sonnet-5), एक संतुलित विकल्प जो सस्ता और तेज़ है, लेकिन कई कार्यों में Opus के करीब रहता है; और Claude Haiku 4.5 (claude-haiku-4-5), जो सबसे तेज़ और सस्ता है, और सरल, उच्च-वॉल्यूम वाले चरणों के लिए उपयुक्त है। इनसे ऊपर Claude Fable 5 (claude-fable-5) है, जो सबसे अधिक मांग वाले कार्यों के लिए सबसे सक्षम मॉडल है। अपने कोड में सटीक मॉडल पहचानकर्ता (identifier) का उपयोग करें, इसमें कोई तारीख न जोड़ें।
एक व्यावहारिक तरीका इनका मिश्रण उपयोग करना है। नियमित टूल कॉल्स को सस्ते मॉडल से संभालें और कठिन निर्णयों के लिए एक शक्तिशाली मॉडल का उपयोग करें। चूंकि मॉडल आपके अनुरोध में केवल एक स्ट्रिंग है, इसलिए इसे बदलना एक लाइन का बदलाव है। इसलिए एक सक्षम डिफ़ॉल्ट मॉडल से शुरुआत करें और जहाँ गति या लागत गुणवत्ता के अंतिम स्तर से अधिक महत्वपूर्ण हो, वहाँ मॉडल को ट्यून करें।
इसे अपने VPS पर एक hardened service के रूप में चलाएं
एक agent तभी उपयोगी होता है जब वह चलता रहे, और वह तभी सुरक्षित होता है जब वह सीमित (contained) हो। VPS पर ये दोनों चीजें agent को terminal में मैन्युअल रूप से शुरू करने के बजाय एक hardened system service के रूप में चलाने से प्राप्त होती हैं। एक service के रूप में, यह boot होने पर शुरू होता है, क्रैश होने पर restart होता है, और journal में log करता है। Hardened होने पर, यह केवल आवश्यक access वाले एक unprivileged user के रूप में चलता है, जिससे किसी bug या गलत instruction का प्रभाव सीमित रहता है। एक service unit केवल यह सीमित कर सकती है कि process किन चीजों को छू सकती है, इसलिए बाकी सुरक्षा agent harness के भीतर होनी चाहिए, जो कि DeepSeek Harness plugins जिन्हें इंस्टॉल करना सार्थक है का काम है: spend caps, प्रति-टूल अनुमति नियम, और prompt-injection स्कैनिंग।
सबसे महत्वपूर्ण नियम यह है कि अपनी Claude API key को server-side पर रखें। यह key हर call के लिए भुगतान करती है और उसे अधिकृत करती है, इसलिए इसे केवल agent के user द्वारा पठनीय फाइल में रखा जाना चाहिए, service में environment variable के रूप में load किया जाना चाहिए, और इसे कभी भी code, repository, या ऐसी किसी जगह न रखें जहाँ browser की पहुँच हो। अपने agent के लिए एक पूर्ण, hardened service unit यहाँ generate करें:
फिर server को पूरा करें। SSH को केवल keys पर रखें और उस account को lock करें जिससे आप प्रशासन करते हैं, जैसा कि VPS पर SSH hardening में बताया गया है। यदि आप agent को बनाते समय उसे interactive session से चलाना पसंद करते हैं, तो tmux के साथ VPS पर Claude Code चलाना एक अच्छा विकल्प है। एक बार जब आपके पास उसी box पर दूसरा session खुल जाए, तो दोनों आपस में काम साझा कर सकते हैं, बजाय इसके कि आप हर instruction को एक pane से दूसरे में ले जाएं। और यदि आप इन सबके पीछे के सिद्धांतों को जानना चाहते हैं, बिना उन्हें किसी एक model से जोड़े, तो VPS पर अपना AI agent बनाना मार्गदर्शिका आधारभूत जानकारी प्रदान करती है।
यदि आप एक terminal coding assistant चाहते हैं, तो VPS पर coding AI agent चलाना Aider और Goose को कवर करता है।
FAQ
मुझे एजेंट बनाने के लिए किस Claude मॉडल का उपयोग करना चाहिए?
Claude Opus 4.8 (claude-opus-4-8) से शुरुआत करें, जो एक सक्षम डिफ़ॉल्ट मॉडल है, और आवश्यकतानुसार बदलाव करें। अधिकांश कार्यों के लिए Claude Sonnet 5 (claude-sonnet-5) सस्ता और तेज़ है, सरल और अधिक मात्रा वाले चरणों के लिए Claude Haiku 4.5 (claude-haiku-4-5) सबसे अच्छा है, और सबसे कठिन कार्यों के लिए Claude Fable 5 (claude-fable-5) सबसे सक्षम है। एक सामान्य तरीका यह है कि नियमित चरणों के लिए सस्ते मॉडल और कठिन निर्णयों के लिए शक्तिशाली मॉडल का उपयोग करें, क्योंकि मॉडल बदलना केवल एक लाइन का बदलाव है।
क्या मैं पूरा एजेंट अपने VPS पर चलाता हूँ, या Anthropic इसे चलाता है?
यह आपके दृष्टिकोण पर निर्भर करता है। यदि आप Claude API का उपयोग करके अपना स्वयं का लूप लिखते हैं, या Claude Agent SDK का उपयोग करते हैं, तो एजेंट पूरी तरह से आपके VPS पर चलता है और केवल मॉडल कॉल Anthropic को जाते हैं। यदि आप Managed Agents का उपयोग करते हैं, तो Anthropic लूप को चलाता है और उस सैंडबॉक्स को होस्ट करता है जहाँ टूल्स निष्पादित होते हैं, इसलिए आपके सर्वर पर कम चीज़ें रहती हैं। अपने स्वयं के मशीन पर चलने वाले एजेंट के लिए, पहले दो विकल्पों में से किसी एक का उपयोग करें।
Claude API और Claude Agent SDK में क्या अंतर है?
Claude API एक रॉ Messages एंडपॉइंट है: आप एक बातचीत और टूल्स भेजते हैं, और आप इसके चारों ओर एजेंट लूप लिखते हैं, या इसे चलाने के लिए SDK के टूल रनर का उपयोग करते हैं। Claude Agent SDK एक उच्च-स्तरीय लाइब्रेरी है, जिसे Claude Code के आधार पर बनाया गया है, जो एक पूर्ण लूप और इन-बिल्ट फाइल, शेल और सर्च टूल्स प्रदान करता है। जब आप सब कुछ स्वयं परिभाषित करना चाहते हैं तो API का उपयोग करें, और जब आप बिना किसी अतिरिक्त सेटअप के एक सक्षम एजेंट चाहते हैं तो Agent SDK का उपयोग करें।
मैं सर्वर पर अपनी Claude API key को सुरक्षित कैसे रखूँ?
इसे सर्वर-साइड पर रखें और अपने कोड से बाहर रखें। इसे ऐसी फाइल में स्टोर करें जिसे केवल वही अकाउंट पढ़ सके जिस पर एजेंट चलता है, इसे एनवायरनमेंट वेरिएबल के रूप में सर्विस में लोड करें, और इसे कभी भी रिपॉजिटरी में कमिट न करें या ब्राउज़र के सामने न लाएं। चूंकि Claude के लिए हर अनुरोध आपके सर्वर से जाता है, इसलिए की (key) को कभी भी उपयोगकर्ता के डिवाइस तक पहुँचने की आवश्यकता नहीं होती है, जो सर्वर पर चलने वाले एजेंट को क्लाइंट ऐप में एम्बेडेड एजेंट की तुलना में सुरक्षित बनाना आसान बनाता है।
क्या Claude के साथ एजेंट बनाने के लिए मुझे मॉडल को सेल्फ-होस्ट करने की आवश्यकता है?
नहीं। Claude के साथ मॉडल एक होस्ट की गई सर्विस है जिसे आप API के माध्यम से कॉल करते हैं, इसलिए GPU पर चलाने के लिए कुछ भी नहीं है। आपका VPS एजेंट लूप, टूल्स और डेटा चलाता है, और तर्क (reasoning) Anthropic की तरफ होता है। यही कारण है कि एक साधारण सर्वर भी एक सक्षम एजेंट चला सकता है। यदि आप इसके बजाय पूरी तरह से स्थानीय मॉडल चाहते हैं, तो वह सेल्फ-होस्टेड मार्ग है जिसे अपना AI एजेंट बनाने की गाइड में कवर किया गया है।