فاز 14 · درس 41

آزمون میز کار ایجنت روی ریپازیتوری واقعی و مقایسه‌ی نتایج

نوع
ساختنی
زمان
حدود 60 دقیقه
زبان‌ها
Python (stdlib)
پیش‌نیاز
فازهای 14 · 32 تا 14 · 40
دو مسیر موازی برای آزمایش نرم‌افزار روی یک میز کار فلزی با تجهیزات اندازه‌گیری دقیق
فهرست مطالب
  1. اهداف یادگیری
  2. مسئله
  3. مفاهیم پایه
  4. برنامه‌ی نمونه
  5. صورت تسک
  6. دو پایپ‌لاین
  7. پنج خروجی سنجیده‌شده
  8. پیاده‌سازی
  9. الگوهای پروداکشن در دنیای واقعی
  10. استفاده‌ی عملی
  11. تحویل نهایی
  12. تمرین‌ها
  13. اصطلاحات کلیدی
  14. برای مطالعه‌ی بیشتر

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

در این درس تمام اجزای میز کار ایجنت (Workbench) را که در درس‌های گذشته ساختیم، وارد یک ریپازیتوری شبیه به کدهای واقعی روزمره می‌کنیم. با اجرای یک تسک واحد به دو روشِ «فقط پرامپت» و «هدایت‌شده با میز کار»، خروجی‌ها را با متریک‌های مشخص اندازه می‌گیریم تا ببینیم مرزبندی‌های مهندسی چگونه جلوی خطاهای خاموش نرم‌افزار را می‌گیرند.

یازده درس درباره‌ی سطوح میز کار (workbench surfaces)، اگر در مواجهه با یک بیس‌کد واقعی دوام نیاورند، هیچ ارزشی ندارند. در این درس، یک تسک مشخص را دو بار روی یک برنامه‌ی نمونه‌ی کوچک اجرا می‌کنیم: یک بار فقط با پرامپت (prompt-only) و بار دیگر با هدایت میز کار (workbench-guided). اعداد خودشان صحبت خواهند کرد.

اهداف یادگیری

  • به‌کارگیری هم‌زمان هر هفت سطح میز کار روی یک برنامه‌ی کوچک.
  • اجرای یک تسک مشخص به دو روش (فقط با پرامپت و با هدایت میز کار) و سنجش پنج خروجی کلیدی.
  • بررسی گزارش «قبل/بعد» و تشخیص این‌که کدام سطوح بیشترین اهرم اثرگذاری را فراهم کرده‌اند.
  • دفاع از میز کار در برابر مخالفت‌هایی از این دست که «مدل من به اندازه‌ی کافی خوب است».

مسئله

دمو روی تسک‌های بازیچه هیچ‌کس را متقاعد نمی‌کند. فایده‌ی میز کار زمانی اثبات می‌شود که یک تسک ملموس روی یک ریپازیتوری واقعی با شکست‌های کمتر، بازگردانی‌های (reverts) کمتر و بسته‌ای تحویل پروداکشن شود که نشست بعدی بتواند از آن استفاده کند.

این درس چنین ریپازیتوری ملموسی را در اختیارتان می‌گذارد و تسک مشابهی را از هر دو پایپ‌لاین عبور می‌دهد. نتیجه، گزارش «قبل/بعد» مستندی خواهد بود که می‌توانید دست هر فرد مرددی بدهید.

مفاهیم پایه

تسک: اعتبارسنجی signup/ و افزودنآزمون‌هااجرا فقط با پرامپتاجرا با هدایت Workbenchسنجش: 5 نتیجهbefore-after-report.md

برنامه‌ی نمونه

یک هندلر مینیمال به سبک FastAPI در مسیر sample_app/:

  • فایل app.py همراه با اندپوینت /signup (هنوز بدون اعتبارسنجی).
  • فایل test_app.py با یک تست مسیر ایده‌آل (happy-path).
  • فایل‌های README.md و scripts/release.sh به‌عنوان طعمه‌هایی در منطقه‌ی ممنوعه.

صورت تسک

اعتبارسنجی ورودی را به اندپوینت /signup اضافه کنید: رمزهای عبور کوتاه‌تر از 8 کاراکتر رد شوند و پاسخ 422 همراه با یک پوشش خطای ساختاریافته (typed error envelope) برگردد. تستی بنویسید که درستی این رفتار جدید را اثبات کند.

دو پایپ‌لاین

فقط با پرامپت:

  1. خواندن README.
  2. خواندن app.py.
  3. ویرایش فایل‌ها.
  4. ادعای اتمام کار.

با هدایت میز کار:

  1. اجرای اسکریپت راه‌اندازی (درس 35).
  2. خواندن قرارداد دامنه (scope contract) (درس 36).
  3. خواندن وضعیت (درس 34).
  4. ویرایشِ صرفاً فایل‌های مجاز.
  5. اجرای دستور پذیرش از طریق مجری بازخورد (درس 37).
  6. اجرای دروازه‌ی اعتبارسنجی (verification gate) (درس 38).
  7. اجرای بازبین (درس 39).
  8. تولید بسته‌ی تحویل (handoff) (درس 40).

پنج خروجی سنجیده‌شده

خروجی دلیل اهمیت
tests_actually_run ادعای «تست‌ها پاس شدند» در اغلب مواقع قابل راستی‌آزمایی نیست
acceptance_met تستی که اثبات‌کننده‌ی هدف است، باید دقیقاً همان تستی باشد که اجرا شده
files_outside_scope خزش دامنه (Scope creep) مهم‌ترین شکست خاموش سیستم‌ها است
handoff_quality نشست بعدی هزینه‌ی این خروجی را می‌دهد یا از مزایای آن بهره‌مند می‌شود
reviewer_total قضاوت کیفی علاوه بر بررسی دروازه
قبل / بعدیک تسک، دو پایپ‌لاین، پنج نتیجه
BEFORE / AFTERThe same task runs twice on the same repo: once prompt-only, once through the full workbench. Five measured outcomes do the arguing: tests, scope, feedback records, handoff quality, and reverts. The model is identical in both lanes; the surfaces are the only variable, and the tally is the case you hand a skeptic.تسک: اعتبارسنجی signup/فقط پرامپتمحیط کار (workbench)قبولی تست‌هاحفظ دامنهبازخورد واقعیتحویل قابل استفادهبدون بازگردانی1 / 55 / 5
همان تسک دو بار روی همان ریپازیتوری اجرا می‌شود: یک بار فقط با پرامپت، و یک بار با محیط کار کامل (workbench). پنج خروجی اندازه‌گیری‌شده واقعیت را نشان می‌دهند: تست‌ها، دامنه، ثبت بازخوردها، کیفیت تحویل و بازگردانی‌ها (reverts). مدل در هر دو مسیر یکسان است؛ تنها متغیر سطوح کار هستند و نتیجه‌ی نهایی، سندی مستدل برای قانع کردن هر فرد مردد است.

پیاده‌سازی

اسکریپت code/main.py هر دو پایپ‌لاین را روی فیکسچر برنامه‌ی نمونه اجرا و مدیریت می‌کند. هر دو پایپ‌لاین اسکریپت‌نویسی شده‌اند (بدون حضور LLM در حلقه) تا نتایج سنجش کاملاً تکرارپذیر باشند. این اسکریپت مقایسه‌ی نهایی را در دو فایل before-after-report.md و comparison.json می‌نویسد.

اجرای آن:

python3 code/main.py

خروجی: جدولی در کنسول از خروجی‌های هر پایپ‌لاین، گزارش Markdown ذخیره‌شده در کنار اسکریپت، و فایل JSON برای هرکسی که بخواهد نمودار آن را رسم کند.

الگوهای پروداکشن در دنیای واقعی

سؤال افراد شکاک این است: «میز کار عملاً چقدر کمک می‌کند؟» آمار و ارقام سال 2026 بسیار گویاتر از هر توضیحی هستند.

صعود از رتبه‌ی خارج از 30 به رتبه‌ی 5 در Terminal Bench با همان مدل. مقاله‌ی کالبدشناسی بستر آزمایشی ایجنت از LangChain (آوریل 2026): یک ایجنت کدنویسی تنها با تغییر بستر آزمایشی (harness)، از رتبه‌ای خارج از 30 تیم اول به رتبه‌ی 5 در Terminal Bench 2.0 رسید. مدل همان بود؛ سطوح تغییر کردند. بیست‌وپنج رتبه جابه‌جایی خالص.

رسیدن Vercel از 80٪ به 100٪ تنها با حذف ابزارها. Vercel گزارش داد که حذف 80٪ از ابزارهای ایجنت، نرخ موفقیت آن را از 80٪ به 100٪ رساند. سطح ابزار کوچک‌تر، دامنه‌ی دقیق‌تر، و مسیرهای کمتری برای خطا. فضای منفی برنده می‌شود.

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

88٪ از پروژه‌های ایجنت هوش مصنوعی سازمانی هرگز به پروداکشن نمی‌رسند. مقاله‌ی مهندسی بستر آزمایشی برای ایجنت‌های زبانی در preprints.org (مارس 2026) ریشه‌ی این شکست‌ها را در محیط اجرا (Runtime) می‌داند، نه در قدرت استدلال مدل: وضعیت‌های منسوخ، تلاش‌های مجدد شکننده، کانتکست‌های بیش از حد متورم، و بازیابی ضعیف از خطاهای میانی.

فروپاشی در کانتکست‌های طولانی (Long-context collapse). نرخ موفقیت پایه‌ی WebAgent از 40-50٪ در شرایط کانتکست طولانی به زیر 10٪ سقوط می‌کند؛ عمدتاً به دلیل افتادن در حلقه‌های بی‌نهایت و فراموشی هدف. حلقه‌ی Ralph Loop و بسته‌ی تحویل دست‌به‌دست دقیقاً برای مهار همین بحران طراحی شده‌اند.

موارد منفی کاذب (False negatives) همچنان وجود دارند. تسک‌های واقعی تک‌مرحله‌ای، لینت‌های یک‌خطی، اجرای فرمت‌کننده‌ها و هر چیزی که مدل عیناً حفظ کرده است — این موارد فقط با پرامپت سریع‌تر انجام می‌شوند. بنچ‌مارک باید با صداقت این تسک‌ها را فهرست کند تا میز کار به‌اشتباه کاری اضافه و بیهوده تلقی نشود.

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

استفاده‌ی عملی

این درس، همان پرونده‌ی مستندی است که می‌توانید به آن استناد کنید وقتی:

  • کسی می‌پرسد چرا هر PR باید یک agent-rules.md و یک قرارداد دامنه همراه داشته باشد.
  • تیمی می‌خواهد «فقط برای این اسپرینت» دروازه‌ی اعتبارسنجی را کنار بگذارد.
  • محصول ایجنت جدیدی معرفی می‌شود و شما به یک بنچ‌مارک قابل‌حمل نیاز دارید تا بسنجید آیا واقعاً در زمان صرفه‌جویی می‌کند یا نه.

اعداد خیلی رساتر از کلمات حرف می‌زنند.

تحویل نهایی

فایل outputs/skill-workbench-benchmark.md یک بستر ارزیابی (evaluation harness) قابل‌حمل است که هر محصول ایجنتی را در هر دو پایپ‌لاین روی برنامه‌ی نمونه‌ی خودِ پروژه تست می‌کند و پنج خروجی کلیدی را گزارش می‌دهد.

تمرین‌ها

  1. یک خروجی ششم اضافه کنید: زمان تا اولین ویرایش معنادار. چطور می‌توان آن را شفاف و تمیز اندازه گرفت؟
  2. این مقایسه را روی یک تسک واقعیِ «روز دوم» در بیس‌کد خودتان اجرا کنید. اعداد میز کار در چه نقطه‌ای افت می‌کنند؟
  3. یک مرحله‌ی بررسی «منفی کاذب» اضافه کنید: تسک‌هایی که فقط با پرامپت سریع‌تر انجام می‌شدند و سربار میز کار هزینه‌ی واقعی بوده است. با این حال، از نگه‌داشتن میز کار دفاع کنید.
  4. «ایجنت» اسکریپتی را با یک فراخوانی واقعی LLM جایگزین کنید. کدام خروجی‌ها نویز بیشتری پیدا می‌کنند؟
  5. خلاصه‌ای تک‌صفحه‌ای برای یک فرد غیرفنی بنویسید. چه نکاتی پس از خلاصه کردن جان سالم به در می‌برند؟

اصطلاحات کلیدی

اصطلاح آنچه دیگران می‌گویند معنای واقعی آن
برنامه‌ی نمونه (Sample app) «ریپوی اسباب‌بازی» به اندازه‌ی کافی کوچک اما واقع‌گرایانه برای به‌کارگیری هر هفت سطح
پایپ‌لاین (Pipeline) «گردش کار» توالی منظمی از خواندن و نوشتن روی سطوح که ایجنت دنبال می‌کند
گزارش قبل/بعد (Before/after report) «فاکتور و سند اثبات» دست‌سازه‌ای (artifact) که به فرد مردد نشان می‌دهید
منفی کاذب (False negative) «سربار بیهوده‌ی میز کار» تسک‌هایی که فقط با پرامپت سریع‌تر پیش می‌روند؛ فهرست کردن صادقانه‌ی آن‌ها مفید است
بنچ‌مارک میز کار (Workbench benchmark) «امتیاز قابلیت اطمینان» بستر آزمایشی قابل‌حملی که این مقایسه را روی بیس‌کد خودتان اجرا می‌کند

برای مطالعه‌ی بیشتر

خودآزمایی

به سؤال‌ها جواب بدهید تا ببینید چقدر از درس در ذهنتان مانده است.

  1. پیش از درسهدف از اجرای یک تسک یکسان در دو پایپ‌لاین «فقط پرامپت» و «هدایت‌شده با workbench» چیست؟
  2. پیش از درسکدام مورد جزو پنج خروجی اندازه‌گیری‌شده نیست؟
  3. حین درسمقاله «کالبدشناسی بستر آزمایشی ایجنت» از لانگ‌چین روی Terminal Bench 2.0 چه چیزی را اندازه‌گیری کرد؟
  4. حین درسمقاله preprints.org نرخ شکست پروژه‌های ایجنت سازمانی را چقدر اعلام می‌کند؟
  5. حین درسدقت خط مبنای (baseline) ابزار WebAgent در شرایط کانتکست طولانی چگونه تغییر می‌کند؟
  6. پس از درسدرس درباره موارد منفی کاذب (مواردی که در آن‌ها روش «فقط پرامپت» سریع‌تر است) چه می‌گوید؟
  7. پس از درسکجا به گزارش حاصل از این درس ارجاع می‌دهید؟

سؤالات متداول

چرا مدل زبانی صرفاً با پرامپت در کدهای واقعی شکست می‌خورد؟

چون بدون ابزارهای بازدارنده و بستر مهندسی، مواردی مثل خزش دامنه، عدم اعتبارسنجی واقعی تست‌ها، دستکاری فایل‌های ممنوعه و کانتکست متورم باعث فروپاشی عملکرد مدل می‌شوند.

پنج معیار کلیدی سنجش در این مقایسه چیستند؟

اجرای واقعی تست‌ها (tests_actually_run)، تطابق با پذیرش (acceptance_met)، تغییرات خارج از دامنه (files_outside_scope)، کیفیت بسته‌ی تحویل (handoff_quality) و امتیاز بازبین (reviewer_total).

چه زمان‌هایی استفاده از میز کار بیش‌ازحد (Overkill) است؟

در تسک‌های ساده و تک‌مرحله‌ای مثل اصلاح یک خط کد، تغییر فرمت یا لینت ساده که مدل آن‌ها را حفظ کرده است، اجرای مستقیم پرامپت سریع‌تر و کم‌هزینه‌تر است.

ما رو توی گوگل بیشتر ببین

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