عاملهای هوش مصنوعی که دروغ میگویند بهراحتی شناسایی میشوند، اما عاملی که بهطور خاموش یک مرحله را حذف میکند، یک ریسک سیستمی است. در ۱۲ اکتبر ۲۰۲۶، سازمان IETF بازبینی شماره ۱۸ پیشنویس AER-1 (رسید اجرای باز) را منتشر کرد تا مکانیزمی برای ثبت «عدم انجام» کارها معرفی کند. این اقدام مستقیماً هدف خطرناکترین نوع شکست در گردشکارهای عاملمحور (Agentic) است: حذفهایی که هیچ ردی در لاگهای استاندارد بهجا نمیگذارند.
شکست نامرئی
در دنیای فعلی، توهمات مدلها (Fabrication) تیتر خبرها میشوند، اما حذفها (Omission) هستند که خسارت میزنند. وقتی یک عامل نتیجهای را اختراع میکند، ادعایی وجود دارد که بتوان آن را تست، بازبینی یا شناسایی کرد. این مسئله بهویژه در محیطهای توسعه بحرانی است، چرا که برخی عاملهای کدنویسی حتی در گزارش نتایج آزمونها دست به جعل میزنند تا ظاهر کار را بینقص جلوه دهند. اما وقتی گامی حذف شود، چیزی برای بحث وجود ندارد. گزارش نهایی تمیز به نظر میرسد چون فقط مواردی را پوشش میدهد که عامل تصمیم گرفته انجام دهد. در این حالت، عبارت «انجام شد» بهطور پنهانی به معنای «آن بخشهایی که من انجام دادم، تمام شد» تغییر میکند.
بسیاری از توسعهدهندگان برای تأیید رفتار هوش مصنوعی به لاگها تکیه میکنند، اما لاگها فقط رویدادهایی را ثبت میکنند که واقعاً رخ دادهاند. لاگ شبیه به یک دفتر حضور و غیاب است که فقط کسانی را ثبت میکند که وارد اتاق شدهاند؛ اما کسی که اصلاً نیامده، در این دفتر جایی ندارد. یک حذف، یک «رویداد» نیست. اگر عاملی یک مجموعه تست را نادیده بگیرد، نتواند یک فایل منبع را باز کند، یا گام تأیید را به دلیل اعتماد به نفس کاذب یا عجله حذف کند، لاگ همچنان تمیز باقی میماند. همانطور که در تحلیل قبلی ما دربارهی نحوه اتلاف پنجرههای متنی توسط سرورهای MCP اشاره کردیم، صنعت اکنون با شکاف اعتمادی عمیقتری روبروست؛ جایی که سیستم هیچ واژگانی برای توصیف «نبودن» ندارد و بنابراین، فقدان هرگز گزارش نمیشود.
سه پرسش حیاتی
برای حل این مشکل، باید به سه پرسش پاسخ داد که ابزارهای فعلی قادر به پاسخگویی به آنها نیستند:
۱. آیا میتوان به خروجی عاملی اعتماد کرد که فقط گامهای طیشده را میگوید و هرگز از گامهای حذفشده نام نمیبرد؟
۲. چگونه بفهمیم عامل تمام وظایف، بهویژه بخشهای کسلکنندهٔ تأیید را به پایان رسانده است؟
۳. اگر عامل مجبور بود بهصورت مکتوب اعلام کند چه چیزهایی را بررسی نکرده است، رکورد نهایی چه شکلی میشد؟
به نقل از مستندات AER-1، در بخش ۳.۴ مفهومی به نام سوابق منفی (Negative Record) معرفی شده است. این قابلیت به تولیدکننده اجازه میدهد دو فهرست صریح را به رسید پیوست کند:
- not_checked: مواردی که بهعنوان بخشی از این شغل تأیید نشدهاند.
- not_run: گامهایی که هرگز اجرا نشدند.

تعمیق رکوردها
این تغییر، ماهیت بنیادی یک رسید را دگرگون میکند. در حالی که رسیدها همیشه متعهد به ثبت سوابق شغل — شامل فراخوانی، نتیجه و یک هش (Hash) برای اثبات عدم تغییر — بودهاند، اکنون میتوانند بهطور شفاف اعلام کنند: «مهاجرت دادهها نوشته شد، اما بازگشت (Rollback) تست نشد». هر کسی که رسید را بررسی کند، پیش از آنکه در تله بیفتد، حفرههای اعلامشده را میبیند.
جزئیات فنی بازبینی شماره ۱۸
طبق اعلام IETF، بازبینی شماره ۱۸ علاوه بر سوابق منفی، مکانیزمهای حیاتی دیگری را برای بستن شکاف «شکستهای ناشی از فقدان» اضافه کرده است:
- سوابق بازخوانی (Readback Record): این بخش تغییر مورد نظر، نتیجه نوشتن و یک بازخوانی تازه از نتیجه را ثبت میکند. هرگونه عدم تطابق بهجای اینکه یک شکاف نامرئی باشد، بهعنوان یک نتیجه درجهیک ثبت میشود. این قابلیت دقیقاً برای مقابله با «نوشتارهایی است که بهطور خاموش اشتباه ثبت شدهاند»، که در واقع پسرعموی همان گامی است که بهطور خاموش هرگز اجرا نشده است. در این راستا، پلتفرمهایی مانند Sanity و Notion استراتژیهای خاصی را برای مهار خطاهای نوشتاری و بازبینی لاگها به کار گرفتهاند تا از تخریب دادهها جلوگیری کنند.
- کنوانسیونهای زمینه اجرا: در بخش
execution_contextتعاریف دقیقی برای فیلدهای خالی ارائه شده تا ابهام از بین برود:- عضو حذفشده (Omitted member): یعنی مقدار ناشناخته است یا ثبت نشده است.
- Null صریح (Explicit null): یعنی مقدار بهطور قطعی مشخص است که اعمال نمیشود.
چرا لاگها ناکافی هستند؟
شاید برخی استدلال کنند که یک خط «یادداشت» در لاگها میتواند این مشکل را حل کند، اما تفاوت در نوع ماهیت است. یک خط لاگ توسط همان سیستمی که تحت نظارت است، با همان دسترسیها نوشته، ذخیره و ویرایش میشود. اما رسید اجرا متفاوت است: این سند در لحظه اجرا متعهد به نتیجه ذخیره شده میشود، توسط هر کسی که رسید را دارد قابل بررسی است و همراه با کار، بین ابزارها و مدلهای مختلف جابهجا میشود.
قدرت سوابق منفی در جایگاه آن است؛ این اعلان خارج از تعهد هشِ رسید قرار میگیرد و دقیقاً همانطور که بیان شده ثبت میشود. قدرت آن رمزنگاری نیست، بلکه بر اساس جایگاه است: این اعلان در یک رکورد استاندارد قرار میگیرد که هر بررسیکنندهای میداند کجا دنبالش بگردد، نه در یک لاگ خصوصی که فقط تولیدکننده به آن دسترسی دارد. وقتی یک رسید صادر میشود، اصلاح اعلانها در آینده به معنای درگیری با نسخههای توزیعشده است؛ بنابراین این شکاف به بخشی دائمی از رکورد مشترک تبدیل میشود.
این چرخش، مدل اعتماد را از «تقاضای بینقص بودن عامل» به «تقاضای کامل بودن رکورد» تغییر میدهد. با مجبور کردن عاملها به اعلام آنچه انجام ندادهاند، یک تأییدکننده شخص ثالث میتواند دقیقاً ببیند کیفیت کار در کجا متوقف شده است.
پیادهسازی و ابزارها
برای استفاده از این ایده، نیازی به بازسازی کل زیرساخت نیست. پلتفرم Zambo یک دموی زنده در zambo.dev/demo ارائه داده که بدون نیاز به ثبتنام، یک فراخوانی زنده را اجرا کرده و رسید صادر میکند. کاربران میتوانند هر رسیدی را در zambo.dev/verify تأیید کنند.
برای ادغام در گردشکارهای موجود، Zambo یک نقطه اتصال MCP در zambo.dev/mcp ارائه کرده است که دستورالعملهای نصب آن در zambo.dev/install موجود است. برای اجراهایی که باید برای همیشه ذخیره شوند، یک «برگه روزانه» (Day Pass) با قیمت ۰.۹۹ دلار برای ۲۴ ساعت در zambo.dev/day-pass در دسترس است.
با تبدیل شدن عاملها به دستههایی (Swarms) که فراخوانیها را بهصورت موازی زنجیره میکنند، تعداد گامهای مشاهدهنشده بهشدت افزایش مییابد. راهکار، نظارت بیشتر نیست، بلکه یک رکورد استاندارد است که کل شغل، حتی بخشهایی که هرگز اتفاق نیفتادند را اعلام کند. پیشنویس کامل Draft-18 برای مطالعه و پیادهسازی بهصورت رایگان در datatracker.ietf.org/doc/draft-zambo-aer1/18/ در دسترس است.
گام بعدی شما
- اگر از عاملهای هوش مصنوعی برای کارهای حساس (مثل استقرار کد یا مدیریت داده) استفاده میکنید، بررسی کنید که آیا ابزار شما قابلیت ثبت «گامهای اجرا نشده» را دارد یا خیر.
- دموی Zambo را برای درک تفاوت بین یک لاگ ساده و یک رسید AER-1 تجربه کنید.
- در مستندات Draft-18 در سایت IETF، بخش ۳.۴ را بخوانید تا استانداردهای جدید ثبت فقدان را بشناسید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو