Quicksand؛ سندباکس ماشین مجازی مایکروسافت برای ایجنتها
خلاصهٔ کاملتر
مایکروسافت پروژه متنبازی به اسم Quicksand منتشر کرده؛ یه API پایتونی و async برای راه انداختن، کنترل کردن و snapshot گرفتن از ماشینهای مجازی QEMU (یعنی یه شبیهساز متنباز که یه کامپیوتر کامل رو مجازی اجرا میکنه). تمرکز اصلیش روی sandbox کردن ایجنتهای هوش مصنوعیه، یعنی ایجنت تو یه محیط ایزوله دستور اجرا کنه و نتونه به سیستم اصلی آسیب بزنه.
ایمیجهای آماده Ubuntu و Alpine داره و روی x86_64 و ARM64 تو macOS، لینوکس و ویندوز کار میکنه. اجرای sandbox نه root میخواد نه Docker. پکیجش با اسم quick-sandbox روی PyPI هست. استفادهش اینطوریه که یه Sandbox باز میکنی و دستور میفرستی:
async with Sandbox(image="ubuntu") as sb:
result = await sb.execute("echo 'Hello from the sandbox!'")
print(result.stdout)سندباکسها بهطور پیشفرض به اینترنت دسترسی ندارن و باید با NetworkMode.FULL اجازه بدی. میشه پوشههای سیستم میزبان رو موقع بوت یا وسط کار mount کرد، چند کاربر لینوکسی جدا برای چند ایجنت تو یه VM ساخت و حالت دیسک رو با save ذخیره کرد تا بعداً حتی روی یه ماشین دیگه بالا بیاد.
یکی از قابلیتهای مهم برای ایجنتها checkpoint و revert هست. قبل از یه کار پرخطر از کل حالت VM عکس میگیری و اگه خراب شد برمیگردی:
await sb.checkpoint("before-experiment")
await sb.execute("apt install -y something-risky")
await sb.revert("before-experiment") # the VM snaps back to the checkpointایمیجهای دسکتاپی هم با محیط Xfce4 و مرورگر هست که با enable_display=True میشه ازشون screenshot گرفت، تایپ کرد و ماوس رو حرکت داد. این برای ایجنتهایی که با رابط گرافیکی کار میکنن (computer use) به درد میخوره. تنظیمات دیگه مثل حافظه (پیشفرض 512M)، تعداد CPU (پیشفرض 1)، port forwarding و اندازه دیسک هم قابل تغییره.
نکات کلیدی:
- Quicksand یه API پایتونی async روی QEMU هست و پکیجش quick-sandbox اسم داره.
- اجرا بدون root و بدون Docker روی macOS، لینوکس و ویندوز، با معماری x86_64 و ARM64.
- شبکه بهطور پیشفرض بستهست و دسترسی کامل با NetworkMode.FULL باز میشه.
- قابلیت checkpoint و revert برای برگشت VM به حالت قبل از یه کار پرخطر.
- ایمیجها شامل Ubuntu 24.04، Alpine 3.23، نسخههای دسکتاپی و ایمیج quicksand-cua با Playwright و Chromium هستن.
- ایمیج Alpine حدود ۸۲ تا ۸۵ مگابایت و Ubuntu حدود ۳۰۹ تا ۳۵۷ مگابایته.




