কোড লেখা এজেন্ট তখনই কাজের, যখন কিছু একটা সেই কোড নিরাপদে চালিয়ে ফল জানায়। এই গাইড সেই লুপ শুরু থেকে শেষ পর্যন্ত তৈরি করে: মডেল একটি Python স্ক্রিপ্ট লেখে, স্যান্ডবক্স তা চালায়, আর ব্যর্থ হলে ত্রুটি মডেলের কাছে ফিরে যায়। তারপর একই কাজ এক লাইন কোড ছাড়াই, MCP দিয়ে।
আপনার লাগবে Python 3.8+, একটি EQVPS অ্যাকাউন্ট টোকেন (অ্যাকাউন্ট সংযোগ দেখুন) এবং কোনো মডেলের API কী।
১. আগে খরচের সীমা ঠিক করুন
এজেন্ট নিজেই স্যান্ডবক্স তৈরি করে, তাই শুরুর আগে তাকে একটা ছাদ দিন। পরীক্ষার জন্য দিনে দুই ডলার আর মাসে বিশ ডলার যথেষ্টের চেয়েও বেশি:
curl -X PUT https://api.eqvps.com/api/v1/eqvps/sandboxes/budget \
-H "Authorization: Bearer $EQVPS_API_KEY" -H "Content-Type: application/json" \
-d '{"daily_usd": 2, "monthly_usd": 20}'
সীমায় পৌঁছালে নতুন স্যান্ডবক্স 429 budget_exceeded পায় এবং চলমান অস্থায়ী স্যান্ডবক্স মুছে যায়। বিস্তারিত আছে স্যান্ডবক্সের সীমা ও বিলিং-এ।
২. দুটি লাইব্রেরি ইনস্টল করুন
pip install eqvps anthropic
export EQVPS_API_KEY="your-eqvps-token"
export ANTHROPIC_API_KEY="your-model-key"
উদাহরণে একটি মডেল প্রদানকারী ব্যবহার করা হয়েছে, কিন্তু কিছুই তার ওপর নির্ভর করে না। মডেলের সঙ্গে কথা বলে শুধু ask() ফাংশন।
৩. লেখো, চালাও, ঠিক করো লুপ
এটি agent.py নামে সেভ করুন:
import re
import anthropic
from eqvps import Sandbox
TASK = "Count the prime numbers below 1,000,000 and print only the number."
client = anthropic.Anthropic()
def ask(messages):
msg = client.messages.create(model="claude-sonnet-5", max_tokens=2000, messages=messages)
return msg.content[0].text
def extract_code(text):
m = re.search(r"`{3}(?:python)?\n(.*?)`{3}", text, re.S)
return m.group(1) if m else text
messages = [{"role": "user", "content": "Write a Python 3 script for this task. "
"Reply with a single code block and nothing else.\n\nTask: " + TASK}]
with Sandbox.create(tariff="small", idle_timeout=120) as sb:
for attempt in range(1, 4):
reply = ask(messages)
r = sb.run(extract_code(reply), timeout=55)
print(f"attempt {attempt}: exit code {r.exit_code}")
if r.ok:
print(r.stdout.strip())
break
messages += [
{"role": "assistant", "content": reply},
{"role": "user", "content": f"The script failed with exit code {r.exit_code}.\n"
f"stderr:\n{r.stderr[-3000:]}\nFix it. Reply with a single code block."},
]
চালান:
python3 agent.py
সাধারণত এটি attempt 1: exit code 0 আর তারপর 78498 ছাপে। প্রথম স্ক্রিপ্ট ব্যর্থ হলে ত্রুটি ঠিক করা দ্বিতীয় চেষ্টাটি দেখবেন।
প্রতিটি অংশ কী করে:
Sandbox.create(..., idle_timeout=120)প্রায় এক সেকেন্ডে একটি microVM চালু করে। আপনার স্ক্রিপ্ট মাঝপথে থেমে গেলেও স্যান্ডবক্স ২ মিনিট নিষ্ক্রিয় থাকার পর নিজেই মুছে যায়।sb.run(code, timeout=55)কোড চালিয়ে এক্সিট কোড, stdout ও stderr ফেরত দেয়। কোড ক্র্যাশ করা স্বাভাবিক ফল, exception নয়, তাই লুপ তা মডেলকে দেখাতে পারে।r.stderr[-3000:]ত্রুটির শুধু শেষ অংশ পাঠায়। বড় স্ক্রিপ্টের পুরো traceback মডেলের অনেক কনটেক্সট নষ্ট করতে পারে।- তিনবার চেষ্টা ইচ্ছাকৃত সীমা। যে মডেল তিনবারে স্ক্রিপ্ট ঠিক করতে পারেনি, তার সাধারণত চতুর্থ চেষ্টা নয়, ভালো কাজের বর্ণনা দরকার।
৪. কাজে ৫৫ সেকেন্ডের বেশি লাগলে
একটি সিনক্রোনাস কল সর্বোচ্চ ৫৫ সেকেন্ড চলে। লম্বা কাজ ব্যাকগ্রাউন্ডে শুরু করে অপেক্ষা করুন:
task = sb.run(code, background=True)
result = task.wait(timeout=1800)
আপনার wait টাইমআউট হলেও টাস্ক চলতে থাকে, আর sb.task(task_id) দিয়ে আবার ধরতে পারেন।
৫. একই কাজ MCP দিয়ে, কোড ছাড়া
Claude Desktop বা Cursor-এর মতো MCP ক্লায়েন্টে EQVPS MCP সার্ভার ব্যবহার করলে এজেন্টের কাছে আগে থেকেই স্যান্ডবক্স টুল আছে: create_sandbox, run_code, exec_command, upload_file, download_file এবং kill_sandbox। একটি প্রম্পটই যথেষ্ট:
একটি ছোট অস্থায়ী স্যান্ডবক্স তৈরি করো। এমন একটি Python স্ক্রিপ্ট লেখো যা 1,000,000-এর কম মৌলিক সংখ্যা গোনে, সেখানে চালাও, ব্যর্থ হলে ঠিক করো, আমাকে ফল জানাও এবং স্যান্ডবক্স মুছে দাও।
এজেন্ট ওপরের স্ক্রিপ্টের মতোই কল করে। কোন টুল নিশ্চিতকরণ ছাড়া অনুমতি দেওয়া নিরাপদ, তা আছে MCP সুরক্ষা ব্যবস্থা-য়।
খরচ কত হলো
স্যান্ডবক্স এক মিনিটেরও অনেক কম ছিল এবং সর্বনিম্ন ৬০ সেকেন্ড হিসেবে বিল হয়েছে: small-এ $0.00055। মডেল কলের খরচ স্যান্ডবক্সের চেয়ে বেশি। নতুন অ্যাকাউন্টের $1 ট্রায়াল ক্রেডিটে এমন প্রায় ১,৮০০টি রান হয়।
এরপর কোথায়
- ধাপে ধাপে SDK: ৫ মিনিটে স্যান্ডবক্সের Python SDK বা TypeScript।
- সব মেথড ও ত্রুটি: SDK রেফারেন্স।
- ট্যারিফ ও ট্রায়াল ক্রেডিট: স্যান্ডবক্স পাতা।
মন্তব্য
এখনো কোনো মন্তব্য নেই। প্রথম হোন।