هوش مصنوعی به جای شما فکر نخواهد کرد. و این اتفاق خوبی است.
بسیاری از مردم انتظار دارند هوش مصنوعی مانند یک مهندس نرمافزار ارشد عمل کند. آنها میخواهند که هوش مصنوعی به تنهایی معماریها را انتخاب کند، بهترین روشها (best practices) را برگزیند و امنیت را مدیریت کند.
این انتظار اشتباه است.
یک LLM توکنهای بعدی را بر اساس دستور (prompt) شما پیشبینی میکند. هوش مصنوعی از شما پیروی میکند.
اگر اصول SOLID را نخواهید، هوش مصنوعی از آنها استفاده نخواهد کرد. اگر الگوی Repository Pattern را نخواهید، هوش مصنوعی آن را ایجاد نخواهد کرد. اگر یک API ساده بخواهید، هوش مصنوعی یک سیستم لایهبندیشدهی پیچیده نخواهد ساخت.
وقتی مبهم صحبت میکنید، هوش مصنوعی شروع به حدس زدن میکند. حدس و گمانها منجر به بروز مشکل میشوند.
هوش مصنوعی ممکن است کتابخانهای را انتخاب کند که شما نمیخواهید. ممکن است وابستگیهای (dependencies) غیرضروری اضافه کند. یا ممکن است باعث ایجاد vendor lock-in شود.
هوش مصنوعی باید دقیقاً همان چیزی را اجرا کند که شما میخواهید.
وقتی میخواهم به پروژهای لاگ اضافه کنم، نمیگویم: «لاگ اضافه کن.»
میگویم: «از Serilog استفاده کن. مستندات رسمی را دنبال کن. بهترین روشهای این کتابخانه را رعایت کن. با الگوی فعلی پروژه مطابقت داشته باش.»
حالا هوش مصنوعی بافت (context) را درک کرده است. او کتابخانه، مستندات و الگو را میشناسد.
همین موضوع در مورد کیفیت کد نیز صدق میکند. اگر فقط ویژگیهای جدید بخواهید، بدهی فنی (technical debt) افزایش مییابد. این تقصیر هوش مصنوعی نیست. من درخواست بازبینی کد (code review) یا سازماندهی مجدد پروژه را نداده بودم.
در پروژهام، Tiny Theft Auto، خودم رشد پروژه را مدیریت کردم. با یک فایل HTML شروع کردم. وقتی پروژه بزرگ شد، دستورات مشخصی دادم:
- اصل SRP را اعمال کن.
- کلاسها را در فایلهای مجزا قرار بده.
- ساختار را سازماندهی مجدد کن.
- یک بازبینی کد انجام بده.
- نقاط قابل بهبود را پیدا کن.
من تصمیمات را گرفتم. هوش مصنوعی وظایف را انجام داد.
در محیطهای حرفهای، شرکتها الگوهای خاصی برای لاگها، تست و مشاهدهپذیری (observability) دارند. من انتظار ندارم هوش مصنوعی این الگوها را حدس بزند. من مستندات یا قالب (template) را در اختیارش میگذارم. این کار مانع از آن میشود که هوش مصنوعی معماری از خودش در بیاورد و باعث میشود استانداردهای موجود را پیادهسازی کند.
طرز فکر خود را تغییر دهید.
تفکر خود را برونسپاری نکنید. فقط نیروی کار خود را برونسپاری کنید.
شما معماری را تعیین میکنید. شما مقیاسپذیری را تعیین میکنید. شما بهترین روشها را تعیین میکنید. شما کتابخانهها را تعیین میکنید.
هوش مصنوعی به شما کمک میکند این تصمیمات را سریعتر اجرا کنید. هوش مصنوعی مهندسی نیست که انتخابها را انجام دهد؛ بلکه یک ضریب افزایش بهرهوری برای افرادی است که میدانند چه چیزی میخواهند بسازند.
Source: https://dev.to/andredarcie/a-ia-nao-vai-pensar-por-voce-e-isso-e-uma-coisa-boa-5jj
Optional learning community: https://t.me/GyaanSetuAi
