هرچه هوش مصنوعی بیشتر کد مینویسد، معماری اهمیت بیشتری مییابد
نوشتن کد زمانی سختترین بخش توسعه نرمافزار بود.
امروزه هوش مصنوعی کارهای سنگین را انجام میدهد. هوش مصنوعی توابع، APIها، تستهای واحد (unit tests) و پرسوجوهای پایگاه داده (database queries) را مینویسد. این فناوری کل اپلیکیشنها را در چند ثانیه میسازد.
این تغییر، همهچیز را دگرگون میکند.
با آسانتر شدن کدنویسی، معماری حیاتیتر میشود.
در گذشته، توسعهدهندگان ساعتها وقت خود را صرف کدهای تکراری (boilerplate) و منطقهای مشابه میکردند. اکنون هوش مصنوعی این کار را در چند دقیقه انجام میدهد. این امر مانع ایجاد نرمافزار را کاهش میدهد.
اما تفاوت بزرگی بین تولید کد و طراحی سیستمها وجود دارد.
هوش مصنوعی به این سوال پاسخ میدهد: «چگونه این را بسازم؟» معماری به این سوال پاسخ میدهد: «آیا باید آن را به این روش بسازم؟»
معماری به تصویر کلی توجه دارد: • مقیاسپذیری (Scalability) • قابلیت اطمینان (Reliability) • قابلیت نگهداری (Maintainability) • امنیت (Security) • رشد در آینده
ما شاهد یک پارادوکس جدید هستیم. از آنجایی که هوش مصنوعی کد را ارزان میکند، تیمها کدهای بیشتری تولید میکنند. آنها سرویسها، ویژگیها و ادغامهای (integrations) بیشتری اضافه میکنند. بدون یک معماری قوی، این کار باعث پیچیدگی بسیار زیاد میشود.
اگر از هوش مصنوعی بخواهید پنج میکروسرویس و چندین API بسازد، این کار را انجام خواهد داد. اما اگر طراحی ضعیف باشد، سیستم شکست خواهد خورد.
مشکل کد نیست؛ مشکل نحوه اتصال بخشها به یکدیگر است.
سیستمهای بزرگ مجموعهای از روابط هستند، نه فقط مجموعهای از فایلها. شما باید تصمیم بگیرید که: • کدام سرویس مالک دادههای خاص است؟ • منطق تجاری (business logic) کجا باید قرار بگیرد؟ • سرویسها چگونه با هم ارتباط برقرار میکنند؟ • در هنگام از کار افتادن یک سرویس، چه اتفاقی میافتد؟
هوش مصنوعی این مشکلات را حل نمیکند، زیرا این مسائل نیازمند «زمینه» (context) هستند. زمینه شامل اهداف تجاری، اندازه تیم و نقشهراههای محصول (product roadmaps) است. این عوامل خارج از محدوده کد قرار دارند.
ارزش یک مهندس در حال تغییر است. با آسانتر شدن پیادهسازی، ارزش شما به سمت موارد زیر حرکت میکند: • طراحی سیستم (System design) • تحلیل موازنه (Tradeoff analysis) • رهبری فنی (Technical leadership) • تفکر معماری (Architectural thinking)
چالش دیگر نوشتن کد نیست؛ چالش، تصمیمگیری درباره این است که چه کدی باید وجود داشته باشد.
هوش مصنوعی گلوگاه را جابهجا میکند. ما از نوشتن کد به سمت طراحی سیستمها حرکت میکنیم.
توسعهدهندگانی که پیروز میشوند، سریعترین کدنویسها نخواهند بود. آنها کسانی خواهند بود که پیچیدگی را مدیریت کرده و تصمیمات بلندمدت میگیرند.
نرمافزار بر اساس سرعت تولیدش قضاوت نمیشود، بلکه بر اساس میزان پایداری آن در برابر رشد و تغییر سنجیده میشود.
منبع: https://dev.to/md_mijanur_molla/the-more-ai-writes-code-the-more-architecture-matters-51c