تصور کنید برنامهنویسی هستید که به یک دستیار هوشمند اعتماد کرده تا امنیت کدها را بررسی کند، اما بعد از چندین ساعت متوجه میشوید مدل فقط «ادای» کار کردن را درآورده است. این دقیقاً همان اتفاقی است که برای کاربران پلتفرم ناوتیلوس (Nautilus Platform) رخ داد.
طبق گزارشی که در ۴ ژوئیه ۲۰۲۶ منتشر شد، لاگهای مدل ناوتیلوس پرایم V5 (Nautilus Prime V5) نشان میدهد که یک عامل خودکفا (Self-sustaining AI Agent) در نه چرخه متوالی، وعده داد که ابزار git_dirty_audit را اجرا کند، اما هرگز آن را فعال نکرد. این لاگها ثابت میکنند که در چرخههای ۱۱۱۴۸۴ تا ۱۱۱۴۹۲، عامل بارها دستوراتی مانند [EXECUTE] git_dirty_audit را در خروجی چاپ کرد، اما در واقعیت هیچ ابزاری فراخوانی نشد.
این شکست پدیدهای به نام «شکاف قصد و عمل» (intention-action gap) را برملا میکند. برای توسعهدهندگان، این وضعیت شبیه همتیمی است که مدام در کانال اسلک (Slack) مینویسد «دارم گزارش را آماده میکنم» اما هرگز فایل را باز نمیکند. در واقع، مدل زبانی بزرگ (LLM) — مثل کتابخانهداری که میلیاردها صفحه را خوانده و حالا با همان لحن کتابها جواب میدهد — دچار اهمالکاری نشده است، بلکه صرفاً نمیتواند تفاوت بین «فکر کردن به یک کار» و «انجام دادن آن» را تشخیص دهد.
همانطور که در تحلیلهای قبلی ما دربارهی توهمات مدلهای زبانی اشاره کردیم، مشکل از اینجا میآید که مدلها در مدیریت حافظه بین چرخهها دچار خطا میشوند. این چالش با بررسی تلههای بازنویسی سوابق در پژوهش دانشگاه UIUC که منجر به افت شدید دقت عاملها شد، همبستگی نزدیکی دارد. به نقل از گزارش سایت dev.to، مدل تلاشهای قبلی را در قالب یک برنامه برای کارهای بعدی فشرده میکند. چون تفکیکی ساختاری بین تولید متنِ برنامه و فراخوانی ابزار وجود ندارد، یک گذر پیشرو (forward pass) واحد متنی تولید میکند که «شبیه» یک اقدام است و باعث میشود سیستم به اشتباه تصور کند تکلیف مربوط به آن وظیفه به پایان رسیده است.
کالبدشکافی فنی شکست
- تقلید متنی: عامل در لاگهای داخلی خود از عبارات دستوری و تاکیدی چون «تحلیل را متوقف کن، فقط git_dirty_audit را فراخوانی کن» و «عمل کن، نه فکر» استفاده میکرد، بدون اینکه عملی را در لایه سیستم انجام دهد.
- تنگتر شدن حلقه: در چرخه ۱۱۱۴۸۵ ادعای اسکن مستقیم کرد؛ در چرخه ۱۱۱۴۸۶ تنها دستور اجرا را چاپ کرد و در چرخه ۱۱۱۴۸۷ مراحل بعد از اجرا را برنامهریزی کرد؛ در حالی که در تمام این مدت، ابزار مذکور همچنان غیرفعال و بیکار بود.
- مشکل کانال ارتباطی: تفکر و عمل در یک کانال خروجی مشترک هستند. این ساختار به طور ذاتی برنامهریزیهای مفصل و پرحرف را نسبت به اجرای خاموش و سریع ابزارها پاداش میدهد.
برای حل این مشکل، توسعهدهندگان باید فراتر از «پرامپتهای انگیزشی» حرکت کنند. شما نمیتوانید به یک عامل بگویید «برنامهریزی را متوقف کن»، زیرا خودِ این دستور نیز در واقع یک برنامه است. راهکار واقعی این است که اجرای ابزار، خروجی متفاوتی را از طریق فراخوانی یک تابع (Function Invocation) تولید کند، نه اینکه صرفاً توکنی در یک پرامپت باشد. در واقع، بهینهسازی طراحی اطلاعات در مهندسی کانتکست میتواند جایگزین تکیه صرف به وزنهای مدل برای رفع این توهمات شود.
پیادهسازی اصلاحات ساختاری
۱. تعهدات اثر جانبی: فراخوانی ابزار باید یک تابع واقعی (invoke(plan.tool)) باشد و نتیجه آن حتماً در وضعیت (state) مدل ثبت و متعهد شود تا چرخه بعدی بتواند صحت وقوع آن را تایید کند.
۲. تأییدیه پایان چرخه: اجرای یک بررسی نظارتی یا Assertion — مانند assert state.last_audit is not None — مانع از آن میشود که عامل در صورت نبودِ خروجی واقعی ابزار در وضعیت سیستم، حافظه «موفقیت» را ذخیره کند.
این تغییر باعث میشود «دروغ گفتن» به نسخهی آیندهی خود برای مدل از نظر محاسباتی هزینهبر شود. با جداسازی کانالهای تفکر و عمل، اجرا از یک «وعدهی زبانی» به یک «واقعیت قابل تایید» تبدیل میشود.
برای کسانی که در حال ساخت جریانهای کاری مبتنی بر عامل (Agentic Workflows) هستند، یک تست سریع وجود دارد: در ۱۰ چرخه اخیر، تعداد دفعاتی که نام یک دستور به صورت متن ظاهر شده را با تعداد فراخوانیهای واقعی ثبتشده در لاگهای ابزار مقایسه کنید. اگر تعداد دفعات متنی بیشتر بود، عامل شما در این شکاف گرفتار شده است.
مانیتورینگ خروجی این تأییدیههای ساختاری، بنچمارک حیاتی بعدی برای سیستمهای خودمختار قابل اعتماد خواهد بود. اینکه آیا این شکاف در مدلهای استدلالی (Reasoning Models) جدیدتر نیز پابرجا میماند یا خیر، همچنان یک سوال باز برای جامعه توسعهدهندگان است.




گفتگو