بیش از ۵۰ سال است که ما دنیای دیجیتال را روی یک اصل ساده اما محکم بنا کردهایم: انسانها مسئله را تحلیل میکنند، کد مینویسند و هر بار که نیازها تغییر کرد، دستی دست به کد میشوند.
اما مقالهای جالب از نظر من که اخیراً منتشر شده (پایان مهندسی نرمافزار – ۲۰۲۶) ادعا میکند که ما به انتهای این دوران رسیدهایم! ظهور عاملهای هوش مصنوعی (AI Agents) صرفاً یک «ابزار جدید برای کدنویسی سریعتر» نیست، بلکه پایان پارادایم سنتی نرمافزار است.
سقف پیچیدگی؛ چرا نرمافزار سنتی به دیوار خورده است؟
فرد بروکس در کتاب معروف افسانه ماه-انسان به یک واقعیت تلخ اشاره میکند: پیچیدگی نرمافزار به صورت نمایی رشد میکند، اما ظرفیت مغز انسان ثابت است! وقتی یک پروژه بزرگ میشود، تعداد حالتها و وابستگیهای بین بخشهای مختلف آنقدر زیاد میشود که هیچ انسانی نمیتواند همه آنها را در ذهن خود نگه دارد. تا امروز، ما با معماریهای مدولار، میکروخدمات و متدولوژیهای چابک (Agile) سعی میکردیم این غول را مهار کنیم، اما واقعیت این است که فقط مرگ آن را به تاخیر میانداختیم.
در پارادایم سنتی، کد خودِ سیستم است و برای هر تغییر، انسان باید کد را بفهمد، دستکاری کند و تست کند.
عصر جدید: «کد» دیگر سیستم نیست، فقط یک «ابزار موقت» است!
در سیستمهای جدید عاملی (Agentic Systems)، مدلهای زبانی بزرگ (LLM) نقش موتور استدلال را بازی میکنند. اتفاقی که میافتد شگفتانگیز است: هوش مصنوعی مسئله را میفهمد، نیازش را تحلیل میکند، در همان لحظه برای حل آن کد مینویسد، آن را اجرا میکند و وقتی کارش تمام شد، آن کد را دور میاندازد!
در این دنیای جدید، کد دیگر یک محصول دائمی و ایستا نیست؛ بلکه مثل یک لیوان یکبارمصرف است که هوش مصنوعی برای رسیدن به هدفش از آن استفاده میکند و سپس دور میریزد.
از SaaS تا AaaS: سومین جهش بزرگ فناوری
اگر تاریخ نرمافزار را نگاه کنیم، همواره در حال «سپردن پیچیدگی به دیگران» بودهایم:
نرمافزار ۱.۰ (محلی/On-Premise): کد روی کامپیوتر خودتان اجرا میشد. نگهداری و نصب با خودتان بود (مثل ویندوز قدیمی).
نرمافزار ۲.۰ (SaaS/ابری): شرکتها کد و زیرساخت را در ابر نگهداری کردند و ما فقط حق اشتراک دادیم (مثل گوگلداکس یا اسلاک).
نرمافزار ۳.۰ (AaaS/عامل به عنوان خدمت): حالا ما حتی نحوه رسیدن به نتیجه را هم مشخص نمیکنیم! فقط میگوییم «چه نتیجهای میخواهیم» و خودِ عامل، مسیر، کد و اجرای آن را مدیریت میکند.
| نسل | سازوکار | کسی که پیچیدگی را به دوش میکشد | مدل درصدی/درآمدی |
| محلی (Local) | اجرا روی سیستم کاربر | کاربر نهایی | خرید لایسنس |
| ابری (SaaS) | اجرا روی سرورهای ابری | شرکت ارائهدهنده سرویس | اشتراک ماهانه/سالانه |
| عاملی (AaaS) | مدیریت و اجرای خودمختار توسط AI | خودِ عامل هوش مصنوعی (Agent) | پرداخت بر اساس «نتیجه تحویلی» |
نقشه راه آینده: ما کجای مسیر هستیم؟
این مقاله آینده را در ۴ مرحله تصویر میکند:
مرحله اول: ابزار کمکی (۲۰۲۳ – ۲۰۲۵) [همین امروز]: هوش مصنوعی مثل GitHub Copilot یا Claude به ما در تکمیل کد یا رفع باگهای کوچک کمک میکند.
مرحله دوم: خودمختاری در تکوظیفهها (۲۰۲۵ – ۲۰۲۷): ابزارهایی مثل Devin که میتوانند یک ویژگی را از صفر تا صد پیادهسازی کنند و ریکوئست بفرستند.
مرحله سوم: تیمهای چندعاملی (۲۰۲۶ – ۲۰۲۹): شبکهای از عاملهای تخصصی که مثل یک شرکت نرمافزاری واقعی با هم همکاری میکنند.
مرحله چهارم: زیستبومهای خودتکاملیافته (+۲۰۲۸): سیستمهایی که خودشان نقاط ضعف خود را پیدا میکنند، برای خودشان ابزار میسازند و بدون دخالت انسان رشد میکنند.
کلام آخر: برنامهنویسی از بین نرفته، بزرگتر شده است!
مهندسی نرمافزار سنتی رو به پایان است، اما این به معنی بیکار شدن مهندسان نیست؛ بلکه به معنی جهش سطح انتزاع است. همانطور که روزی از زبان اسمبلی به پایتون کوچ کردیم، امروز در حال کوچ از «نوشتن مستقیم کد» به «هدایت سیستمهای هوشمند» هستیم. برنده آینده کسی نیست که بهتر کد مینویسد، بلکه کسی است که بهتر مسئله را تعریف میکند و دستهای از عاملهای هوشمند را به سمت حل آن هدایت میکند.
نظر شما چیست؟ آیا فکر میکنید وقت آن رسیده که ابزارهای توسعهمان را تغییر دهیم، یا هنوز تا جایگزینی کامل برنامهنویسان فاصله داریم؟ در بخش نظرات بنویسید!