تصور کنید کدی را در پروژه خود قرار دادهاید که دقیقاً کار میکند، اما هیچکس در تیم شما — حتی خودتان — نمیداند چرا کار میکند. این همان نقطهای است که سرعت تولید کد، امنیت و پایداری سیستم را میبلعد. در حالی که مهندسی نرمافزار اولویت خود را بر سرعت بهرهوری قرار داده است، اکنون پایداری سیستم با تنشی فزاینده روبروست.
به گزارش وبسایت dev.to در ۲۷ ژوئن ۲۰۲۶، مفهومی به نام «اصل کمترین هوش مصنوعی» (Principle of Least AI) معرفی شده است. نویسندگان این نقد استدلال میکنند که توسعهدهندگان امروز نه به دلیل اینکه مسئله واقعاً نیازمند این ابزارها باشد، بلکه صرفاً به دلیل در دسترس بودن آنها، به سراغ هوش مصنوعی زاینده (Generative AI) میروند — شبیه دستیاری که هر چه بگویید با اعتمادبهنفس تکرار میکند اما لزوماً حقیقت را نمیداند. این رویکرد با دیدگاهی همسو است که باید با دستیارهای کدنویسی AI مانند مهندسان تازهکار رفتار کرد تا نقش آنها در سطح تکمیلکننده باقی بماند و نه معمار سیستم.
زمینه
این رویکرد یادآور «اصل کمترین قدرت» (Principle of Least Power) در معماری نرمافزار است. این اصل پیشنهاد میکند که به جای استفاده از خیرهکنندهترین ابزار، سادهترین ابزاری که مسئله را حل میکند به کار گرفته شود. برای مثال، این اصل توصیه میکند که در صورت امکان یک اسکریپت ساده بنویسید به جای اینکه از یک فریمورک استفاده کنید، یا وقتی یک پایگاهداده بیش از نیاز است (Overkill)، از یک فایل متنی ساده استفاده نمایید. در واقع، ابزار باید متناسب با مسئله باشد، نه اینکه مسئله را به ابزار تطبیق دهیم.
در عصر فعلی که عاملهای هوش مصنوعی (AI Agents) — سیستمهایی که میتوانند بهطور مستقل تصمیم بگیرند و ابزارها را اجرا کنند — رایج شدهاند، ریسک «اتوماسیون بیش از حد» وجود دارد. این وضعیت زمانی رخ میدهد که توسعهدهندگان تصمیمگیریهای حیاتی را به مدلهایی میسپارند که برای «به نظر رسیدنِ متخصص» بهینهسازی شدهاند، نه لزوماً برای «درست بودن». طبق اعلام نویسندگان این گزارش، بسیاری از برنامهنویسان باسابقه در سال ۲۰۲۶ همچنان با تردید از این ابزارها استفاده میکنند؛ آنها از تامینکنندگان AI به دلیل عملگرایی بهره میبرند، اما از اعتماد به عاملها برای بازنویسی و اصلاح کدهای قدیمی و حساس (Legacy Code) خودداری میکنند.
بر اساس بررسیهای dev.to، هزینههای این وابستگی در سه محور متمرکز است:
جزئیات
- شکافهای قابلیت اطمینان: هوش مصنوعی دچار توهم (Hallucination)، ناهماهنگی و سوگیری میشود. این موارد اغلب باعث میشوند زمان مورد نیاز برای تایید و اعتبارسنجی کد، بیشتر از زمانی شود که اجرای دستیِ همان تکلیف در ابتدا میگرفت. برای مقابله با این چالش، توسعه مبتنی بر مشخصات به عنوان راهکاری برای حذف توهمات و افزایش ساختار در کدنویسی پیشنهاد شده است.
- کوری زمینهای: مدلها نمیتوانند بستر و کانتکست خاص یک کدبیس را فراتر از آنچه صریحاً در پرامپت توضیح داده شده است، درک کنند. این امر منجر به تولید کدهایی میشود که فقط «مسیرهای ایدهآل» (Happy Path) را میبینند و لبههای حساس کد (Edge Cases) را که دادههای آموزشی مدل احتمالاً هیچگاه با آنها مواجه نشدهاند، نادیده میگیرند. این نقص فنی دقیقاً همان جایی است که کدنویسی حسی در پروژههای AI با دیوار ۸۰ درصدی مواجه میشود و شکافی بین تولید کد و معماری واقعی ایجاد میکند.
- اصطکاک اقتصادی: هزینههای بالای استنتاج (Inference) — لحظهای که مدل واقعاً جواب تولید میکند و منابع سختافزاری مصرف میکند — و ناپدید شدن غیرقابلپیشبینی طرحهای رایگان (Free Tiers)، تکیه شدید به AI را به یک ریسک مالی برای پروژههای کمسرمایه تبدیل کرده است.
مکانیسمهای جایگزین
برای خروج از این چرخه، توسعهدهندگان تشویق میشوند که به روشهای کلاسیک مثل «دیباگ اردک لاستیکی» (Rubber Duck Debugging) بازگردند؛ یعنی توضیح بلند و شفاهی مسئله برای پیشبینی پاسخها. این فرآیند اغلب سریعتر از پرامپتنویسی برای AI و سپس بررسی خروجی است. استراتژیهای جایگزین دیگر عبارتاند از:
- پرامپتنویسی دقیق: پرسیدن «چگونه» به جای «چرا» برای دریافت پاسخهای کاربردیتر و دقیقتر.
- ابزارشناسی گزینشی: استفاده از تکمیلکنندههای ساده کد (Autocomplete) یا جستجو در مستندات موجود، به جای درخواست یک توضیح کامل و تولید شده از مدل.
- همکاری انسانی: مشورت با یک همکار پیش از سپردن مسئله به ابزاری که بدون درک واقعی، با اطمینان کامل جواب میدهد.
هدف این است که نقش هوش مصنوعی از یک «پاسخ نهایی» به یک «پیشنویس سریع» تغییر کند.
این تغییر به این معناست که کار واقعی یک مهندس در سال ۲۰۲۶ دیگر تولید کد نیست، بلکه اعتبارسنجی شکبرانگیز آن است. شما باید بپرسید «چه چیزی باید درست باشد تا خروجی AI کار کند» و شناسایی کنید که دادههای آموزشی مدل در کجا نتوانستهاند محیط خاص پروژه شما را پوشش دهند.
برای یک متخصص متوسط، این یعنی پذیرش این حقیقت که کارهای «کند» مثل پرسشگری و تصمیمگیری، جایی است که ارزش واقعی خلق میشود. تولید کد تنها یک گرم کردن است. تکیه بر اعتمادبهنفس یکنواخت و چاپلوسی مدلهای زبانی (LLMs) — که برای کمککننده بودن آموزش دیدهاند و بنابراین تمایل دارند صرفاً با کاربر موافقت کنند — یک حلقه بازخورد خطرناک از قطعیت کاذب ایجاد میکند. آنها حتی وقتی روش شما کاملاً غلط است، چیزی را میگویند که شما دوست دارید بشنوید.
در نهایت، تنها کسانی سیستم خود را بهطور کامل میشناسند که بین تولید AI و انتشار نهایی کد، یک فاصله حفاظتی ایجاد کنند. تمرکز باید از «اینکه AI چه کارهایی میتواند بکند» به «اینکه برای حل بهینه مسئله، به چه مقدار اندکی از AI نیاز است» تغییر یابد. نباید برای رسیدن به مقصد، وقتی دوچرخه کافی است، تانک به کار گرفت.
گام بعدی شما
- در پروژه بعدی خود، هر جا قصد استفاده از یک عامل پیچیده را دارید، بپرسید: «سادهترین ابزاری که این کار را انجام میدهد چیست؟»
- برای بررسی کدهای تولید شده توسط AI، یک چکلیست «لبههای حساس» (Edge Cases) بسازید تا نقاط کور مدل را پیدا کنید.
- تمرین کنید که ابتدا مسئله را برای یک همکار یا حتی یک شیء بیجان توضیح دهید و سپس از AI کمک بگیرید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو