VPS پر اپنا AI agent کیسے بنائیں
اپنے VPS پر AI agent بنانے کا طریقہ سیکھیں جس میں loop، tools، MCP اور memory جیسے بنیادی تصورات شامل ہیں۔ اس عمل کو مکمل کرنے کے لیے مکمل گائیڈ۔
AI agent اصل میں کیا ہے
AI agent دراصل ایک লینگویج ماڈل کے گرد لپٹا ہوا ایک لوپ (loop) ہے۔ ماڈل صورتحال کو پڑھتا ہے، ایکشن کا فیصلہ کرتا ہے، آپ کا کوڈ اس ایکشن کو مکمل کرتا ہے، نتیجہ دوبارہ ماڈل کے پاس جاتا ہے، اور یہ لوپ تب تک چلتا رہتا ہے جب تک کام مکمل نہ ہو جائے۔ یہی اس کا بنیادی تصور ہے۔ ایک عام چیٹ بوٹ (chatbot) صرف ایک بار جواب دیتا ہے اور رک جاتا ہے۔ ایک ایجنٹ اپنے دوروں کے درمیان حقیقی اقدامات کرتا ہے اور تب تک جاری رہتا ہے جب تک وہ آپ کا دیا ہوا مقصد حاصل نہ کر لے۔
اہم حصہ ایکشن ہے۔ ایک لینگویج ماڈل اکیلا صرف ٹیکسٹ (text) پیدا کرتا ہے۔ وہ فائل نہیں پڑھ سکتا، API کال نہیں کر سکتا، اور نہ ہی کوئی کمانڈ چلا سکتا ہے۔ ایک ایجنٹ ماڈل کو ٹولز (tools) کا ایک سیٹ فراہم کرتا ہے جنہیں استعمال کرنے کی اسے اجازت ہوتی ہے، اور انہیں استعمال کرنے کا طریقہ بھی بتاتا ہے۔ جب ماڈل ویب سرچ کرنا چاہتا ہے یا فائل لکھنا چاہتا ہے، تو وہ یہ کام خود نہیں کرتا۔ وہ ایک اسٹرکچرڈ ریکوئسٹ (structured request) جاری کرتا ہے، آپ کا کوڈ اس ٹول کو چلاتا ہے، اور جواب اگلے مرحلے میں ماڈل کے پاس واپس آتا ہے۔ ماڈل فیصلہ سازی فراہم کرتا ہے؛ آپ کا سرور اسے عمل درآمد کے لیے ہاتھ فراہم کرتا ہے۔
ہر کام کے لیے ایجنٹ کی ضرورت نہیں ہوتی، اور ڈیفالٹ کے طور پر ایجنٹ کا استعمال کرنا ایک عام غلطی ہے۔ اگر اقدامات پہلے سے معلوم ہوں، تو ایک سادہ اسکرپٹ (script) زیادہ سادہ، تیز اور قابل اعتماد ہوتا ہے۔ "ہر گھنٹے یہ پیج لوڈ کریں اور مجھے قیمت ای میل کریں" ایک شیڈول شدہ جاب (scheduled job) ہے، ایجنٹ نہیں۔ ایجنٹ تب بنائیں جب راستہ پہلے سے طے شدہ نہ ہو، اور جب ماڈل کو یہ فیصلہ کرنے کے لیے کہ آگے کیا کرنا ہے، معلومات کا جائزہ لینے کی ضرورت ہو۔ ایجنٹ کی قیمت غیر یقینی صورتحال ہے، اس لیے صرف تب ہی اس کا استعمال کریں جب لچک (flexibility) اس کی قیمت کے برابر ہو۔
Tools: ایک ایجنٹ کیسے کام کرتا ہے
ٹول سے مراد کوئی بھی ایسی صلاحیت ہے جو آپ ماڈل کو دیتے ہیں، اور اسے اس طرح بیان کیا جاتا ہے کہ ماڈل کو معلوم ہو کہ اسے کب استعمال کرنا ہے۔ فائل پڑھنا، شیل کمانڈ (shell command) چلانا، ڈیٹا بیس کو కوری (query) کرنا، یا پیغام بھیجنا: ہر چیز ایک ٹول ہے جس کا ایک نام، ایک مختصر تفصیل، اور ان پٹس (inputs) کی فہرست ہوتی ہے۔ آپ ٹولز کا تعین کرتے ہیں؛ ماڈل فیصلہ کرتا ہے کہ انہیں کب کال کرنا ہے۔
آپ جو بھی ماڈل استعمال کریں، طریقہ کار ہر جگہ ایک ہی ہوتا ہے۔ ماڈل ایک اسٹرکٹرڈ ریکوئسٹ واپس کرتا ہے جو ایک ٹول کا نام لیتی ہے اور اس کے ان پٹس کو بھرتی ہے۔ آپ کا کوڈ اس ریکوئسٹ کو دیکھتا ہے، متعلقہ فنکشن (function) چلاتا ہے، اور نتیجہ اگلے مرحل میں واپس بھیج دیتا ہے۔ ماڈل نتیجے کو پڑھتا ہے اور یا تو کسی دوسرے ٹول کو کال کرتا ہے یا اپنا حتمی جواب لکھتا ہے۔ فنکشن کالنگ (Function calling) ہر ایجنٹ کے پیچھے کا بنیادی نظام ہے، اور اسے چلانے والا لوپ صرف چند لائنوں کا عام کوڈ ہوتا ہے۔
یہ وہ جگہ بھی ہے جہاں آپ کا کنٹرول ہوتا ہے۔ ماڈل کمانڈ چلانے کی درخواست کر سکتا ہے، لیکن کچھ بھی تب تک نہیں چلتا جب تک آپ کا کوڈ اسے چلانے کا فیصلہ نہ کر لے۔ اسی وقفے میں آپ خطرناک اقدامات کے لیے منظوری (approval prompts)، ٹولز کی رسائی کی حدود، اور ایجنٹ کی تمام سرگرمیوں کا لاگ (log) رکھتے ہیں۔ ایک ایجنٹ اتنا ہی محفوظ ہوتا ہے جتنے آپ کے دیے ہوئے ٹولز اور ان کے سامنے لگائی گئی چیکنگ۔
MCP: ٹولز کو جوڑنے کا ایک معیاری طریقہ
ہر سروس کے لیے علیحدہ انٹیگریشن (integration) لکھنا جلد ہی مشکل ہو جاتا ہے۔ Model Context Protocol، یا MCP، ایک اوپن اسٹینڈرڈ ہے جو اس کا حل ہے۔ اپنی فائلوں، ڈیٹا بیس، اور ایشو ٹریکر کے لیے نیا ٹول کوڈ کرنے کے بجائے، آپ ایجنٹ کو ایک MCP سرور کی طرف اشارہ کرتے ہیں جو پہلے سے ہی ان چیزوں کو ٹولز کے طور پر پیش کرتا ہے۔ ایجنٹ ایک ہی پروٹوکول استعمال کرتا ہے؛ سرور اصل سسٹم سے بات کرنے کا کام کرتا ہے۔
اس کا فائدہ دوبارہ استعمال (reuse) ہے۔ اگر کسی اور نے آپ کے استعمال شدہ سروس کے لیے MCP سرور لکھا ہے، تو وہ بغیر کسی نئے انٹیگریشن کوڈ کے آپ کے ایجنٹ کے لیے دستیاب ہو جاتا ہے، اور آپ کا لکھا ہوا سرور کسی بھی ایجنٹ کے لیے قابل استعمال ہوتا ہے جو اس پروٹوکول کو سمجھتا ہو۔ VPS پر یہ اہم ہے، کیونکہ آپ MCP سرورز کو ایجنٹ کے ساتھ الگ چھوٹی سروسز کے طور پر چلا سکتے ہیں، جن میں صرف وہی رسائی ہو جو انہیں درکار ہے۔ میں اس کی سیٹ اپ کے بارے میں running MCP servers on a VPS میں تفصیل دیتا ہوں۔
Memory اور retrieval
لینگویج ماڈل کے پاس کالز کے درمیان اپنی کوئی یادداشت (memory) نہیں ہوتی۔ موجودہ کام کے بارے میں اسے جو کچھ بھی معلوم کرنا ہوتا ہے، وہ ہر مرحلے پر اسے فراہم کرنا پڑتا ہے۔ مختصر کام کے لیے یہ ٹھیک ہے، کیونکہ پوری گفتگو ایک ریکوئسٹ میں سما جاتی ہے۔ کسی بھی لمبے کام کے لیے آپ کو خود میموری مینیج کرنی ہوگی، اور اس کے دو پیٹرن (patterns) ہیں جو جاننا ضروری ہیں۔
پہلا ہے scratchpad۔ آپ ایجنٹ کو ایک ایسی فائل دیتے ہیں جسے وہ پڑھ اور لکھ سکے، اور اسے کہتے ہیں کہ وہ سیکھی ہوئی معلومات ریکارڈ کرتا رہے۔ اگلے مرحلے یا اگلے سیشن میں، وہ فائل کو دوبارہ پڑھتا ہے اور وہیں سے شروع کرتا ہے جہاں اس نے چھوڑا تھا۔ یہ ایک سادہ دستاویز کے طور پر میموری ہے، اور یہ اس لیے کام کرتا ہے کیونکہ ایجنٹ فائل کو ایک عام ٹول کے طور پر دیکھتا ہے۔
دوسرا ہے retrieval۔ جب ایجنٹ کو دستاویزات کے ایک بڑے ذخیرے سے معلومات کی ضرورت ہوتی ہے جو ایک ریکوئسٹ میں نہیں سما سکتی، تو آپ ان دستاویزات کو سرچ کے قابل شکل میں اسٹور کرتے ہیں اور صرف متعلقہ حصوں کو ضرورت پڑنے پر ماڈل کے سامنے لاتے ہیں۔ اس پیٹرن کو retrieval-augmented generation، یا RAG کہا جاتا ہے۔ ایجنٹ سوال پوچھتا ہے، آپ کا کوڈ متعلقہ اقتباسات تلاش کرتا ہے، اور صرف وہی ماڈل کو بھیجے جاتے ہیں۔ اسٹور آپ کے سرور پر ہوتا ہے، اس لیے آپ کی نجی دستاویزات کبھی وہاں سے باہر نہیں جاتیں۔
Many agents, one coordinator
زیادہ تر کاموں کے لیے بہت سے ٹولز والا ایک ایجنٹ کافی ہوتا ہے۔ جب کام بڑا ہو یا قدرتی طور پر حصوں میں تقسیم ہو، تو ایک مختلف ڈھانچہ مددگار ہوتا ہے: ایک کوآرڈینیٹر ایجنٹ (coordinator agent) جو مخصوص ذیلی ایجنٹس (sub-agents) کو کام سونپتا ہے۔ کوآرڈینیٹر مقصد کو حصوں میں تقسیم کرتا ہے، ہر حصہ اس کام کے لیے بنے ہوئے ذیلی ایجنٹ کو دیتا ہے، اور نتائج کو یکجا کرتا ہے۔
اس کا فائدہ فوکس (focus) ہے۔ ایک محدود کام اور چھوٹے ٹول سیٹ والا ذیلی ایجنٹ، سب کچھ سنبھالنے والے عام ایجنٹ کے مقابلے میں بہتر فیصلے کرتا ہے، اور آزاد حصوں کو ایک ساتھ چلایا جا سکتا ہے۔ اس کی قیمت کوآرڈینیشن ہے، جو کہ حقیقی ہے، اس لیے جب تک کام واضح طور پر زیادہ ایجنٹس کا تقاضا نہ کرے، ایک ہی ایجنٹ تک محدود رہیں۔ سادہ شروع کریں، اور ایجنٹس تب ہی شامل کریں جب ایک ایجنٹ واضح طور پر مشکل محسوس کرنے لگے۔
Self-hosted یا hosted: آپ کا ایجنٹ کون سا ماڈل چلائے گا
ماڈل ایجنٹ کا وہ واحد حصہ ہے جسے آپ کو خود چلانے کی ضرورت نہیں ہے، اور یہ فیصلہ کرنا کہ یہ کہاں رہے گا، آپ کا سب سے بڑا فیصلہ ہوگا۔ API کے ذریعے دستیاب ایک hosted model آپ کو بغیر کسی آپریشن کے بہترین منطق (reasoning) فراہم کرتا ہے: آپ ٹیکسٹ بھیجتے ہیں، اور آپ کو ٹیکسٹ واپس مل جاتا ہے۔ ایک self-hosted ماڈل آپ کے اپنے سرور پر چلتا ہے، جو ہر ریکوئسٹ کو نجی رکھتا ہے، ٹوکن کے بجائے فلیٹ قیمت پر چلتا ہے، اور کسی دوسرے کے آن رہنے پر منحصر نہیں ہوتا۔ اس کا تبادلہ صلاحیت اور کوشش کا ہے۔ بہترین hosted models ان سے آگے ہیں جو آپ خود چلا سکتے ہیں، اور اپنا ماڈل چلانے کا مطلب ہے اسے اتنی میموری دینا کہ وہ اس میں سما سکے۔
آخری نکتہ عملی رکاوٹ ہے۔ ماڈل کو آپ کے سرور کی میموری میں سمانا چاہیے، اور اگر آپ GPU استعمال کرتے ہیں، تو اس کی ویڈیو میموری میں۔ ہارڈ ویئر کے لیے بہت بڑا ماڈل لوڈ نہیں ہوگا۔ self-hosted ایجنٹ کا منصوبہ بنانے سے پہلے، چیک کریں کہ کیا آپ کا مطلوبہ ماڈل آپ کی مشین میں سما سکتا ہے:
اگر نمبرز مطابقت نہیں رکھتے، تو آپ کے پاس تین راستے ہیں: چھوٹا ماڈل منتخب کریں، اسے سکڑنے کے لیے زیادہ جارحانہ quantization استعمال کریں، یا منطق کے لیے hosted API استعمال کریں اور صرف اپنے ٹولز اور ڈیٹا کو سرور پر رکھیں۔ بہت سے self-hosted ایجنٹس Ollama on a VPS کے ذریعے مقامی ماڈل سے شروع ہوتے ہیں اور مشکل مراحل کے لیے hosted API کا سہارا لیتے ہیں۔
The server is the dangerous part
ایسا ایجنٹ جو شیل کمانڈز چلا سکتا ہے اور فائلیں لکھ سکتا ہے، طاقتور ہوتا ہے، اور یہی وجہ ہے کہ وہ خطرناک ہے۔ ماڈل کا فیصلہ اچھا ہوتا ہے لیکن مکمل نہیں، اور ایک غلط ہدایت، بگ (bug)، یا کوئی موذی ان پٹ ایک مددگار ایجنٹ کو ایسی چیز میں بدل سکتا ہے جو غلط چیز ڈیلیٹ کر دے یا کوئی راز لیک کر دے۔ سیکیورٹی کا کام اختیاری نہیں ہے، اور سرور پر یہ وہ حصہ ہے جو سب سے زیادہ اہمیت رکھتا ہے۔
کچھ عادات زیادہ وزن رکھتی ہیں۔ ایجنٹ کو ایک مخصوص غیر مسلط (unprivileged) صارف کے طور پر چلائیں، کبھی بھی root کے طور پر نہیں، تاکہ غلطی کی ایک حد ہو؛ یہی منطق running services as an unprivileged user میں بھی ہے۔ اس کے راز، جیسے API keys، کوڈ سے باہر رکھیں اور صرف اسی صارف کے لیے قابلِ رسائی ہوں۔ اور ان ٹولز کو sandbox کریں جو سسٹم کو چھوتے ہیں، تاکہ ایجنٹ صرف وہی تک پہنچ سکے جس کی اسے واقعی ضرورت ہے۔ ایک حقیقی self-hosted ایجنٹ کو محفوظ بنانے کی مثال کے لیے، running OpenClaw safely on a VPS دیکھیں۔ اگر آپ ذہانت کے لیے hosted model استعمال کرنا چاہتے ہیں، تو building an agent with Claude on a VPS پر گائیڈ انہی آئیڈیاز کو استعمال کرتی ہے اور ان کے پیچھے ایک مخصوص ماڈل رکھتی ہے۔
عملی مثال کے لیے، building an OpenClaw-style personal 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 میں کیا فرق ہے؟
چیٹ بوٹ ایک پیغام کا جواب دیتا ہے اور رک جاتا ہے۔ ایجنٹ ایک لوپ چلاتا ہے: ماڈل ایکشن کا فیصلہ کرتا ہے، آپ کا کوڈ اسے مکمل کرتا ہے، نتیجہ دوبارہ ماڈل کے پاس جاتا ہے، اور یہ تب تک دہراتا ہے جب تک کام مکمل نہ ہو جائے۔ فرق یہ ہے کہ ایجنٹ اپنے دوروں کے درمیان حقیقی اقدامات کرتا ہے، جیسے فائلیں پڑھنے، کمانڈز چلانے، یا سروسز کو کوری کرنے کے لیے ٹولز کا استعمال کرنا، بجائے صرف ٹیکسٹ پیدا کرنے کے۔
کیا مجھے VPS پر AI agent چلانے کے لیے GPU کی ضرورت ہے؟
صرف اگر آپ ماڈل کو self-host کرتے ہیں۔ ایجنٹ لوپ، ٹولز، اور میموری عام کوڈ ہے جو بغیر GPU کے ایک نارمل VPS پر ٹھیک چلتا ہے۔ GPU تب اہم ہوتا ہے جب آپ لینگویج ماڈل کو اپنے ہارڈ ویئر پر چلانا چاہتے ہیں، کیونکہ ماڈل کو میموری میں سمانا ہوتا ہے۔ اگر آپ API کے ذریعے hosted model استعمال کرتے ہیں، تو بھاری کمپیوٹیشن کہیں اور ہوتی ہے اور ایک معمولی VPS کافی ہوتا ہے۔
MCP کیا ہے اور کیا مجھے ایجنٹ بنانے کے لیے اس کی ضرورت ہے؟
MCP، یعنی Model Context Protocol، ایک ایجنٹ کو ٹولز اور ڈیٹا ذرائع سے جوڑنے کا ایک اوپن اسٹینڈرڈ ہے۔ آپ کو اس کی سخت ضرورت نہیں ہے، کیونکہ آپ ہر ٹول خود لکھ سکتے ہیں۔ MCP آپ کا کام بچاتا ہے کیونکہ یہ آپ کو عام سروسز کے لیے موجودہ سرورز کو دوبارہ استعمال کرنے اور اپنے سسٹم کو کسی بھی ایجنٹ کے لیے ایک بار پیش کرنے کی اجازت دیتا ہے۔ یہ ایک ایسی سہولت ہے جو انٹیگریشنز کی تعداد بڑھنے کے ساتھ فائدہ مند ہو جاتی ہے۔
کیا AI agent کو اپنے سرور تک رسائی دینا محفوظ ہے؟
یہ محفوظ ہو سکتا ہے، اگر آپ اسے کنٹرول میں رکھیں۔ کمانڈز چلانے والا ایجنٹ اتنا ہی محفوظ ہوتا جتنا کہ وہ اکاؤنٹ جس کے تحت وہ چل رہا ہے اور وہ ٹولز جن کی آپ اجازت دیتے ہیں۔ اسے ایک غیر مسلط (unprivileged) صارف کے طور پر چلائیں، اس کے رازوں کو پہنچ سے دور رکھیں، فائل سسٹم کو چھونے والے ٹولز کو sandbox کریں، اور ان اقدامات کے لیے منظوری درکار کریں جنہیں واپس لینا مشکل ہو۔ ایجنٹ کے ساتھ ایک ایسے ناقابلِ اعتماد کوڈ کے طور پر پیش کریں جو ذہین ہے، اور اسے صرف وہی دیں جس کی کام کو ضرورت ہے۔