قانون ۸۰/۲۰ در کدنویسی با هوش مصنوعی

هوش مصنوعی ۸۰ درصد از قابلیت (feature) من را در ۱۰ دقیقه نوشت. کد تمیز به نظر می‌رسید. منطق آن درست بود. در اولین تلاش کار کرد. حس خیلی خوبی داشتم.

اما هوش مصنوعی برای ۸۰ درصد اول مفید و برای ۲۰ درصد آخر بی‌فایده است.

هوش مصنوعی برای «مسیر خوش‌بینانه» (happy path) بهینه‌سازی می‌کند. آن برای دنیایی می‌سازد که در آن همه چیز درست پیش می‌رود. اما نرم‌افزار واقعی در دنیایی زندگی می‌کند که در آن همه چیز اشتباه پیش می‌رود.

اخیراً یک Sol Email Worker ساختم. هوش مصنوعی منطق اصلی، threading و routing را در ۲۰ دقیقه تولید کرد. آن بخش آسان کار بود.

آن ۲۰ درصد آخر به تخصص واقعی من نیاز داشت:

• حذف موارد تکراری (Deduplication): مدیریت پیام‌های تکراری. • منطق نادیده گرفتن فرستنده (Sender-skip logic): جلوگیری از پردازش پیام‌های خودمان. • بازیابی خطا (Error recovery): مدیریت پاسخ‌های غیرمنتظره API. • خروجی لاگ (Log output): امکان‌پذیر کردن عیب‌یابی (debugging) در ساعت ۲ صبح.

هوش مصنوعی همان کاری را انجام داد که از او خواستم. من فراموش کردم موارد خاص (edge cases) را درخواست کنم، چون هنوز به آن‌ها فکر نکرده بودم.

ما با یک مشکل اندازه‌گیری روبرو هستیم. ما تعداد خطوط کد و تیکت‌های بسته شده را دنبال می‌کنیم. این معیارها پاداشِ آن ۸۰ درصد سریع را می‌دهند. هیچ‌کس زمان صرف شده برای مدیریت خطا یا بررسی مقادیر تهی (null checks) را ردیابی نمی‌کند.

آن ۲۰ درصد در داشبورد دیده نمی‌شود، اما همان‌جاست که کار واقعی انجام می‌شود. من اکنون زمان «از پرامپت تا عرضه» (prompt-to-ship time) را ردیابی می‌کنم. این زمانی است که از اولین پرامپت تا رسیدن به یک قابلیت پایدار در محیط عملیاتی (production) طول می‌کشد. این عدد همیشه حداقل ۴ برابر زمان تولید توسط هوش مصنوعی است.

روش کار من اکنون به این صورت است:

  • برای هر وظیفه، ۴ برابر زمان هوش مصنوعی بودجه زمانی در نظر می‌گیرم.
  • برای «مسیر ناخوشایند» (unhappy path) پرامپت می‌نویسم. به هوش مصنوعی می‌گویم فرض کند شبکه قطع می‌شود یا API مقدار null برمی‌گرداند.
  • من پیش‌نویس اول را به عنوان نقطه شروع در نظر می‌گیرم، نه خط پایان.

آن ۳ ساعتی که پس از ۳۰ ثانیه تولید، صرف مدیریت خطا کردم، هدر نرفته بود. آن کارِ واقعی بود. هوش مصنوعی کار را از «نوشتن ساختار» به «واقعی کردن کد» تغییر داد.

واقعی کردن کد زمان‌بر است. این کار به بافت (context) خاص شما، کاربران شما و تاریخچه کد پایه (codebase) شما نیاز دارد. تخصص یعنی همین.

هوش مصنوعی در قلمروهای آشنا کار می‌کند. موارد خاص (edge cases) هر بار یک قلمرو ناآشنا هستند.

دفعه بعد که یک دموی هوش مصنوعی شما را تحت تأثیر قرار داد، بپرسید بعد از پایان دمو چه اتفاقی افتاد.

منبع: https://dev.to/amrree/the-8020-rule-of-ai-code-id

انجمن یادگیری اختیاری: https://t.me/GyaanSetuAi