تصور کنید یک برنامهنویس تازهکار را که سعی دارد با حدس و گمان از یک کتابخانه پیچیده استفاده کند؛ حالا همان شخص را تصور کنید که مستندات رسمی API را دقیقاً مقابل چشم دارد. تفاوت این دو وضعیت، دقیقاً همان جهشی است که انویدیا در نرخ موفقیت عاملهای کدنویس خود ایجاد کرده است: افزایش از ۱۹٪ به ۱۰۰٪. برای اثبات اینکه فایلهای پیکربندی منتخب (Curated Config Files) در SDKهای تخصصی عملکرد بهتری نسبت به تنظیم دقیق مدل (Fine-tuning) دارند، تیم NVIDIA DOCA در تاریخ ۱ اکتبر مجموعهای از مهارتهای عامل (Agent Skills) را در گیتهاب منتشر کرد.
در دنیای مهندسی نرمافزار حرفهای، اکثر توسعهدهندگان در حال حاضر هنگام بحث درباره اینکه آیا یک فایل قوانین واقعاً به یک عامل AI کمک میکند یا خیر، به شواهد پراکنده و تجربی تکیه میکنند. اما رویکرد انویدیا (NVIDIA) با تبدیل مشخصات فنی به مصنوعاتی نسخهمند و قابل تأیید، این بازی را تغییر داد. در حالی که بسیاری از تیمها از فایلهای دستورالعمل بزرگ و عمومی استفاده میکنند، انویدیا مشخصات را به عنوان ابزارهایی میبیند که باید قابل بازبینی و تأیید باشند. همانطور که در تحلیلهای قبلی ما دربارهی امنیت مدلهای بازمتن اشاره کردیم، کنترل دقیق روی ورودیها و زمینههای مدل، تنها راه کاهش خطاهای پیشبینیناپذیر است.
طبق گزارش این تیم، عاملها در ۶۵ پرامپت مختلف با استفاده از SDK مدل DOCA آزمایش شدند. برای هر دو تست، از عاملها و مدلهای یکسانی استفاده شد تا متغیرها کنترل شوند. نتایج تکاندهنده بود: بدون فایلهای مهارت، عاملها تنها ۱۹٪ از موارد چکلیست درجهبندی شده را پاس کردند. اما به محض بارگذاری این مهارتها در زمان استنتاج (Inference) — یعنی همان لحظهای که مدل واقعاً جواب تولید میکند و شبیه به خودِ آشپزی است، نه دورهی آموزش آشپز — نرخ موفقیت در تمام پرامپتها به ۱۰۰٪ رسید. نکته کلیدی این است که این موفقیت بدون هیچگونه تنظیم دقیق (Fine-tuning) و بدون استفاده از مدل جدید به دست آمد؛ فقط یک فایل مشخصات در اختیار عامل قرار گرفت که میتوانست در طول فرآیند کدنویسی آن را بخواند. این رویکرد در راستای تلاشهای گستردهتر انویدیا برای جایگزینی ارزیابیهای ذهنی با متدهای دقیقتر است، مشابه آنچه در تستهای ساختاری مدلهای Nemotron برای توقف توهمات مشاهده کردیم.
کالبدشکافی شکستهای عامل
این مطالعه یک تاکسونومی یا دستهبندی دقیق از شکستهایی ارائه داد که در نبود فایل مشخصات رخ میدهند. این خطاها دقیقاً مشابه مشکلاتی است که در توسعه وب مدرن رایج است، مانند توهم در کلیدهای پیکربندی در یک بیلد Next.js یا وارد کردن (Import) توابعی از نسخهای از یک کتابخانه که در واقع منتشر نشده است. این چالشها تداوم همان شکافهایی است که در بررسیهای اخیر درباره نرخ رد شدن وصلههای کدنویسی AI به دلیل خوشبینی بیش از حد مدلها به تواناییهای خود، مورد بحث قرار گرفت.
- توهمات API: در ۵۹ مورد از ۶۵ پرامپت، مدلها APIها یا فلگهای خیالی ساخته یا از آنها به صورت اشتباه استفاده کردند.
- نادیده گرفتن سختافزار: در ۴۶ مورد از ۶۵ پرامپت، عاملها پیش از نوشتن کد، قابلیتهای سختافزاری را بررسی نکردند.
- خطاهای مسیریابی: در ۳۹ مورد از ۶۵ پرامپت، هدف درست بود اما ابزار اشتباهی برای رسیدن به آن انتخاب شد (هدف درست، ابزار غلط).
- شکافهای فرآیندی: در ۳۴ مورد از ۶۵ پرامپت، تستهای اولیه و ضروری (Smoke Tests) نادیده گرفته شدند.
- حدس زدن نسخه: در ۳۰ مورد از ۶۵ پرامپت، شماره نسخهها اشتباه حدس زده شد که منجر به ایجاد فایلهای lock دروغین و ناسازگار گشت.

پیادهسازی فنی و محدوده
این بسته در مخزن مهارتهای انویدیا قرار دارد و برای هر جزء DOCA شامل Flow، GPUNetIO، RDMA و PCC تعریف شده است. هر مهارت در یک دایرکتوری سازمانیافته است که محور اصلی آن یک فایل SKILL.md است.
این فایلها زمینههای فنی حیاتی را فراهم میکنند که شامل موارد زیر است:
- امضاهای واقعی توابع (Function Signatures)
- الزامات مربوط به قابلیتهای سختافزاری
- محدودیتهای مربوط به فرآیند ساخت (Build Constraints)
- حالتهای شکست شناختهشده به همراه روشهای خاص برای کاهش اثرات آنها
انویدیا صراحتاً بیان میکند که این فایلها مستندات فشرده نیستند، بلکه مشخصاتی ماشینخوان هستند که عامل مستقیماً بر اساس آنها استدلال میکند. نکته حیاتی این است که طبق قوانین مشارکت، این بسته صرفاً جنبه راهنما دارد و هرگز کد تولید نمیکند. در واقع، «مهارت» کار را انجام نمیدهد؛ بلکه به عامل میگوید سطح واقعی API پیش از آنکه حتی یک خط کد نوشته شود، چگونه است.
دستاوردهای بهرهوری در محیط عملیاتی
فراتر از چکلیستها، انویدیا یک دموی مقایسهای (Side-by-side) برای ساخت یک برنامه Go اجرا کرد که ترافیک واقعی RDMA را روی سختافزار BlueField-3 ارسال میکرد. هر دو عامل در نهایت به موفقیت رسیدند، اما عاملی که به فایلهای مهارت دسترسی داشت، تنها ۱۸۹ خط کد نوشت، در حالی که عامل بدون مهارت به ۶۹۵ خط کد نیاز داشت.
این کاهش ۷۳ درصدی در حجم کد نوشته شده به معنای چرخههای اصلاح کمتر و عیبیابی سریعتر برای اپراتور انسانی است. عاملی که فاقد مهارت بود، کاملاً شکست نخورده بود، بلکه داشت از طریق آزمون و خطا API را دوباره کشف میکرد؛ و هر بار تلاش اشتباه، تبدیل به یک جلسه عیبیابی برای برنامهنویسی میشد که کنترل سیستم را در دست داشت. این بهینهسازی در حجم خروجی، یادآور راهکارهای انویدیا برای کاهش مصرف توکنها در عاملهای کدنویس است که بر اتوماسیون منطق کنترل تمرکز داشت.
چرا دانش در زمان استنتاج مقیاسپذیر است؟
مکانیزم فنی این روش بر این اصل استوار است که دانش در لایهای قرار دارد که عامل در زمان اجرا (Run time) آن را میخواند. وقتی API تغییر میکند، شما فقط فایل مهارت را بهروز میکنید، نه مدل را. این کار چرخه زمانبر آموزش مجدد و انتظار برای انتشار مدلهای بنیادی بعدی تا یادگیری ویژگیهای خاص یک فریمورک را حذف میکند.
این چرخش نشان میدهد که پیکربندی عاملها از یادداشتهای شخصی به سمت دستورالعملهای قابل انتقال (Portable Instructions) میرود. فرمت انویدیا از استاندارد باز agentskills.io پیروی میکند و به همین دلیل فایل SKILL.md با ابزارهایی مثل Claude Code، Codex و Cursor سازگار است. برای تضمین کیفیت، انویدیا یک مجموعه تست evals.json را همراه هر مهارت ارائه میدهد تا خودِ راهنما نیز مورد ارزیابی و نمرهدهی قرار گیرد.
ملاحظات صادقانه
باید توجه داشت که این یک ارزیابی توسط تولیدکننده (Vendor Evaluation) با سیستم نمرهدهی داخلی بوده است. انویدیا خودش ۶۵ پرامپت، چکلیستها و سیستم امتیازدهی را طراحی کرده است. عدد ۱۰۰٪ به معنای رضایت از موارد چکلیست است، نه لزوماً تولید نرمافزاری که در محیط عملیاتی کاملاً بدون نقص باشد.
علاوه بر این، DOCA بدترین سناریو برای مدلهای خام است چون یک SDK سختافزار-محور و سریع است که دادههای آموزشی آن در وب کم و قدیمی است. احتمالاً اثر این روش روی یک کدبیس React (که مدلها میلیونها نمونه از اپلیکیشنهای Next.js را دیدهاند) کمتر خواهد بود. بنابراین، جهش ۱۹ به ۱۰۰ باید به عنوان یک «جهت حرکت» و نشاندهنده اثرگذاری دیده شود، نه یک وعده تضمینشده برای هر پشته تکنولوژی.
گام بعدی شما
شما برای استفاده از این یافتهها نیازی به سختافزار BlueField ندارید. میتوانید همین کلاسهای شکست را در پیکربندی عاملهای خود هدف قرار دهید:
- نسخهها: حدس زدن را ممنوع کنید. دقیقاً ذکر کنید «فقط Next.js 15.x App Router» و مدل را مجبور کنید پیش از import، فایل
package.jsonرا بررسی کند. - تأیید قابلیتها: قانونی تعریف کنید که عامل باید وجود یک وابستگی را هم در
package.jsonو هم در lockfile تأیید کند. اگر موجود نبود، باید متوقف شده و سؤال بپرسد. - تعریف حقیقت ساخت: دستور دقیق ساخت را تعریف کنید (مثلاً
pnpm buildبهجایnpm run build) و اجرای آن را بعد از هر تغییر در پیکربندی اجباری کنید.
برای یک توسعهدهنده معمولی، یک پیکربندی کوچک با نسخههای تثبیتشده، بسیار ارزشمندتر از یک مجموعه دستورالعمل عظیم و قدیمی است. با نوشتن قوانینی که دقیقاً کلاسهای شکست اندازهگیری شده را هدف قرار میدهند، تیمها میتوانند «هزینه پنهان» عاملهای کم-مشخص (Under-specified) را کاهش دهند.
نتیجه نهایی روشن است: انویدیا منابع عظیمی برای مدلها دارد و با این حال تصمیم گرفت این مشکل را با فایلها حل کند و نه با آموزش. وقتی کسانی که توانایی تنظیم دقیق هر چیزی را دارند میگویند ارزانترین و قابلاعتمادترین راه، یک مشخصه تأیید شده در زمان اجرا است، این سیگنال قدرتمندی است که تلاش شما باید در کدام مسیر باشد. اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو