VPS वर स्वतःचा AI agent कसा बनवायचा?
AI agent म्हणजे language model सोबतचे एक loop आहे. VPS वर build करण्यासाठी loop, tools, MCP आणि memory या मूलभूत संकल्पना सविस्तर समजून घ्या.
AI agent म्हणजे नक्की काय आहे
AI agent म्हणजे language model च्या भोवती फिरणारे एक loop आहे. model परिस्थिती वाचते, एका कृतीचा (action) निर्णय घेते, तुमचा code ती कृती राबवतो, त्याचा निकाल पुन्हा model कडे जातो आणि जोपर्यंत काम पूर्ण होत नाही तोपर्यंत हे loop पुन्हा पुन्हा चालते. हीच त्याची मूळ संकल्पना आहे. साधा chatbot एकदा उत्तर देऊन थांबतो. याउलट, agent तुमच्या दिलेल्या ध्येयापर्यंत पोहोचण्यासाठी स्वतःच्या turns मध्ये प्रत्यक्ष कृती करत राहतो.
कृती हा यातील महत्त्वाचा भाग आहे. स्वतःहून language model फक्त text तयार करू शकते. ते file वाचू शकत नाही, API call करू शकत नाही किंवा command रन करू शकत नाही. agent model ला काही tools आणि ती वापरण्याची पद्धत प्रदान करतो. जेव्हा model ला web शोधायचे असते किंवा file लिहायचे असते, तेव्हा ते स्वतः ते काम करत नाही. ते एक structured request emit करते, तुमचा code tool चालवतो आणि उत्तर model कडे पुढील गोष्टी म्हणून येते. model निर्णय घेण्याचे काम करते; तुमचा server कृती करण्याचे काम करते.
प्रत्येक कामासाठी agent ची गरज नसते, आणि डिफॉल्टनुसार त्याचा वापर करणे ही एक सामान्य चूक आहे. जर पायऱ्या (steps) आधीच माहित असतील, तर साधा script अधिक सोपा, जलद आणि विश्वासार्ह असतो. "दर तासाला ही page fetch करा आणि मला किंमत email करा" हे एक scheduled job आहे, agent नाही. जेव्हा मार्ग आधीच निश्चित नसतो, जेव्हा model ला जे सापडते ते पाहून पुढची कृती ठरवावी लागते, तेव्हा agent तयार करा. agent ची किंमत त्याची अनिश्चितता (unpredictability) आहे, त्यामुळे जेव्हा लवचिकता (flexibility) आवश्यक असेल तेव्हाच त्याचा वापर करा.
Tools: agent कशा प्रकारे कार्य करतो
Tool म्हणजे अशी कोणतीही क्षमता जी तुम्ही model ला देता, ज्याचे वर्णन इतके स्पष्ट असते की त्याला कधी त्याचा वापर करायचा आहे हे समजते. file वाचणे, shell command चालवणे, database query करणे, message पाठवणे: या प्रत्येकाचे एक नाव, थोडक्यात वर्णन आणि inputs ची यादी असते. तुम्ही tools परिभाषित करता; model त्यांना कधी कॉल करायचे हे ठरवते.
तुम्ही कोणतेही model वापरले तरी ही प्रक्रिया सर्वत्र सारखीच असते. model एक structured request returns करते ज्यामध्ये tool चे नाव आणि त्याचे inputs असतात. तुमचा code ती request पाहतो, संबंधित function चालवतो आणि निकाल पुढच्या turn मध्ये परत पाठवतो. model तो निकाल वाचते आणि एकतर दुसरे tool कॉल करते किंवा आपले अंतिम उत्तर देते. Function calling हे प्रत्येक agent चे अंतर्गत यंत्रणा (plumbing) आहे, आणि त्याला चालवणारे loop केवळ काही ओळींच्या ordinary code मध्ये असते.
येथेच तुमचे नियंत्रण असते. model command चालवण्याची विनंती करू शकते, पण जोपर्यंत तुमचा code ते चालवण्याचे ठरवत नाही तोपर्यंत काहीही घडत नाही. या अंतरात तुम्ही धोकादायक कृतींसाठी approval prompts, tools च्या मर्यादेवर निर्बंध आणि agent ने केलेल्या सर्व गोष्टींची log ठेवू शकता. agent सुरक्षितता ही तुम्ही त्याला दिलेल्या tools आणि त्यांच्या आधी लावलेल्या checks वर अवलंबून असते.
MCP: tools जोडण्यासाठी एक मानक पद्धत
प्रत्येक service साठी हाताने नवीन integration लिहिणे लवकर कंटाळवाणे होते. Model Context Protocol, किंवा MCP, यावर उपाय म्हणून एक open standard आहे. तुमच्या files, database आणि issue tracker साठी नवीन tool कोड करण्याऐवजी, तुम्ही agent ला अशा MCP server कडे निर्देशित करता जो आधीच या गोष्टी tools म्हणून उपलब्ध करून देतो. agent एक protocol वापरतो; server प्रत्यक्ष system शी संवाद साधण्याचे काम करतो.
याचा फायदा म्हणजे reuse. तुमच्या वापराच्या service साठी दुसऱ्याने लिहिलेला MCP server कोणत्याही नवीन integration code शिवाय तुमच्या agent साठी उपलब्ध होतो, आणि तुम्ही लिहिलेला server protocol वापरणाऱ्या कोणत्याही agent द्वारे वापरला जाऊ शकतो. VPS वर हे महत्त्वाचे आहे, कारण तुम्ही MCP servers स्वतःच्या लहान services म्हणून agent च्या शेजारी चालवू शकता, ज्यामध्ये प्रत्येकाला फक्त आवश्यक प्रवेश (access) असेल. मी running MCP servers on a VPS मध्ये सेटअप कव्हर केला आहे.
Memory आणि retrieval
language model कडे calls च्या दरम्यान स्वतःची कोणतीही memory नसते. सध्याच्या कामाबद्दल त्याला जे काही माहित आहे ते प्रत्येक turn मध्ये त्याला द्यावे लागते. छोट्या कामासाठी हे ठीक आहे, कारण संपूर्ण conversation एकाच request मध्ये बसते. कोणत्याही मोठ्या कामासाठी तुम्हाला स्वतः memory व्यवस्थापित करावी लागते आणि यासाठी दोन महत्त्वाच्या पद्धती आहेत.
पहिली पद्धत म्हणजे scratchpad. तुम्ही agent ला एक file देता जी तो वाचू आणि लिहू शकतो, आणि त्याला जे शिकते ते नोंदवण्यास सांगता. पुढच्या turn मध्ये किंवा पुढच्या session मध्ये, तो file पुन्हा वाचतो आणि जिथे काम थांबले होते तिथून सुरू करतो. ही एक साधी document म्हणून memory आहे, आणि हे काम करते कारण agent त्या file ला केवळ एक tool म्हणून treats करतो.
दुसरी पद्धत म्हणजे retrieval. जेव्हा agent ला मोठ्या दस्तऐवजांच्या (documents) संग्रहातून माहिती हवी असते जी एका request मध्ये बसू शकत नाही, तेव्हा तुम्ही ते documents searchable स्वरूपात साठवता आणि जेव्हा गरज असते तेव्हा फक्त संबंधित भाग model कडे पाठवता. या पद्धतीला retrieval-augmented generation, किंवा RAG म्हणतात. agent एक प्रश्न विचारतो, तुमचा code संबंधित उतारे शोधतो आणि फक्त तेच model कडे जातात. हे store तुमच्या server वर असते, त्यामुळे तुमचे खाजगी documents कधीही बाहेर जात नाहीत.
अनेक agents, एक coordinator
बहुतेक कामांसाठी अनेक tools असलेला एक agent पुरेसा असतो. जेव्हा एखादे काम मोठे असते किंवा नैसर्गिकरित्या भागांमध्ये विभागले जाते, तेव्हा एक वेगळी रचना उपयुक्त ठरते: एक coordinator agent जो specialized sub-agents कडे काम सोपवतो (delegates). coordinator ध्येयाचे तुकडे करतो, प्रत्येक तुकडा त्या प्रकारच्या कामासाठी बनवलेल्या sub-agent कडे सोपवतो आणि निकाल एकत्र करतो.
याचा फायदा म्हणजे focus. मर्यादित कार्य आणि लहान tool set असलेला sub-agent सर्व गोष्टी हाताळणाऱ्या generalist पेक्षा चांगले निर्णय घेतो, आणि स्वतंत्र भाग एकाच वेळी चालू शकतात. याचा खर्च coordination आहे, जो वास्तविक आहे, म्हणून जोपर्यंत कामासाठी स्पष्टपणे गरज पडत नाही तोपर्यंत एकाच agent पर्यंत मर्यादित राहा. साध्या पद्धतीने सुरुवात करा आणि जेव्हा एक agent स्पष्टपणे ओझे वाटू लागला तेव्हाच अधिक agents जोडा.
Self-hosted किंवा hosted: तुमच्या agent साठी कोणते model वापरावे
model हा agent चा असा एक भाग आहे जो तुम्हाला स्वतः चालवण्याची गरज नसते, आणि तो कुठे असेल हे निवडणे हा तुमचा सर्वात मोठा निर्णय असेल. API द्वारे पोहोचवलेले hosted model तुम्हाला कोणत्याही ऑपरेशनशिवाय मजबूत reasoning देते: तुम्ही text पाठवता, तुम्हाला text परत मिळतो. self-hosted model तुमच्या स्वतःच्या server वर चालते, ज्यामुळे प्रत्येक request खाजगी राहते, प्रति token शुल्क ऐवजी एक निश्चित किंमत लागते आणि ते कोणावरही अवलंबून नसते. यामध्ये क्षमता आणि कष्ट यांचा trade-off आहे. सर्वोत्तम hosted models तुमच्या स्वतःच्या चालवलेल्या models पेक्षा प्रगत असतात, आणि स्वतःचे model चालवणे म्हणजे त्याला बसण्यासाठी पुरेशी memory देणे होय.
शेवटचा मुद्दा हा व्यावहारिक अडथळा आहे. model तुमच्या server च्या memory मध्ये बसणे आवश्यक आहे, आणि जर तुम्ही GPU वापरत असाल, तर त्याच्या video memory मध्ये. hardware साठी खूप मोठे असलेले model load होणार नाही. self-hosted agent नियोजित करण्यापूर्वी, तुम्हाला हवे असलेले model तुमच्या मशीनमध्ये बसते का ते तपासा:
जर आकडेवारी बसत नसेल, तर तुमच्याकडे तीन पर्याय आहेत: लहान model निवडा, आकार कमी करण्यासाठी अधिक aggressive quantization वापरा, किंवा reasoning साठी hosted API वापरा आणि server वर फक्त तुमची tools आणि data ठेवा. अनेक self-hosted agents Ollama on a VPS द्वारे local model ने सुरू होतात आणि कठीण पायऱ्यांसाठी hosted API चा आधार घेतात.
Server हा धोकादायक भाग आहे
shell commands चालवू आणि files लिहू शकणारा agent शक्तिशाली असतो, आणि म्हणूनच तो धोकादायक आहे. model चे निर्णय चांगले असतात पण परिपूर्ण नसतात, आणि एक चुकीची सूचना, bug किंवा प्रतिकूल input एका उपयुक्त agent ला चुकीची गोष्ट डिलीट करणारा किंवा secret लीक करणारा agent बनवू शकतो. security चे काम ऐच्छिक नाही, आणि server वर ते सर्वात महत्त्वाचे आहे.
काही सवयी यातील बहुतेक भार उचलतात. agent ला नेहमी एका समर्पित unprivileged user म्हणून चालवा, कधीही root म्हणून नाही, जेणेकरून चुकीमुळे होणारे नुकसान मर्यादित राहील; हीच माहिती running services as an unprivileged user मध्ये आहे. API keys सारखी त्याची secrets, code च्या बाहेर आणि फक्त त्या user ला वाचता येतील अशी ठेवा. आणि system ला स्पर्श करणाऱ्या tools ला sandbox करा, जेणेकरून agent ला फक्त त्याच्या आवश्यक गोष्टींपर्यंतच पोहोचता येईल. प्रत्यक्ष self-hosted agent सुरक्षित करण्यासाठीचे उदाहरण पाहण्यासाठी, running OpenClaw safely on a VPS पहा. जर तुम्हाला बुद्धिमत्तेसाठी hosted model वापरायचे असेल, तर building an agent with Claude on a VPS मधील मार्गदर्शक तत्त्वे तीच कल्पना वापरून एक विशिष्ट model प्रदान करते.
प्रत्यक्ष उदाहरणासाठी, building an OpenClaw-style personal agent हे घटक लागू करते, आणि जर तुम्हाला तयार agent वापरायचा असेल, तर self-hosting Hermes Agent on a VPS किंवा running Agent Zero on your own server ने सुरुवात करा, आणि the best self-hosted AI agents in 2026 मध्ये आम्ही कव्हर केलेल्या प्रत्येक तयार पर्यायाची तुलना केली आहे.
FAQ
AI agent आणि chatbot मधील फरक काय आहे?
Chatbot एका मेसेजला उत्तर देऊन थांबतो. Agent एक loop चालवतो: model कृती ठरवते, तुमचा code ती राबवतो, निकाल पुन्हा model कडे जातो आणि जोपर्यंत काम पूर्ण होत नाही तोपर्यंत हे पुन्हा पुन्हा घडते. फरक हा आहे की agent फक्त text तयार करण्याऐवजी, आपल्या turns मध्ये files वाचण्यासाठी, commands चालवण्यासाठी किंवा services query करण्यासाठी प्रत्यक्ष कृती करतो.
VPS वर AI agent चालवण्यासाठी मला GPU ची गरज आहे का?
फक्त जर तुम्ही model self-host करत असाल तर. Agent loop, tools आणि memory हे सामान्य code आहे जे GPU शिवाय सामान्य VPS वर व्यवस्थित चालते. जेव्हा तुम्हाला language model तुमच्या स्वतःच्या hardware वर चालवायचे असते तेव्हा GPU महत्त्वाचे ठरते, कारण model ला memory मध्ये बसणे आवश्यक असते. जर तुम्ही API द्वारे hosted model वापरत असाल, तर जड computation इतरत्र होते आणि एक साधा VPS पुरेसा असतो.
MCP काय आहे आणि मला agent तयार करण्यासाठी त्याची गरज आहे का?
MCP (Model Context Protocol) हा agent ला tools आणि data sources शी जोडण्यासाठी एक open standard आहे. तुम्हाला त्याची काटेकोरपणे गरज नाही, कारण तुम्ही प्रत्येक tool हाताने लिहू शकता. MCP तुम्हाला सामान्य services साठी अस्तित्वात असलेले servers पुन्हा वापरू देतो आणि तुमच्या स्वतःच्या systems एकदाच कोणत्याही agent साठी उपलब्ध करून देतो, ज्यामुळे तुमचा वेळ वाचतो. जेव्हा integrations ची संख्या वाढते तेव्हा ही सोय फायदेशीर ठरते.
AI agent ला माझ्या server चा access देणे सुरक्षित आहे का?
जर तुम्ही त्यावर नियंत्रण ठेवले तर ते सुरक्षित असू शकते. commands चालवणारा agent तो ज्या account अंतर्गत चालतो आणि तुम्ही परवानगी दिलेल्या tools इतकाच सुरक्षित असतो. त्याला unprivileged user म्हणून चालवा, त्याची secrets सुरक्षित ठेवा, filesystem ला स्पर्श करणाऱ्या tools ला sandbox करा आणि ज्या कृती मागे फिरवणे कठीण आहे त्यांच्यासाठी approval आवश्यक करा. agent ला एक 'चतुर' असा untrusted code समजा आणि त्याला फक्त कामासाठी आवश्यक तेवढेच द्या.