কোড লেখে এমন প্রতিটি এজেন্টকে শেষমেশ সেটা চালাতেই হয়। এমন এজেন্টের মূল উদ্দেশ্যই এটা — আর অস্বস্তিকর অংশটাও এটাই। মডেল এইমাত্র একটা স্ক্রিপ্ট বানাল যেটা সে নিজে কখনো চালায়নি: এটা এমন প্যাকেজ ইনস্টল করে যা কেউ যাচাই করেনি, আর এমন ফাইলে হাত দেয় যার তালিকা কেউ করেনি। এটা আপনার SSH কী আর প্রোডাকশনের .env ফাইলের পাশে চালানো এমন একটা বাজি, যা আপনি দিনে অনেকবার ধরেন।
স্যান্ডবক্স এই বাজিটাকে সস্তা করে দেয়। কোড কয়েক সেকেন্ড বা মিনিটের জন্য নিজের Linux মেশিন পায়, তারপর মেশিনটা উধাও।
এজেন্ট কী পায়
প্রতিটি স্যান্ডবক্স একটা Firecracker microVM: নিজস্ব কার্নেল, নিজস্ব ফাইল সিস্টেম, নিজস্ব নেটওয়ার্ক নেমস্পেস। এটা আপনার কার্নেল ভাগ করে নেওয়া কোনো কন্টেইনার নয়, আপনার সার্ভারের কোনো ফোল্ডারও নয়। প্রায় এক সেকেন্ডে চালু হয়, আর এটা তখন গুরুত্বপূর্ণ যখন এজেন্ট দিনে একটা নয়, প্রতিটি টাস্কের জন্য একটা স্যান্ডবক্স খোলে।
ভেতরে আছে pip সহ Python 3.12, npm সহ Node.js 22, bash, git আর curl। আউটবাউন্ড ইন্টারনেট কাজ করে — এজেন্ট pip install pandas চালাতে বা কোনো রিপোজিটরি ক্লোন করতে পারে। ইনবাউন্ড নয়: কোনো খোলা পোর্ট নেই, SSH নেই। কমান্ড, ফাইল আর আউটপুট যায় আমাদের API দিয়ে, আর সেটাই একমাত্র দরজা।
প্রবেশের তিনটি উপায়:
- MCP — আপনার এজেন্ট যদি Claude, Cursor, Cline বা MCP সমর্থনকারী অন্য কোনো ক্লায়েন্টে থাকে, তাহলে VPS টুলের পাশে স্যান্ডবক্স টুলও পাবে। আপনার দিক থেকে কোনো কোড লাগবে না।
- Python বা TypeScript SDK —
pip install eqvpsবাnpm i @eqvps/sdk, তারপর তৈরি করুন, চালান, মুছুন। - সাধারণ REST — স্যান্ডবক্স ডকুমেন্টেশন আর OpenAPI স্পেসিফিকেশনে বর্ণনা আছে।
Python-এ সবচেয়ে ছোট লুপ দেখতে এরকম:
from eqvps import Sandbox
with Sandbox.create(tariff="small") as sb:
sb.upload("/root/task.py", agent_generated_code)
result = sb.exec("python3 /root/task.py", timeout=55)
print(result.exit_code, result.stdout[-2000:])
# the sandbox is deleted here, also if anything above raised
শূন্য নয় এমন এক্সিট কোড স্বাভাবিক ফল হিসেবে ফেরে, এক্সেপশন হিসেবে নয়। এজেন্টকে যখন traceback পড়ে আবার চেষ্টা করতে হয়, ঠিক এটাই দরকার।
বিপজ্জনক ঘটনা আর তাদের পরিণতি
ক্ষতিকর বা নিছক ভাঙা প্যাকেজ। এটা এমন VM-এ চলে যেখানে আপনার কিছুই নেই। স্যান্ডবক্স মুছে দিন, সেটাও শেষ।
গোপন তথ্য। আপনার প্রধান API কী এজেন্টের লেখা কোডে রাখবেন না। কোনো টাস্কের সত্যিই কী দরকার হলে সেটা স্যান্ডবক্সের এনভায়রনমেন্ট ভেরিয়েবল হিসেবে দিন: মানগুলো এনক্রিপ্ট করে রাখা হয়, কখনো লগে যায় না, আর API শুধু তাদের নাম ফেরত দেয়।
অন্তহীন লুপ। প্রতিটি কমান্ড ৫৫ সেকেন্ড পরে থেমে যায়, যদি না আপনি সেটাকে ব্যাকগ্রাউন্ড টাস্ক হিসেবে চালু করেন। নিষ্ক্রিয় অস্থায়ী স্যান্ডবক্স তার idle টাইমআউটের পরে নিজেকে মুছে ফেলে (ডিফল্ট ৫ মিনিট)। দৈনিক বা মাসিক খরচের সীমা নতুন স্যান্ডবক্স আটকে দেয়, যখন এজেন্ট সেদিনের জন্য যথেষ্ট খরচ করে ফেলেছে।
ডেটা বাইরে যাওয়া। এখানে সোজাসুজি বলতে হবে: আউটবাউন্ড ইন্টারনেট খোলা, কারণ এটা ছাড়া pip install কাজ করে না। স্যান্ডবক্স আপনার মেশিনকে রক্ষা করে; কিন্তু স্যান্ডবক্সের ভেতরে কোড যা পড়তে পারে তা ইন্টারনেটে পাঠানো থেকে আটকায় না। তাই নিয়ম সহজ: স্যান্ডবক্সে শুধু সেটুকুই রাখুন যা হারালে আপনার আপত্তি নেই।
ট্যারিফ বাছাই
| ট্যারিফ | vCPU / RAM | প্রতি ঘণ্টা | কীসের জন্য |
|---|---|---|---|
| micro | 0.25 / 512 MB | $0.0165 | একবারের স্ক্রিপ্ট, ডেটা যাচাই |
| small | 0.5 / 1 GB | $0.033 | এজেন্টের বেশিরভাগ কোড, pip install |
| standard | 1 / 2 GB | $0.066 | pandas, টেস্ট সেট |
| plus | 2 / 4 GB | $0.132 | ভারী ইনস্টলেশন (torch), বিল্ড |
বিলিং প্রতি সেকেন্ডে, ন্যূনতম ৬০ সেকেন্ড, আমাদের VPS-এর সেই একই প্রিপেইড ব্যালান্স থেকে। এজেন্টের একটা সাধারণ টাস্ক — তৈরি করা, দুটো প্যাকেজ ইনস্টল, চালানো, মোছা — small-এ এক মিনিটের কম সময় নেয়, তাই ন্যূনতম ৬০ সেকেন্ডের বিল হয়: প্রায় $0.0006। সত্যি বলতে, যে এজেন্ট দিনে কয়েকশো বার কোড চালায় তার কাছে স্যান্ডবক্সের বিল বাজেটের সবচেয়ে ছোট লাইন; LLM টোকেনের খরচ অনেক বেশি।
কখন স্যান্ডবক্স সঠিক টুল নয়
এজেন্টকে যদি কিছু সার্ভ করতে হয় — ওয়েব অ্যাপ, webhook রিসিভার, মেসেজ শোনা বট — তাহলে স্যান্ডবক্স চলবে না, কারণ বাইরে থেকে কেউ এর কাছে পৌঁছাতে পারে না। মাসের পর মাস চলার কথা এমন সার্ভিসের ক্ষেত্রেও একই কথা। এটা VPS-এর কাজ: AI এজেন্টের জন্য VPS দেখুন। প্রচলিত ভাগাভাগি হলো, এজেন্ট একটা ছোট VPS-এ থাকে আর প্রতিটি নতুন দেখা কোডের টুকরোর জন্য একটা স্যান্ডবক্স তৈরি করে।
আরেকটা সীমা হলো একটানা ভারী হিসাব। যে স্যান্ডবক্স ১৫ মিনিটের বেশি CPU পুরো ক্ষমতায় চালিয়ে রাখে, সেটাকে অপব্যবহার ধরা হয়, তাই লম্বা হিসাবের কাজ মাসিক ভাড়ার সার্ভারে করাই ভালো।
শুরু করা
অ্যাকাউন্ট খুলুন, টোকেন নিন আর প্রথম স্যান্ডবক্স চালান — কানেকশন গাইড প্রতিটি ধাপ দেখায়, আর নতুন অ্যাকাউন্ট চেষ্টা করার জন্য $1-এর স্যান্ডবক্স সময় পায়। তারপর এজেন্টকে স্যান্ডবক্স পেজ বা MCP টুলের দিকে পাঠান, আর যেখানে ভাঙা বিনামূল্যে সেখানে তাকে জিনিস ভাঙতে দিন।
ধাপে ধাপে: স্যান্ডবক্সে আপনার প্রথম এজেন্ট টাস্ক. সম্পর্কিত: বিচ্ছিন্ন CI টেস্ট রান, LLM মূল্যায়ন ও কোড রিভিউ ও PR পরীক্ষা.
মন্তব্য
এখনো কোনো মন্তব্য নেই। প্রথম হোন।