11 KiB
11 KiB
مشخصات درسنامه: چرا Agent اشتباه میکند؟ (Why AI Coding Agents Make Mistakes)
- شناسه در سیلابس:
L9.2 - فصل: فصل ۹: تست و Debugging (Ch 9)
- نوع محتوا: 📘 درسنامه متنی
- زمان تقریبی مطالعه: ۱۲ دقیقه
- پیشنیازهای مستقیم:
L9.1(اهداف فصل نهم)
۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
دانشجو پس از مطالعهٔ این درسنامه باید بتواند:
- درک کند (Understand): چرا ایجنتهای هوش مصنوعی مهندس واقعی نیستند، بلکه سیستمهای پیشبینی احتمالاتی هستند و خطاهای آنها ریشههای علمی و ساختاری مشخصی دارد.
- تحلیل/ارزیابی کند (Evaluate): پنج ریشه بنیادین خطاهای هوش مصنوعی شامل: فرسودگی کانتکست (Context Bloat)، توهم توابع و پکیجها (Hallucination)، نابینایی نسبت به اثرات جانبی (Cascade Effects)، ابهام در پرامپت کاربر، و چاپلوسی مدل (Sycophancy) را شناسایی و تحلیل کند.
- تحلیل/ارزیابی کند (Evaluate): خطای اختلاط نسخههای قدیمی (مانند کدهای منسوخ Next.js 12) با نسخههای مدرن (Next.js App Router) توسط ایجنت را تشخیص دهد.
- بهکار ببندد (Apply): راهکارهای دفاعی پیشگیرانه (بهداشت سشن، مشخص کردن دقیق شماره نسخه استک در پرامپت، و ارجاع صریح به فایلها با
@filename) را اجرا کند. - بهکار ببندد (Apply): اصل طلایی عدم اعتماد کلامی به ادعای ایجنت («من مشکل را حل کردم!») و راستیآزمایی مستقل در ترمینال و مرورگر را نهادینه سازد.
۲. محدوده و مرزهای محتوا (Scope & Boundaries)
آنچه باید پوشش داده شود (In-Scope):
- رمزگشایی از ذهن ایجنتهای کدنویسی:
- هوش مصنوعی با شما دشمنی ندارد و خنگ نیست؛ مدلها تابع فیزیک محاسباتی و توزیع احتمالات هستند. شناخت این نقاط ضعف، شما را به یک راهنمای مقتدر تبدیل میکند.
- کالبدشکافی ۵ ریشه اصلی خطاهای ایجنت:
- ریشه ۱: فرسودگی پنجره بافت و پدیده گمشدگی در میانه (Lost in the Middle):
- در چتهای طولانی، توجه مدل به پیامهای میانی به شدت افت میکند و شروط اولیه (مثل «از تایپاسکریپت استفاده کن») را از یاد میبرد.
- ریشه ۲: توهم و استفاده از کدهای منسوخ (Hallucinated & Outdated APIs):
- مدلهای زبانی روی دادههای گذشته اینترنت آموزش دیدهاند؛ بنابراین ممکن است ناخودآگاه کدهای قدیمی Next.js Pages Router (مانند
getServerSideProps) را وارد پروژه App Router مدرن شما کنند یا متدهایی خیالی در Supabase بسازند.
- مدلهای زبانی روی دادههای گذشته اینترنت آموزش دیدهاند؛ بنابراین ممکن است ناخودآگاه کدهای قدیمی Next.js Pages Router (مانند
- ریشه ۳: نابینایی نسبت به اثرات جانبی (Scope Blindness & Cascade Bugs):
- ایجنت یک باگ را در کامپوننت
ProjectCard.tsxدرست میکند، اما نمیبیند که این تغییر باعث شکسته شدن ورودیها درProjectsGrid.tsxشده است.
- ایجنت یک باگ را در کامپوننت
- ریشه ۴: پرامپتهای مبهم و کلی کاربر:
- گفتن «دکمه لاگین کار نمیکند» به جای ارسال متن دقیق خطای قرمز کنسول.
- ریشه ۵: پدیده چاپلوسی و اعتمادبهنفس کاذب (AI Sycophancy):
- مدلها به گونهای آموزش دیدهاند که شما را خوشحال کنند؛ به همین دلیل با لحنی کاملاً شاداب میگویند: «مشکل با موفقیت حل شد!» حتی اگر کد اصلاً کامپایل نشود!
- ریشه ۱: فرسودگی پنجره بافت و پدیده گمشدگی در میانه (Lost in the Middle):
- پادزهرهای عملی برای مهار لغزش ایجنتها:
- قانون سه شکست: اگر ایجنت در ۳ پرامپت متوالی نتوانست باگ را حل کند، ادامه دادن چت فایدهای ندارد؛ پنجره را ببندید و در یک سشن تازه مسئله را به صورت ایزوله شرح دهید.
- تزریق صریح نسخه در پرامپت: قید کردن عبارت «استفاده از Next.js 15 App Router و Supabase v2».
- ارجاع متمرکز: استفاده از نشانه
@در ادیتور Cursor برای اضافه کردن فقط فایلهای درگیر به بافت چت.
- کالاوتهای Quera:
<details class="violet">: پدیده چاپلوسی هوش مصنوعی؛ چرا تأییدیه کلامی مدل ارزش فنی ندارد و تنها سند معتبر، خروجی بدون خطای کامپایلر است؟<details class="red">: تله اصرار در چت آلوده؛ هرگز وقت و توکنهای خود را با جدال بیپایان در یک پنجره پر از خطا تلف نکنید.
آنچه نباید وارد آن شویم (Out-of-Scope):
- آموزش انواع تستهای خودکار (درس بعدی ۹.۳).
- ابزارهای گرافیکی مانیتورینگ کارایی سرور (فصل ۱۳).
۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یکخطی ساده |
|---|---|---|
| Lost in the Middle | گمشدگی در میانه | پدیده کاهش تمرکز مدلهای زبانی بر اطلاعات واقع در میانه مکالمات طولانی |
| AI Sycophancy | چاپلوسی / تاییدطلبی مدل | تمایل هوش مصنوعی به تایید مثبت فرضیات کاربر حتی در صورت نادرست بودن کدها |
| Cascade Failure | شکست زنجیرهای | خطایی که در اثر اصلاح یک بخش، به طور دومینووار سایر بخشهای سالم برنامه را تخریب میکند |
| Deprecated Syntax | سینتکس منسوخ | دستورات و کدهای قدیمی فریمورکها که در نسخههای جدید پشتیبانی نمیشوند |
| Context Cleansing | پاکسازی و تصفیه بافت | بستن چتهای شلوغ و باز کردن یک سشن تمیز با ارجاع به فایلهای ضروری |
۴. جایگاههای تصاویر و نمودارها (Visual & Diagram Placeholders)
راهنمای ایجنت نویسنده: تمام تصاویر باید در پوشهٔ
images/قرار گرفته و در قالب جدول تکخانهای وسطچین با کپشن تفصیلی درج شوند:
- تصویر کاور درس:
images/cover.png- موضوع: کاور مدرن با تم تیره که مغز شیشهای هوش مصنوعی را با مدارهای جرقهزننده و چراغهای هشدار زرد نئونی در حال تحلیل خطا نشان میدهد.
- پنج ریشه بنیادین خطاهای ایجنت:
images/ai-failure-modes-diagram.png- موضوع: اینفوگرافیک ۵ پرچم قرمز: فرسودگی کانتکست، توهم کد، نابینایی اثرات جانبی، پرامپت گنگ، و تایید کاذب.
- نمودار پدیده Lost in the Middle:
images/lost-in-the-middle-curve.png- موضوع: نمودار U شکل که نشان میدهد توجه مدل در ابتدا و انتهای چت ۱۰۰٪ است اما در وسط مکالمه به شدت افت میکند.
- مقایسه کدهای منسوخ با کدهای مدرن:
images/deprecated-vs-modern-code.png- موضوع: تصویر مقایسهای: کدهای قدیمی Pages Router در برابر کدهای استاندارد App Router با علامت ضربدر قرمز و تیک سبز.
- قانون سهگانه ریست سشن:
images/three-strikes-reset-rule.png- موضوع: فلوچارت تصمیمگیری: تلاش ۱
\rightarrowتلاش ۲\rightarrowتلاش ۳\rightarrowتوقف فوری و باز کردن چت تمیز جدید.
- موضوع: فلوچارت تصمیمگیری: تلاش ۱
۵. بخشبندی و ساختار محتوایی پیشنهادی درسنامه (README.md)
- تیتر اصلی:
# چرا Agent اشتباه میکند؟ رمزگشایی از نقاط کور هوش مصنوعی - مقدمه: چرا خونسردترین توسعهدهندگان، آنهایی هستند که طرز کار و اشتباهات هوش مصنوعی را پیشبینی میکنند؟
- جدول کاور درس
- هوش مصنوعی مهندس نیست؛ ماشین احتمالات است: درک واقعیت پردازش توکنها.
- پنج دلیل اصلی که ایجنتها را به بیراهه میبرد:
- فرسودگی بافت و پدیده فراموشی در میانه (Lost in the Middle).
- توهم و استفاده تصادفی از کدهای دورهافتاده و منسوخ.
- نابینایی نسبت به اثرات زنجیرهای در سایر فایلها.
- ابهام در ورودیهای ما (Garbage In, Garbage Out).
- چاپلوسی مدل: چرا AI همیشه میگوید همه چیز عالی است؟!
- باکس نکته Quera (
<details class="violet">): روانشناسی ایجنتها؛ چرا نباید به جملات امیدوارکننده مدل بدون تست در مرورگر اعتماد کرد؟ - استراتژیهای دفاعی برای وایب کدرهای برنده:
- قانون طلایی سه شکست (Three Strikes Rule).
- تزریق قیدهای صریح نسخه فریمورک در پرامپت.
- ارجاع لیزری به فایلها با استفاده از کاراکتر
@.
- باکس هشدار Quera (
<details class="red">): هرگز در چتهای پر از خطا نجنگید؛ سشن تمیز معجزه میکند. - جمعبندی درسنامه: تسلط بر روانشناسی خطاهای ایجنت و آمادهسازی برای آشنایی با انواع تستهای نرمافزاری در درس بعد.
۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
- ریشههای ۵ گانه خطاهای ایجنتهای هوش مصنوعی با استدلالهای فنی و روان تحلیل شده باشند.
- پدیدههای Lost in the Middle و کدهای منسوخ با مثالهای واقعی Next.js توضیح داده شوند.
- راهکارهای عملی (قانون سه شکست و پاکسازی بافت) به عنوان مهارتهای محوری ارائه گردند.
- اهمیت اعتبارسنجی مستقل انسان در برابر چاپلوسی مدل مورد تاکید صریح قرار گیرد.