اگر برای بررسی کدهای خود به هوش مصنوعی اعتماد میکنید، احتمالاً خطرناکترین باگهای محیط عملیاتی را نادیده میگیرید. طبق گزارش یک توسعهدهنده .NET در ژوئن ۲۰۲۶، بررسیهای هوش مصنوعی تنها زمانی مؤثر میشوند که پیادهسازی کد را با «قراردادهای طراحی» صریح مقایسه کنند، نه اینکه فقط خودِ کد را بخوانند.
مدل زبانی بزرگ (LLM) — مثل کتابخانهداری که میلیاردها صفحه را خوانده و حالا با همان لحن کتابها جواب میدهد — در تحلیل کدهای تکهتکه عالی است. اما این مدلها معمولاً واقعیتهای عملیاتی، مثل طوفانهای اتصال TCP یا خطاهای مبهم SMTP را نادیده میگیرند. همانطور که در تحلیلهای پیشین ما دربارهی توهمات منطقی هوش مصنوعی اشاره کردیم، این مدلها تمایل دارند پاسخهای «محتمل» بدهند، نه لزوماً پاسخهای «صحیح».
این شکاف در کتابخانههای شبکهای بحرانی است؛ جایی که یک تلاش مجدد (Retry) بدون فکر، میتواند باعث تکرار پیامها یا از کار افتادن کل سیستم شود. به نقل از مستندات پروژه PooledMailKit، توسعهدهنده این ابزار از مدل Fable5 برای بررسی معماری استفاده کرد. در حالی که کد در ابتدا تمیز به نظر میرسید، هوش مصنوعی پس از دریافت اسناد طراحی، ۶ تناقض ساختاری بحرانی را شناسایی کرد:
- شکستهای عملیاتی: رد شدن پیامها (مثل آدرس ایمیل اشتباه) به اشتباه باعث فعال شدن زمان انتظار برای کل سرور میشد.
- ریسکهای ارسال: خطاهای رخداده هنگام پاکسازی استخر اتصالات (Pool)، ارسالهای موفق را به عنوان «شکست» گزارش میکردند؛ این یعنی احتمال ارسال ایمیل تکراری بالا بود.
- شکافهای منطقی: جایگزینی چند-میزبان (Multi-host failover) تنها زمانی کار میکرد که کاربر تنظیمات تکرار-در-سطح-ارسال را فعال کرده باشد؛ این مورد مستقیماً با قرارداد طراحی در تضاد بود.
- خطاهای وضعیت: ردیابی مراحل SMTP در منطق کد وجود داشت، اما از مسیر واقعی تولید جدا شده بود.

این تغییر، هوش مصنوعی را از یک «بررسیکننده استایل» — که فقط روی نامگذاریها و چک کردن مقادیر تهی (Null) تمرکز دارد — به یک «بررسیکننده قرارداد طراحی» تبدیل میکند. از نظر ما، سختترین بخش کدنویسی با کمک هوش مصنوعی دیگر نوشتن پرامپت نیست. چالش اصلی اکنون تبدیل قضاوتهای ذهنی و ضمنی به الزامات مکتوب است. بدون این قراردادها، هوش مصنوعی شکافها را با پیشفرضهای محتمل اما احتمالاً فاجعهبار پر میکند.
گام بعدی شما
- به جای ارسال صرفِ کد به مدل، یک نمودار توالی (Sequence Diagram) یا جدول طبقهبندی خطاها را به آن بدهید.
- از مدل بخواهید «انحرافات قراردادی» (Contract Drifts) بین قصد شما و پیادهسازی کد را شناسایی کند.
- مستندات طراحی را به عنوان منبع حقیقت (Source of Truth) در پرامپت تعریف کنید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است؛ به تحلیل ما دربارهی تراشههای Blackwell و تأثیرشان بر سرعت استنتاج مراجعه کنید.


گفتگو