SSD Nodes Learn Hosting plans →
تعلیمی Matt Connorتحریر: Matt Connor · اپ ڈیٹ شدہ 2026-08-29

VPS پر Claude کے ساتھ AI agent کیسے بنائیں

Claude کو reasoning core اور VPS کو execution layer بنائیں۔ Messages API، tool use اور MCP کو جوڑ کر اپنا agent چلانے کا عملی طریقہ جانیں۔

Claude کے ساتھ agent بنانے کا مطلب

Claude کے ساتھ agent بنانے کا مطلب یہ ہے کہ Claude کو reasoning core کے طور پر استعمال کیا جائے، جبکہ loop، tools اور data آپ کے اپنے server پر موجود ہوں۔ Claude فیصلہ کرتا ہے کہ کیا کرنا ہے؛ آپ کا VPS اسے انجام دیتا ہے۔ آپ Claude کو task اور موجودہ state بھیجتے ہیں۔ Claude یا تو answer واپس دیتا ہے یا آپ کے کسی tool کو استعمال کرنے کی request بھیجتا ہے۔ آپ کا code tool چلاتا ہے اور اس کا result واپس بھیج دیتا ہے۔ یہ loop اس وقت تک جاری رہتا ہے جب تک job مکمل نہ ہو جائے۔ Intelligence ایک ایسی service ہے جسے آپ internet کے ذریعے call کرتے ہیں۔ اس کے گرد موجود باقی تمام چیزیں آپ کی اپنی ہوتی ہیں۔

یہ تقسیم اس طریقے کی بنیادی کشش ہے۔ آپ model چلائے بغیر frontier-level reasoning حاصل کرتے ہیں، اور اس بات پر مکمل control رکھتے ہیں کہ agent کن چیزوں تک رسائی حاصل کر سکتا ہے، کیونکہ tools آپ کی ملکیت کے hardware پر چلتے ہیں۔ اگر آپ پہلے ہی Claude کا ایک ابتدائی program بنا چکے ہیں تو VPS پر پہلی Claude app کی guide اس بنیادی کام کا احاطہ کرتی ہے جس پر یہ guide آگے تعمیر کرتی ہے۔

Claude دماغ ہے: Messages API

Claude کو ہر call ایک ہی endpoint، Messages API، کے ذریعے جاتی ہے۔ آپ اب تک کی conversation اور ان tools کی فہرست بھیجتے ہیں جنہیں agent استعمال کر سکتا ہے؛ Claude اپنا اگلا message واپس بھیجتا ہے۔ یہ message یا تو final answer ہوتا ہے یا tool call کرنے کی request۔ خود build کرنے والے طریقے میں کوئی الگ "agent API" نہیں ہے: tool use اسی واحد endpoint کی feature ہے، اور اس کے گرد loop آپ کو خود چلانا ہوتا ہے۔

Calls کے درمیان Claude stateless رہتا ہے، یعنی وہ خود کچھ یاد نہیں رکھتا۔ ہر request میں پوری conversation شامل ہوتی ہے۔ آپ کا code history محفوظ رکھتا ہے اور ہر turn پر اسے دوبارہ بھیجتا ہے، اسی لیے طویل session میں ہر turn کی لاگت پچھلے turn سے زیادہ tokens ہوتی ہے۔ یہ اتنی زیادہ limitation نہیں جتنا ایک design choice ہے: چونکہ state آپ کے server پر رہتی ہے، اس لیے آپ طے کرتے ہیں کہ Claude کو بالکل کیا دکھانا ہے، اور task کے بارے میں کوئی چیز ایسی جگہ محفوظ نہیں ہوتی جسے آپ control نہ کرتے ہوں۔ اس کا مطلب یہ ہے کہ prompt مسلسل بڑا ہوتا رہتا ہے۔ Claude کی context window اسے باآسانی سنبھال لیتی ہے، لیکن اسی loop میں چلنے والا local model ایسا نہیں کر پائے گا۔ اسی لیے طویل prompts کو truncate کرنا بند کرنے سے پہلے Ollama میں num_ctx بڑھانا ضروری ہے۔

Tool استعمال agent loop ہے

Claude کے ساتھ agent loop کو بیان کرنا آسان ہے۔ آپ ایسی request بھیجتے ہیں جس میں آپ کے tools شامل ہوتے ہیں۔ Claude task پڑھتا ہے اور اگر اسے کوئی کارروائی کرنی ہو تو tool-use request کے ذریعے جواب دیتا ہے۔ اس request میں tool کا نام اور اس کے inputs شامل ہوتے ہیں۔ آپ کا code اس tool کو چلاتا ہے، پھر اگلی request میں نتیجہ Claude کو واپس بھیج دیتا ہے۔ Claude نتیجہ پڑھ کر یا تو کسی اور tool کی درخواست کرتا ہے یا اپنا آخری جواب لکھتا ہے۔ جب وہ tools کی درخواست کرنا بند کر دے تو task مکمل ہو جاتا ہے۔

آپ یہ loop چند سطروں میں خود لکھ سکتے ہیں، اور بہت سے لوگ ایسا کرتے ہیں، کیونکہ اسے سمجھنا اور control کرنا آسان ہے۔ official SDKs ایک tool runner بھی فراہم کرتے ہیں جو یہ loop آپ کی طرف سے چلاتا ہے۔ آپ tool functions فراہم کرتے ہیں، اور SDK Claude کو call کرنے، اپنے tools چلانے اور نتائج واپس بھیجنے کا باہمی عمل اس وقت تک سنبھالتا ہے جب تک Claude مکمل نہ ہو جائے۔ دونوں صورتوں میں بنیادی ساخت ایک جیسی رہتی ہے۔ runner صرف آپ کو loop خود لکھنے سے بچاتا ہے۔ اگر loop اب بھی غیر واضح محسوس ہو تو runner استعمال کرنے سے پہلے ایک minimal loop لکھیں۔ یہی وہ بنیادی قدم ہے جس پر باقی تمام چیزیں قائم ہوتی ہیں، جیسا کہ شروع سے AI agents سیکھنے کے لیے اس مرحلہ وار راستے میں بیان کیا گیا ہے۔

تعمیر کے 3 طریقے، اور VPS کے لیے موزوں انتخاب

Claude agent بنانے کے 3 طریقے ہیں۔ ان میں اس machinery کی مقدار مختلف ہوتی ہے جسے آپ خود چلاتے ہیں۔

پہلے طریقے میں آپ اپنے tools کے ساتھ Claude API کو کال کرنے والا code لکھتے ہیں۔ آپ loop خود لکھ سکتے ہیں یا SDK کا tool runner استعمال کر سکتے ہیں، اور پوری ایپ اپنے VPS پر host کرتے ہیں۔ یہ عام انتخاب ہے، کیونکہ اس سے tools، data اور security پر مکمل اختیار ملتا ہے، اور یہ آپ کے server پر ایک معمول کے program کے طور پر چلتا ہے۔ اس guide کا بیشتر حصہ اسی طریقے کو فرض کرتا ہے۔

دوسرا طریقہ Claude Agent SDK ہے۔ یہ Claude Code، یعنی coding agent، کو ایک ایسی library کے طور پر فراہم کرتا ہے جس کی بنیاد پر آپ اپنی ایپ بنا سکتے ہیں۔ اس میں مکمل agent loop اور files پڑھنے اور لکھنے، shell commands چلانے اور search کرنے کے لیے built-in tools شامل ہوتے ہیں۔ اس لیے آپ کو یہ اجزا شروع سے تیار نہیں کرنے پڑتے۔ یہ آپ کے اپنے server پر بھی چلتا ہے، اس لیے VPS کے لیے موزوں ہے، خاص طور پر جب آپ harness خود بنائے بغیر file-and-shell agent چاہتے ہوں۔ جو agent files پڑھتا اور shell commands چلاتا ہے، اسے unattended استعمال سے پہلے containment درکار ہوتی ہے۔ server پر Claude Code محفوظ طریقے سے چلانا permission system، sandbox اور isolation options کی وضاحت کرتا ہے۔

تیسرا طریقہ Managed Agents ہے۔ اس میں Anthropic loop چلاتا ہے اور ایک sandbox host کرتا ہے جہاں agent کے tools execute ہوتے ہیں۔ یہ کم سے کم انتظامی کام والا انتخاب ہے۔ آپ کو operate کرنے کے لیے بہت کم چیزیں ہوتی ہیں، لیکن agent کا workspace آپ کے VPS کے بجائے Anthropic کے infrastructure پر رہتا ہے۔ اسے اس وقت منتخب کریں جب آپ operational کام کم سے کم رکھنا چاہتے ہوں اور tools کو اپنی machine پر چلانے کی ضرورت نہ ہو۔ باقی 2 طریقوں میں آپ کا server agent کا home ہوتا ہے، اور اسی موضوع پر اس guide کا باقی حصہ ہے۔

MCP کے ذریعے ٹولز کو مربوط کرنا

آپ جو بھی طریقہ منتخب کریں، آپ agent کو حقیقی systems سے مربوط کرنا چاہیں گے، اور Model Context Protocol ایسا کرنے کا منظم طریقہ ہے۔ MCP ایک open standard ہے جو agent کے سامنے tools اور data پیش کرتا ہے۔ ہر service کے لیے الگ integration خود لکھنے کے بجائے، آپ Claude کو ایسے MCP server سے مربوط کرتے ہیں جو پہلے ہی ان صلاحیتوں کو tools کے طور پر پیش کرتا ہے۔ آپ MCP servers کو اسی VPS پر چھوٹی services کے طور پر چلا سکتے ہیں، اور ہر server کو صرف مطلوبہ access دے سکتے ہیں۔ اس موضوع کو میں VPS پر MCP servers چلانا میں بیان کرتا ہوں۔

ماڈل کا انتخاب

Claude کئی ماڈلز میں دستیاب ہے، اور کسی ایک کا انتخاب صلاحیت، رفتار اور لاگت کے درمیان توازن کا فیصلہ ہے۔ اس تحریر کے وقت عام طور پر استعمال ہونے والے انتخاب Claude Opus 4.8 (claude-opus-4-8)، مشکل reasoning اور طویل agent runs کے لیے قابلِ اعتماد default؛ Claude Sonnet 5 (claude-sonnet-5)، ایک متوازن اختیار جو کم مہنگا اور تیز ہے، جبکہ بہت سے کاموں میں Opus کے قریب رہتا ہے؛ اور Claude Haiku 4.5 (claude-haiku-4-5)، سادہ اور بڑی تعداد میں کیے جانے والے steps کے لیے سب سے تیز اور کم مہنگا ماڈل ہیں۔ ان سے اوپر Claude Fable 5 (claude-fable-5) ہے، جو سب سے زیادہ قابل ماڈل اور انتہائی demanding کام کے لیے موزوں ہے۔ اپنے code میں عین model identifier استعمال کریں اور اس میں کوئی date شامل نہ کریں۔

ایک عملی طریقہ یہ ہے کہ مختلف ماڈلز کو ملا کر استعمال کیا جائے۔ معمول کے tool calls کم مہنگے ماڈل کے سپرد کریں اور مشکل فیصلوں کے لیے زیادہ طاقتور ماڈل استعمال کریں۔ چونکہ model آپ کی request میں صرف ایک string ہوتا ہے، اس لیے اسے تبدیل کرنا ایک ہی line کی تبدیلی ہے۔ لہٰذا capable default سے آغاز کریں، پھر جہاں آخری درجے کی quality کے مقابلے میں رفتار یا لاگت زیادہ اہم ہو، وہاں کم صلاحیت والے ماڈل پر منتقل ہو جائیں۔

اسے اپنے VPS پر hardened service کے طور پر چلائیں

Agent اسی وقت مفید ہے جب یہ مسلسل چلتا رہے، اور اسی وقت محفوظ ہے جب اسے محدود رکھا جائے۔ VPS پر یہ دونوں مقاصد agent کو terminal میں دستی طور پر شروع کیے گئے program کے بجائے hardened system service کے طور پر چلانے سے حاصل ہوتے ہیں۔ Service کے طور پر یہ boot کے وقت شروع ہوتا ہے، crash ہونے پر restart ہو جاتا ہے، اور journal میں logs لکھتا ہے۔ Hardened configuration میں یہ unprivileged user کے طور پر صرف مطلوبہ access کے ساتھ چلتا ہے، اس لیے bug یا غلط instruction کے اثرات محدود رہتے ہیں۔ Service unit صرف یہ محدود کر سکتا ہے کہ process کو کن وسائل تک رسائی حاصل ہو۔ باقی پابندیاں خود agent harness میں نافذ ہونی چاہییں۔ مختلف stack پر یہی کام انسٹال کرنے کے قابل DeepSeek Harness plugins کرتے ہیں: spend caps، ہر tool کے لیے permission rules، اور prompt-injection scanning۔

سب سے اہم اصول یہ ہے کہ اپنی Claude API key کو server-side رکھیں۔ یہ key ہر call کے اخراجات اور authorisation کی ذمہ دار ہے۔ اس لیے اسے ایسی file میں رکھیں جسے صرف agent کا user پڑھ سکے، اسے service میں environment variable کے طور پر load کریں، اور اسے code، repository یا ایسی کسی جگہ نہ رکھیں جہاں browser کی رسائی ہو۔ اپنے agent کے لیے مکمل hardened service unit یہاں generate کریں:

ToolRun your agent as a hardened service

اس کے بعد خود server کو harden کریں۔ SSH کے لیے صرف keys استعمال کریں، اور جس account سے آپ administration کرتے ہیں اسے محدود کریں، جیسا کہ VPS پر SSH hardening میں بتایا گیا ہے۔ اگر build کے دوران agent کو interactive session سے چلانا پسند کریں تو tmux کے ساتھ VPS پر Claude Code چلانا مفید companion ہے۔ جب اسی server پر دوسری session بھی کھلی ہو تو دونوں ایک دوسرے کو کام دے سکتے ہیں، اور آپ کو ہر instruction ایک pane سے دوسرے pane تک منتقل نہیں کرنا پڑتا۔ اگر آپ ان تمام تصورات کی بنیاد سمجھنا چاہتے ہیں، مگر انہیں کسی ایک model تک محدود نہیں کرنا چاہتے، تو VPS پر اپنا AI agent بنانا کے بارے میں sister guide بنیادی اصول بیان کرتی ہے۔

اگر آپ terminal coding assistant چاہتے ہیں تو VPS پر coding AI agent چلانا میں Aider اور Goose کا احاطہ کیا گیا ہے۔

FAQ

ایجنٹ بنانے کے لیے مجھے Claude کا کون سا model استعمال کرنا چاہیے؟

Claude Opus 4.8 (claude-opus-4-8) سے شروع کریں۔ یہ ایک قابل default انتخاب ہے، اور ضرورت کے مطابق اسے تبدیل کریں۔ Claude Sonnet 5 (claude-sonnet-5) زیادہ تر کاموں کے لیے کم لاگت اور تیز ہے۔ Claude Haiku 4.5 (claude-haiku-4-5) سادہ، زیادہ volume والے مراحل کے لیے بہتر ہے۔ Claude Fable 5 (claude-fable-5) مشکل ترین کاموں کے لیے سب سے زیادہ قابل ہے۔ عام طریقہ یہ ہے کہ معمول کے مراحل کے لیے کم لاگت والا model اور مشکل فیصلوں کے لیے زیادہ طاقتور model استعمال کیا جائے، کیونکہ model تبدیل کرنے کے لیے صرف ایک سطر میں تبدیلی کرنا پڑتی ہے۔

کیا پورا agent میرے VPS پر چلتا ہے، یا Anthropic اسے چلاتا ہے؟

یہ طریقۂ کار پر منحصر ہے۔ اگر آپ Claude API کے ذریعے اپنا loop لکھتے ہیں یا Claude Agent SDK استعمال کرتے ہیں تو agent مکمل طور پر آپ کے VPS پر چلتا ہے، اور صرف model calls Anthropic کو بھیجی جاتی ہیں۔ اگر آپ Managed Agents استعمال کرتے ہیں تو Anthropic loop چلاتا ہے اور وہ sandbox host کرتا ہے جہاں tools execute ہوتے ہیں۔ اس صورت میں agent کا کم حصہ آپ کے server پر رہتا ہے۔ اپنے machine پر چلنے والے agent کے لیے پہلے دو طریقوں میں سے ایک استعمال کریں۔

Claude API اور Claude Agent SDK میں کیا فرق ہے؟

Claude API بنیادی Messages endpoint ہے۔ آپ conversation اور tools بھیجتے ہیں، پھر اس کے گرد agent loop خود لکھتے ہیں، یا SDK کے tool runner سے اسے چلاتے ہیں۔ Claude Agent SDK ایک اعلیٰ سطح کی library ہے۔ یہ Claude Code کا ایسا packaged ورژن ہے جس پر building کی جا سکتی ہے، اور اس میں مکمل loop کے ساتھ file، shell اور search tools بھی شامل ہیں۔ جب آپ ہر چیز خود define کرنا چاہیں تو API استعمال کریں۔ جب harness خود تیار کیے بغیر قابل agent چاہیے ہو تو Agent SDK استعمال کریں۔

میں server پر اپنی Claude API key کو محفوظ کیسے رکھوں؟

اسے server-side رکھیں اور اپنے code سے باہر رکھیں۔ اسے ایسی file میں محفوظ کریں جسے صرف وہ account پڑھ سکے جس کے تحت agent چلتا ہے۔ اسے environment variable کے طور پر service میں load کریں، اور اسے کبھی repository میں commit نہ کریں یا browser کے سامنے expose نہ کریں۔ Claude کو ہر request آپ کے server سے جاتی ہے، اس لیے key کو user کے device تک پہنچنے کی ضرورت نہیں ہوتی۔ اسی وجہ سے server پر چلنے والے agent کو client app میں شامل agent کے مقابلے میں محفوظ بنانا آسان ہوتا ہے۔

کیا Claude کے ساتھ agent بنانے کے لیے مجھے model کو self-host کرنا ہوگا؟

نہیں۔ Claude ایک hosted service ہے جسے آپ API کے ذریعے call کرتے ہیں، اس لیے GPU پر کچھ چلانے کی ضرورت نہیں ہوتی۔ آپ کا VPS agent loop، tools اور data چلاتا ہے، جبکہ reasoning Anthropic کی طرف ہوتی ہے۔ اسی وجہ سے ایک محدود وسائل والا server بھی قابل agent چلا سکتا ہے۔ اگر آپ اس کے بجائے مکمل طور پر local model چاہتے ہیں تو یہ self-hosted طریقہ ہے، جس کا احاطہ اپنے AI agent کی تعمیر سے متعلق companion guide میں کیا گیا ہے۔