پرش به محتوای اصلی
پرش به محتوای مقاله

الگوی عامل‌های محدود: راهکار جلوگیری از تغییرات بازگشتی در مدل‌های محلی

·۱۵ مهر ۱۴۰۵۱۶ دقیقه مطالعه
راهنما
از مدل زبانی محلی تا عامل خودمختار: ساخت ابزارهای توسعه هوشمند که در مرز خود می‌مانند
از مدل زبانی محلی تا عامل خودمختار: ساخت ابزارهای توسعه هوشمند که در مرز خود می‌مانند
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

معرفی الگوی Bounded Agent که در آن LLM از نقش ارکستراتور به نقش «پیشنهاددهنده» تغییر جایگاه می‌دهد و کنترل نهایی را به یک موتور سیاست‌گذاری (Policy Engine) خارجی می‌سپارد.

اگر یک عامل هوشمند به جای پیشنهاد کد، آن را مستقیماً اجرا کند، خطای یک دستور ساده می‌تواند کل سیستم شما را نابود کند. تفاوت میان یک چت‌بات مفید و یک عامل خطرناک، دقیقاً در همین نقطه است: جایی که مدل شروع به بازنویسی فایل‌های حیاتی یا تغییرات بازگشتی در ساختار خود می‌کند.

این ریسک ناشی از کم‌هوشی مدل نیست، بلکه نتیجهٔ ضعف در انضباط معماری است. به نقل از تحلیل فنی وب‌سایت tamiz.pro در ۷ اکتبر ۲۰۲۶، برای تبدیل عامل‌های خودمختار به ابزارهایی پیش‌بینی‌پذیر، باید با آن‌ها نه به‌عنوان یک جعبه سیاه، بلکه به‌عنوان یک جزء (Component) از سیستم برخورد کرد.

همان‌طور که در تحلیل قبلی ما درباره‌ی الزامات سازمان‌ها برای اتوماسیون AI اشاره کردیم، اکنون باید از آمادگی سازمانی به مکانیسم‌های دقیق اجرا برویم. اکثر چارچوب‌های فعلی شکست می‌خورند چون به مدل زبانی بزرگ (LLM) — مثل کتابخانه‌داری که میلیاردها صفحه را خوانده و حالا با همان لحن کتاب‌ها جواب می‌دهد — دسترسی نامحدود به ابزارها می‌دهند، بدون اینکه لایه‌ای نظارتی وجود داشته باشد تا در لحظه مناسب بگوید: «امروز نه». این شکاف میان دموهای جذاب و محیط عملیاتی اغلب به دلیل پیچیدگی‌های لایه‌بندی است، موضوعی که در بررسی دلایل شکست عامل‌ها در مقیاس وسیع به تفصیل به آن پرداختیم.

مشکل گسترش محدوده (Scope Creep)

عامل‌های خودمختار معمولاً در سه حالت شکست می‌خورند. اول، توهم ابزار (Tool Hallucination) است؛ جایی که مدل نام ابزاری را صدا می‌زند که اصلاً وجود ندارد. دوم، ارتقای دسترسی است؛ مثلاً عاملی که فقط باید فایل‌های پروژه را بخواند، سعی می‌کند به فایل‌های حساس سیستمی مثل /etc/shadow دسترسی پیدا کند.

سومین مورد، زنجیره‌سازی اقدامات است. در این حالت، یک فراخوانی ساده به زنجیره‌ای از دستورات تبدیل می‌شود: خواندن فایل $\rightarrow$ تغییر فایل $\rightarrow$ ارسال به سرور $\rightarrow$ ایجاد PR $\rightarrow$ ادغام. هر مرحله به‌تنهایی درست است، اما کل زنجیره مجاز نبوده است. ریشهٔ این مشکل این است که LLM به‌عنوان ارکستراتور با دسترسی کامل دیده شده است.

انتخاب مدل و لایه‌بندی

اجرای مدل‌ها به‌صورت محلی از طریق Ollama، llama.cpp یا vLLM مدل تهدید و محدودیت‌های طراحی را تغییر می‌دهد. مدل‌های محلی تأخیر کمتری دارند (۵۰ تا ۲۰۰ میلی‌ثانیه برای هر توکن در برابر ۲۰۰ تا ۸۰۰ میلی‌ثانیه در APIهای ابری) و حریم خصوصی داده‌ها را تضمین می‌کنند. اما در مقابل، پنجره متنی (Context Window) — میزان متنی که مدل هم‌زمان «در ذهن» نگه می‌دارد، شبیه میز کاری که جا برای چند ورق دارد — در مدل‌های محلی بسیار کوچک‌تر است (معمولاً ۸ تا ۳۲ هزار توکن).

برای بهینه‌سازی، استراتژی مسیریابی لایه‌ای پیشنهاد می‌شود. نیازی نیست برای هر قدم از سنگین‌ترین مدل استفاده کنید:

  • لایه ۱ (کلاس 7B): مدل‌هایی مثل Qwen2.5-Coder 7B برای درک کد و تشخیص قصد کاربر.
  • لایه ۲ (کلاس 14B): مدل‌هایی مثل Qwen2.5-Coder 14B برای ارکستراسیون عامل و انتخاب ابزار.
  • لایه ۳ (کلاس +32B): مدل Qwen2.5-Coder 32B (نیازمند ۲۴ گیگابایت VRAM) برای استدلال‌های پیچیده و برنامه‌ریزی چندمرحله‌ای.

معماری عامل محدود (Bounded Agent)

راهکار اصلی، الگوی عامل محدود است که یک «نقطهٔ اجرای سیاست» (PEP) را میان LLM و لایهٔ اجرای ابزار قرار می‌دهد. در این سیستم، مدل هرگز دسترسی مستقیم به ابزارها ندارد؛ بلکه فقط یک پیشنهاد ساختاریافته ارائه می‌دهد که PEP آن را بر اساس موتور سیاست‌گذاری (مثل Open Policy Agent) ارزیابی می‌کند. تنها اقدامات تأییدشده به محیط ایزوله (Sandbox) می‌رسند. برای پیاده‌سازی استانداردتر این ارتباطات، الگوهای معماری MCP می‌توانند نرخ شکست عامل‌ها را در محیط عملیاتی به شدت کاهش دهند.

ثبت ابزارها و تعیین محدوده قابلیت‌ها

یک ثبت ابزار (Tool Registry) قدرتمند باید دقیقاً تعریف کند هر ابزار چه کاری می‌تواند انجام دهد. این محدودیت‌ها در سه حوزه تعریف می‌شوند:

  • سیستم فایل: تعیین الگوهای خواندن و نوشتن. مثلاً ابزار read_file فقط اجازه خواندن دارد و اجازه نوشتن در آن بسته است.
  • شبکه: تعریف دامنه‌های مجاز. ابزار git_push فقط می‌تواند به github.com یا gitlab.com متصل شود.
  • پردازش: تعیین اینکه آیا ابزار می‌تواند زیرپردازش ایجاد کند و حداکثر زمان اجرای آن (مثلاً ۳۰,۰۰۰ میلی‌ثانیه) چقدر است.

این ساختار اجازه می‌دهد پروفایل‌های تخصصی بسازیم. مثلاً یک «بازبین کد» (Code Reviewer) فقط ابزارهای خواندن و جست‌وجو را دارد و دسترسی به git_push برای او ممنوع است.

لایه‌های حفاظتی چندگانه

امنیت از طریق ترکیب لایه‌ها حاصل می‌شود تا اگر یک لایه فریب خورد، لایه‌های دیگر مانع شوند.

لایه ۱: فیلتر ورودی. شناسایی الگوهای تزریق پرامپت (Prompt Injection) مثل «تمام دستورات قبلی را نادیده بگیر» قبل از رسیدن به مدل.

لایه ۲: اعتبارسنجی خروجی. خروجی مدل باید با یک طرح (Schema) سخت‌گیرانه (مثلاً با استفاده از Zod) مطابقت داشته باشد. هر خروجی نامعتبر بدون تفسیر، رد می‌شود.

لایه ۳: موتور سیاست. اجرای منطق‌های پیچیده؛ مثلاً اگر مسیر فایل با .. شروع شود یا شامل /root/ باشد، دسترسی رد شود.

لایه ۴: اجرای زمان‌بندی‌شده. یک SandboxedExecutor نهایی بررسی می‌کند که مسیرها از ریشهٔ فضای کاری خارج نشوند و زمان اجرا از حد مجاز فراتر نرود.

ایزوله‌سازی و لایه‌های مجازی

برای ابزارهایی که کد اجرا می‌کنند، استفاده از داکر (Docker) با کاربر غیر-root ضروری است. محدودیت‌های سخت‌گیرانه روی حافظه (۵۱۲ مگابایت) و پردازنده (۱ هسته) اعمال می‌شود.

یک روش کاربردی برای ابزارهای توسعه، الگوی «لایهٔ مجازی سیستم فایل» (Filesystem Overlay) است. در این حالت، تغییرات عامل در یک پوشهٔ موقت ذخیره می‌شود و کاربر انسانی در نهایت تفاوت‌ها (Diff) را بررسی کرده و تصمیم می‌گیرد تغییرات را روی کد اصلی اعمال کند یا همه را پاک کند.

مشاهده‌پذیری و ردپای حسابرسی

هر اقدام عامل باید در یک جریان «فقط-افزودنی» ثبت شود. برای جلوگیری از دستکاری، از زنجیره هش (Hash Chain) استفاده می‌شود؛ هر رکورد شامل هش رکورد قبلی است تا هرگونه تغییر در تاریخچه، زنجیره را می‌شکند.

ادغام با OpenTelemetry اجازه می‌دهد هر گام عامل در یک Span ثبت شود تا مسیر استدلال و اجرای مدل به‌طور کامل قابل ردیابی باشد.

الگوهای استقرار در محیط عملیاتی

در محیط‌های CI/CD مثل GitHub Actions، عامل‌ها با دسترسی صفر به نوشتن و بدون دسترسی به شبکه پیکربندی می‌شوند. در پایان اجرا، دستور git diff --quiet اجرا می‌شود تا اطمینان حاصل شود هیچ فایلی خارج از محدوده تغییر نکرده است.

برای بهینه‌سازی هزینه، یک مسیریاب مدل (ModelRouter) پیاده می‌شود: کارهای طبقه‌بندی به مدل 7B، کارهای تولید کد به 14B و کارهای معماری و بازسازی به مدل 32B ارجاع داده می‌شوند.

گام بعدی شما

  • اگر از مدل‌های محلی استفاده می‌کنید، لایهٔ اعتبارسنجی خروجی را با Zod پیاده کنید تا از توهمات ساختاری مدل جلوگیری کنید.
  • برای ابزارهای حساس، به جای دسترسی مستقیم، از الگوی Filesystem Overlay استفاده کنید تا تغییرات ابتدا توسط انسان تأیید شوند.
  • مدل‌های خود را بر اساس پیچیدگی تسک لایه‌بندی کنید تا سرعت استنتاج را افزایش و هزینه سخت‌افزاری را کاهش دهید.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این رویکرد با جایگزینی اعتماد کورکورانه به مدل با نظارت سیستمی، استقرار عامل‌های AI را در محیط‌های حساس تولیدی (Production) ممکن می‌کند. تخصص در طراحی PEP و محیط‌های ایزوله، اکنون به مهارت کلیدی برای مهندسان AI تبدیل شده است.

تأثیر برای ایران

برای توسعه‌دهندگان ایرانی که به دلیل محدودیت‌های API ابری به مدل‌های محلی (Local LLMs) روی آورده‌اند، این معماری تنها راه امن برای ساخت ابزارهای اتوماسیون داخلی است.

·نگاه ما
تحریریه دات‌هوش

انتقال مسئولیت ایمنی از مهندسی پرامپت به مهندسی سیستم، نقطهٔ پایان توهم «مدل کامل» است. در این معماری، هدف دیگر یافتن مدلی نیست که اشتباه نکند، بلکه ساخت سیستمی است که اشتباهات مدل در آن بی‌اثر باشند. استفاده از مدل‌های لایه‌بندی شده نیز ثابت می‌کند که تخصص در ابعاد کوچک، کارآمدتر از قدرت خام در مدل‌های غول‌آسا است.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.