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

رشته‌های توصیفیِ گمشده؛ دلیل پنهانِ نادیده گرفتنِ ابزارها توسط عامل‌های هوش

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

کشف یک حالت شکست (Failure Mode) خاص در عامل‌ها: نبود رشته توصیفی در مانیفست باعث حذف کامل ابزار از دید مدل می‌شود، بدون اینکه هیچ خطای سیستمی صادر شود.

تصور کنید یک برنامه‌نویس ساعت‌ها وقت صرف می‌کند تا ابزاری دقیق برای مدیریت داده‌ها بسازد، اما عامل هوش مصنوعی او طوری رفتار می‌کند که انگار این ابزار اصلاً وجود ندارد. این شکست خاموش زمانی رخ می‌دهد که تنها یک خط متن ساده در مستندات فنی فراموش شده باشد. در واقع، حتی اگر هندلرهای خواندن و نوشتن (write and query handlers) کاملاً عملیاتی باشند، اگر یک رشته متنی ساده گم شود، این ابزارها برای عامل هوش مصنوعی که قرار است از آن‌ها قدرت بگیرد، نامرئی باقی می‌مانند.

این تنش در یک تحلیل فنی در ۲۷ سپتامبر ۲۰۲۶ برجسته شد؛ جایی که توسعه‌دهندگان فاش کردند یک عامل هوش مصنوعی درون‌برنامه‌ای، مجموعه‌ای از ابزارها را صرفاً به دلیل نبود رشته‌های توصیفی (description strings) کاملاً نادیده گرفته است. در دنیای توسعه، بسیاری از برنامه‌نویسان مستندات را به‌عنوان لایه‌ای برای راهنمایی انسان‌ها یا یک پرداخت نهایی (final polish) می‌بینند، اما برای یک عامل (Agent)، این توصیف در واقع همان «دروازه» ورود است. در حالی که یک انسان می‌تواند یک نقطه انتهایی (endpoint) را از طریق مسیر URL پیدا کند، یک عامل به مانیفستی متکی است که از هندلرها، صفحه‌ها و موجودیت‌ها ساخته شده است. اگر رشته توصیفی خالی باشد، آن ورودی از مانیفست حذف می‌شود و عامل هرگز متوجه نمی‌شود که چنین ابزاری وجود دارد.

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

طبق گزارش وب‌سایت dev.to، این مشکل ۲۱ هندلر را در خط لوله هوش مصنوعی و ویژگی‌های فروشگاه پرامپت (prompt store) یک تیم تحت تأثیر قرار داده بود. کدها برای کاربران در رابط کاربری (UI) به‌درستی کار می‌کردند، اما عامل هوش مصنوعی به‌سادگی از کنار آن‌ها می‌گذشت. تیم متوجه شد که این توصیفات را نمی‌توان در مرحله ترکیب (composition site) اصلاح کرد؛ بلکه باید دقیقاً در کنار تعریف هندلر قرار گیرند تا توسط برنامه به ارث برسند. برخی تلاش کردند تا مستندات را در داخل برنامه «اضافه کنند»، اما تست‌های شکاف (gap tests) مدام شکست می‌خوردند زیرا ویژگی‌های بسته‌بندی شده همچنان به‌صورت خالی ارسال می‌شدند.

مدیریت ریسک و مجوزها

دیدن ابزار تنها اولین قدم است؛ گام بعدی تعیین سطح ریسک عملیات است. وقتی یک عامل ابزاری را می‌بیند، سیستم باید سطح ریسک آن اقدام را تعیین کند. این تیم یک سیستم ریسک طبقه‌بندی‌شده (tiered risk system) را برای جلوگیری از اقدامات بازگشت‌ناپذیر بدون نظارت شدید اجرا کرد:

این رویکرد برای جلوگیری از خطاهای عملیاتی مشابه است با آنچه در لایه پاسخگویی جدید COGEXT برای انتقال وضعیت دیدیم تا از رفتارهای پیش‌بینی‌نشده عامل‌ها جلوگیری شود.

  • ریسک پایین/متوسط: پرس‌وجوها (Queries) به‌صورت پیش‌فرض ریسک پایین و عملیات نوشتن (Writes) ریسک متوسط دارند. اثرات جانبی قابل بازگشت — مانند set-policy (تنظیم سیاست)، rollback (بازگشت به عقب) یا prompt revert (بازگرداندن پرامپت) — در این سطح پیش‌فرض باقی می‌مانند. این ساختار به رابط کاربری اجازه می‌دهد تا مجوز «همیشه اجازه بده» (always allow) را به کاربر پیشنهاد کند.
  • ریسک بالا: اقدامات بازگشت‌ناپذیر به‌عنوان ریسک بالا علامت‌گذاری می‌شوند. برای مثال، هندلر delete-golden که یک نمونه مرجع (golden fixture) را برای همیشه حذف می‌کند تا دیگر نتوان از آن برای اجرای آزمایشی (dry-runs) استفاده کرد، در این دسته قرار می‌گیرد. همچنین هندلر edit که محتوای جدیدی را برای یک قالب پرامپت ذخیره می‌کند و این محتوا در اجرای بعدی دقیقاً به عنوان پرامپت سیستمیِ ویژگی دیگری تبدیل می‌شود، در زمره ریسک‌های بالا است.

برای ابزارهای پرریسک، حلقه مجوزها به‌طور کلی گزینه «همیشه اجازه بده» را رد می‌کند. کاربر همچنان می‌تواند یک فراخوانی واحد را تأیید کند، اما نمی‌تواند به عامل یاد بدهد که این شکل خاص از عملیات نوشتن برای همیشه مجاز است. این سازوکار دقیقاً شبیه مجوزهای اپلیکیشن‌های موبایل است؛ دسترسی به دوربین می‌تواند «همیشه» باشد، اما پاک کردن حافظه دستگاه هرگز. این سقف حفاظتی برای عاملی که می‌تواند دکمه‌ها را سریع‌تر از توان بررسی یک انسان فشار دهد، ضروری است. برای اطمینان بیشتر از صحت این مجوزها، می‌توان از آداپتور Universal Trust برای تأیید اعتبار سریع عامل‌ها استفاده کرد تا سطح دسترسی‌ها در لحظه اعتبارسنجی شوند.

حل شکست‌های خاموش

از آنجا که نبود توصیفات باعث ایجاد خطاهای کدنویسی سنتی نمی‌شود، «سکوت» به حالت شکست تبدیل می‌شود. در این حالت، عامل صرفاً «ضعیف» یا «کم‌توان» به نظر می‌رسد و توسعه‌دهندگان به‌ندرت برای موردی مثل «نبود رشته متنی در هندلر شماره ۱۴» تیکت ثبت می‌کنند. برای حل این مشکل، تیم «تست‌های شکاف» (Gap Tests) را به‌عنوان زنگ خطر پیاده کرد:

این متدولوژی برای مدیریت پاسخ‌های منفی نیز کاربرد دارد؛ همان‌طور که دسته‌بندی پاسخ‌های منفی برای جلوگیری از بداهه‌پردازی به مدل کمک می‌کند تا به‌جای حدس زدن، نبودِ ابزار یا داده را به‌درستی تشخیص دهد.

  • تست‌های شکاف مستندات (Doc Gap Tests): این تست‌ها تضمین می‌کنند هر ویژگی که برای عامل در نظر گرفته شده، حتماً توصیفی را اکسپوز (expose) کند. برای مثال، تستی برای createAiPipelineFeature([]) بررسی می‌کند که تعداد شکاف‌های مستنداتی صفر باشد.
  • تثبیت ریسک (Risk Pinning): تصمیمات مربوط به ریسک در مجموعه تست‌ها تثبیت شدند. آن‌ها به‌طور خاص تست می‌کنند که delete-golden حتماً ریسک بالا و set-policy ریسک متوسط باشد.

این تست‌ها تضمین می‌کنند که یک بازبینی کد (refactor) در آینده نتواند به‌طور بی‌صدا، یک حذف دائمی پرریسک را به یک اقدام ریسک متوسط تنزل دهد؛ زیرا این اتفاق به‌طور تصادفی آن ابزار را واجد شرایط مجوز «همیشه اجازه بده» می‌کند. تیم همچنین این بررسی (gap lint) را از طریق یک CLI روی کل پیکربندی برنامه اجرا می‌کند تا ویژگی‌های جدید مصرف‌کننده، پیش از آنکه حتی دمو شوند، در صورت نقص قرمز شوند.

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

گام بعدی شما

اگر در حال ساخت گردش‌کارهای عامل‌محور (agentic workflows) هستید، اولین قدم این است که از عامل خود بخواهید لیستی از تمام کارهایی که می‌تواند انجام دهد را بنویسد. این لیست را با هندلرهای واقعی نوشتن در کد خود مقایسه کنید؛ نام‌های گمشده تقریباً همیشه ناشی از نبود رشته‌های توصیفی هستند، نه نقص در مدل‌ها.

  • از عامل خود بخواهید لیستی از تمام کارهایی که می‌تواند انجام دهد را بنویسد.
  • این لیست را با هندلرهای واقعی کد خود مقایسه کنید؛ نام‌های گمشده معمولاً ناشی از نبود رشته توصیفی هستند، نه نقص مدل.
  • برای هر ابزار پرریسک، یک مکانیزم تأیید انسانی (Human-in-the-loop) تعریف کنید تا از حذف‌های تصادفی جلوگیری شود.

اما مدیریت این ابزارها در مقیاس بزرگ، چالش‌های جدیدی در زمینه حافظه ایجاد می‌کند — به تحلیل ما درباره‌ی پروتکل زمینه مدل (MCP) مراجعه کنید.

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

این یافته بر اساس تجربه عملی توسعه‌دهندگان، اهمیت «دقت در توصیفات» را به عنوان یک پیش‌نیاز فنی برای استفاده از ابزار (Tool Use) تثبیت می‌کند. نادیده گرفتن این جزئیات منجر به شکست‌های خاموشی می‌شود که عیب‌یابی آن‌ها در محیط‌های تولیدی بسیار دشوار است.

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

برای توسعه‌دهندگان ایرانی که در حال ساخت دستیارهای هوشمند با APIهای مختلف هستند، این یک یادآوری حیاتی است که کیفیت توصیفات ابزارها مستقیماً بر نرخ موفقیت فراخوانی توابع تأثیر می‌گذارد.

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

این گزارش نشان می‌دهد که در سیستم‌های عامل‌محور، مستندات فنی دیگر صرفاً برای انسان‌ها نیستند، بلکه بخشی از کد اجرایی (Executable Code) محسوب می‌شوند. جابه‌جایی تعریف ابزار از کد به مانیفست‌های متنی، نقطه ضعفی ایجاد می‌کند که در آن خطاهای منطقی به‌جای کرش کردن، به‌صورت «ناپدید شدن قابلیت» ظاهر می‌شوند. این یعنی تست‌های واحد (Unit Tests) سنتی برای اعتبارسنجی عامل‌ها کافی نیستند و ما به لایه‌ای از تست‌های ساختاری برای مانیفست‌ها نیاز داریم.

منابع

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

گفتگو

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

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

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

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

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

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

دات‌هوش

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

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