درسهایی که از ساخت کلاود ایجنتها یاد گرفتیم
خلاصهٔ کاملتر
وقتی Cursor یک سال پیش کلاود ایجنتهاشون رو راهاندازی کردن، انتظار داشتن کار سادهای باشه؛ فقط همون ایجنت محلی رو روی سرور اجرا کنن. ولی واقعیت خیلی پیچیدهتر از این بود. کلاود ایجنتها الان روی ماشین مجازی اختصاصی اجرا میشن، میتونن به صورت موازی کار کنن، و پروژههای طولانیمدت رو بدون نیاز به حضور مستمر انسان انجام بدن.
محیط توسعه، خود محصول است. مهمترین درسی که این تیم یاد گرفته اینه که مهمترین عامل کیفیت خروجی ایجنت، داشتن یک محیط توسعه کامل مثل یک developer واقعیه. وقتی ایجنت روی لپتاپ اجرا میشه، این محیط رو به رایگان از سیستم شما به ارث میبره. ولی در کلاود باید از صفر ساخته بشه. مشکل اینجاست که وقتی محیط ناقصه، معمولاً نه crash میبینی نه error — فقط کیفیت خروجی آروم آروم پایین میاد و ممکنه اشتباهاً مدل رو مقصر بدونی.
اجرای پایدار برای تسکهای طولانی. کلاود ایجنتها در معرض اختلالاتی مثل قطعیهای inference provider، ریاستارت pod، و خرابی نودهای EC2 هستن. در ابتدا از معماری work-stealing استفاده میکردن که ثبات کافی نداشت. بعد از بررسی، تصمیم گرفتن به جای بازسازی چرخ، از Temporal — یک پلتفرم اجرای پایدار — استفاده کنن. این مهاجرت به تنهایی قابلیت اطمینان رو از «یک ۹» به «دو ۹» رسوند. حالا Temporal روزانه بیش از ۵۰ میلیون عملیات در بیش از ۷ میلیون workflow مجزا پردازش میکنه.
جداسازی ایجنت، ماشین، و مکالمه. یک کلاود ایجنت امروزی ممکنه روی چند ماشین مختلف اجرا بشه، subagentهایی موازی داشته باشه، یا از محلی به کلاود منتقل بشه. برای مدیریت این پیچیدگی، سه لایه از هم جدا شدن: حلقه اجرای ایجنت (که در Temporal زندگی میکنه)، وضعیت ماشین مجازی، و وضعیت مکالمه. همچنین یک لایه ذخیرهسازی append-only ساختن که آپدیتها رو به کلاینتهای وب و دسکتاپ stream میکنه و در صورت retry شدن یک مرحله، کلاینت میتونه stream رو به عقب برگردونه.
تشخیص اینکه کِی کنار برو. هرچه مدلها هوشمندتر شدن، منطق بیشتری از هارنس (scaffolding اطراف ایجنت) به ابزارهایی که ایجنت خودش کنترل میکنه منتقل شده. مثلاً برای CI Autofix، قبلاً هارنس لاگهای خطا رو جمعآوری میکرد و به VM مینوشت؛ الان فقط دسترسی به GitHub CLI داده میشه و ایجنت خودش تصمیم میگیره. همچنین کلاود ایجنتها به promptهایی نیاز دارن که استقلال عمل بیشتری رو تشویق کنن، چون اگر ایجنت در کلاود منتظر تأیید بمونه، ممکنه ساعتها بدون پیشرفت بمونه.
آینده: محیطهای خودترمیمشونده. گام بعدی اینه که به ایجنت ابزارهایی بدن تا وقتی secret ای وجود نداره، دسترسی شبکه قطعه، یا محیط ناقصه، خودش تشخیص بده و اقدام کنه — چیزی که بهش «autoinstall» میگن. هدف اینه که ایجنت نه نیاز به هدایت دستی داشته باشه، نه رها شده حس کنه.
نکات کلیدی:
- کیفیت خروجی کلاود ایجنت مستقیماً به کامل بودن محیط توسعه بستگی داره
- Temporal برای اجرای پایدار انتخاب شد و اکنون روزانه ۵۰ میلیون+ عملیات پردازش میکنه
- جداسازی حلقه ایجنت، وضعیت VM، و وضعیت مکالمه یک معماری کلیدیه
- بیش از ۴۰٪ از PRهای داخلی Cursor توسط کلاود ایجنتها ساخته میشه
- مسیر آینده: ایجنتهایی که مشکلات محیطی خودشون رو تشخیص داده و حل میکنن




