تصور کنید یک عامل هوش مصنوعی را دارید که نمیتواند یک ترمینال ساده را باز کند؛ در واقع چنین ابزاری چیزی فراتر از یک چتبات با چند افزونهی محدود نیست. برای حل این بنبست، LangBot در ۲۶ اوت ۲۰۲۶ نسخه ۴.۱۰.۰ خود را منتشر کرد تا به عاملهای داخلیاش یک فضای کاری واقعی بدهد که بتوانند بدون دستکاری سیستم میزبان، فایلها را مدیریت کرده و دستورات را اجرا کنند.
بیشتر عاملهای امروزی در یک حلقهٔ «درخواست-پاسخ» عمل میکنند؛ یعنی ابزارهای پیشفرض را فراخوانی میکنند اما نمیتوانند یک فایل را باز کرده، تغییری در آن بدهند و سپس یک اسکریپت را اجرا کنند تا ببینند آیا واقعاً کار میکند یا خیر. این محدودیت، سقفی برای انجام کارهای پیچیدهٔ مهندسی ایجاد میکند. LangBot — پلتفرمی متنباز با بیش از ۱۵ هزار ستاره در گیتهاب — قصد دارد با تبدیل عامل به یک توسعهدهنده انسانی، این سقف را بشکند. این رویکرد در واقع تلاشی برای جابهجایی در طیف موازنه میان خودمختاری و ریسک در دستهبندیهای مختلف عاملهای هوش مصنوعی است تا بهرهوری عملیاتی افزایش یابد.
اکوسیستم LangBot
این پلتفرم به عنوان یک پل جهانی برای استقرار هوش مصنوعی طراحی شده است. LangBot بیش از ۲۰ مدل زبانی بزرگ (LLM) — مثل کتابخانهداری که میلیاردها صفحه را خوانده و حالا با همان لحن جواب میدهد — از جمله مدلهای OpenAI GPT، Anthropic Claude، Google Gemini و DeepSeek را به بیش از ۱۳ پلتفرم پیامرسان متصل میکند. این لیست شامل دیسکورد، تلگرام، اسلک، Lark (Feishu)، DingTalk، QQ و هر دو نسخه شخصی و سازمانی ویچت است.
کاربران میتوانند این پلتفرم را با یک دستور داکر (Docker) به صورت شخصی میزبانی کنند یا از نسخه ابری آن (LangBot Cloud) استفاده نمایند. طبق گزارشهای توسعهدهندگان، بهروزرسانی اخیر که توسط کاربر @huanghuoguoguo هدایت شده، تمرکز خود را بر تبدیل عامل از یک «فراخوانکننده ابزار» به یک «توسعهدهنده عملیاتی» گذاشته است.

مرکز ثقل این بهروزرسانی، محیط اجرای Box Runtime است. این سندباکس ایزوله، شش ابزار بومی را در اختیار عامل قرار میدهد:
exec: اجرای دستورات شل (Shell)read: خواندن محتوای فایلهاwrite: نوشتن فایلهاedit: اعمال تغییرات هدفمند در فایلglob: یافتن فایلها بر اساس الگوgrep: جستوجو در محتوای فایلها

مکانیزمهای سندباکس
به نقل از گزارش dev.to، این سندباکس برای سازگاری با نیازهای مختلف استقرار، قابلیت تعویض (Pluggable) دارد. LangBot بر اساس محیط اجرا، یکی از سه گزینه زیر را انتخاب میکند:
- Docker: ایجاد یک کانتینر اختصاصی
langbot_boxکه از طریق WebSocket با فرآیند اصلی ارتباط میگیرد؛ این روش برای محیطهای کانتینری ایدهآل است. - nsjail: ایزولاسیون سبک بر پایه Namespaceهای لینوکس که نیازی به کانتینر اضافی ندارد و برای استقرار روی سختافزار (Bare-metal) یا محیطهای تک-کانتینری مناسب است.
- E2B: یک سندباکس ابری که اجرای کدها را در یک محیط ایزوله و دور (Remote) انجام میدهد.
کاربران نیازی به انتخاب دستی ندارند؛ کلید اصلی box.enabled یک بررسی (Probe) برای یافتن مناسبترین بکاِند انجام میدهد و در صورت شکست در شناسایی، به صورت تدریجی به گزینههای جایگزین تغییر وضعیت میدهد (Graceful Degradation).
همانطور که در تحلیلهای قبلی ما دربارهی امنیت مدلهای بازمتن اشاره کردیم، ایزولاسیون در سطح سیستمعامل برای جلوگیری از حملات تزریق کد حیاتی است. در اینجا، Box Runtime اکنون میزبان سرورهای MCP (پروتکل زمینه مدل) در حالت stdio است. پیش از این، این سرورها باید به عنوان زیرفرآیند (Subprocess) مستقیماً در فرآیند اصلی اجرا میشدند که نه امن بود و نه مدیریتش آسان بود. اکنون آنها در داخل سندباکس اجرا میشوند و همان مرز ایزولاسیونِ محیط اجرای عامل را به اشتراک میگذارند. لازم به ذکر است که حالتهای http/sse در MCP تحت تأثیر این تغییر قرار نگرفتهاند و مانند قبل کار میکنند.
برای حل مشکل محدودیت پنجره متنی (Context Window) — که مثل میز کاری است که فقط جای چند ورق دارد، نه کل کتابخانه — LangBot سیستمی به نام «مهارتها» (Skills) را معرفی کرد. حالا عامل به جای اینکه تمام دستورالعملها را در پرامپت سیستمی جای دهد، یک فهرست مطالب مختصر را میبیند و فقط زمانی که لازم باشد، محتوای کامل را از طریق اکشن activate فراخوانی میکند.

معماری مهارتها
یک «مهارت» در واقع یک بسته دستورالعمل است که به صورت On-demand (در لحظه نیاز) بارگذاری میشود و از چهار بخش اصلی تشکیل شده است:
- پرامپت: تعریف میکند که این مهارت دقیقاً چه کاری انجام میدهد و عامل در چه زمانی باید از آن استفاده کند.
- رویه (Procedure): گامهای مشخص و متوالی که برای به سرانجام رساندن یک دسته از وظایف لازم است.
- اسکریپتها: کدهای کمکی آماده برای اجرا که به سرعت بخشیدن به فرآیند کمک میکنند.
- فایلهای مرجع: شامل مستندات API، قالبهای آماده و مثالهای کاربردی.
این بارگذاری در لحظه باعث میشود دادههای غیرضروری، فضای حافظه مدل را اشغال نکنند و پنجره متنی را شلوغ نکنند. توسعهدهندگان میتوانند بدون تغییر در کد اصلی و بدون نیاز به ریاستارت، قابلیتهای جدیدی را با نوشتن یک بسته مهارت اضافه کنند و اثرات آن فوراً اعمال شود. این رویکرد، «آنچه عامل میداند» را از «آنچه عامل در این لحظه نیاز دارد» تفکیک میکند.
سایر بهروزرسانیهای سری ۴.۹ شامل موارد زیر است:
- صفحات افزونه (Plugin Extension Pages): افزونهها اکنون میتوانند رابط کاربری سفارشی خود را از طریق iframe و یک Page SDK رندر کنند (توسط @TyperBody در Issue #2107).
- مانیتورینگ: افزودن قابلیت بازخورد (Feedback) متصل به ID پیامها و امکان خروجی گرفتن (Export) از این بازخوردها (توسط @6mvp6 در Issue #2120).
- تقویت امنیت: رفع حفرههای امنیتی مربوط به Path-traversal و حذف یک نقطه انتهایی (Endpoint) حساس RCE که نیاز به احراز هویت داشت (توسط @sebastiondev در Issue #2087 / #2178).
این نسخه همچنین SDK افزونهها را به نسخه langbot-plugin 0.4.1 ارتقا داده است.
برای کاربر نهایی، این تغییر یعنی عامل اکنون میتواند وظایف باز (Open-ended) را مدیریت کند. مثلاً میتواند یک اسکریپت را اجرا کند، خروجی را در یک فایل ذخیره کند، آن فایل را تحلیل کرده و نتیجه را بهطور خودکار پسپردازش و ارسال کند. این معماری مشکل «دستها» را از طریق سندباکس و مشکل «مغز» را از طریق مهارتها حل میکند.
این ساختار فرض قدیمی را که عاملها باید محدود به ابزارهای خاص و تعریفشده باشند، تغییر میدهد. با فراهم کردن یک ترمینال همهمنظوره و حافظه پویا، LangBot به سمتی حرکت میکند که عامل به جای دنبال کردن یک اسکریپت صلب، از طریق آزمایش و خطا به راه حل دست یابد.
گام بعدی شما
- اگر از LangBot استفاده میکنید، با دستور
docker compose --profile all upکانتینرlangbot_boxرا فعال کنید تا دسترسی به ترمینال باز شود. در استقرارهای دستی یا uvx، این فرآیند بهطور خودکار به عنوان یک زیرفرآیند stdio اجرا میشود. - برای کاهش هزینههای استنتاج و افزایش دقت، دستورالعملهای طولانی خود را به «بستههای مهارت» تبدیل کنید تا پنجره متنی مدل شلوغ نشود.
- امنیت محیط استقرار خود را بررسی کنید و در صورت استفاده از سرورهای لینوکسی، از
nsjailبرای ایزولاسیون سبک استفاده نمایید. توجه داشته باشید که غیرفعال کردنbox.enabledباعث از کار افتادن ابزارهای داخلی، قابلیت ایجاد/ویرایش مهارتها و MCP در حالت stdio میشود.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو