اکثر مهندسان از هوش مصنوعی استفاده میکنند، اما تعداد کمی با آن مهندسی میکنند.
امروزه اکثر مهندسان نرمافزار از هوش مصنوعی استفاده میکنند.
آنها از آن برای عیبیابی، نوشتن تستها یا تولید پرسوجوهای SQL استفاده میکنند. استفاده از هوش مصنوعی آسان است، اما مهندسی با هوش مصنوعی بسیار دشوارتر است.
من هنگام استفاده از هوش مصنوعی برای انجام وظایف واقعی در یک مخزن (repository)، متوجه مشکلی شدم. یک تغییر اشتباه فقط منجر به خروجی بد نمیشود؛ بلکه ساختار، تستها و قابلیت نگهداری آیندهی شما را از هم میپاشد.
بخش تولید کد آسان است. یک پرامپت (prompt) کلی، سریعاً کد تولید میکند و در نگاه اول تمیز به نظر میرسد.
نتایج مفید تنها زمانی حاصل میشوند که ابتدا کارهای خستهکننده را انجام دهید. شما باید:
- نیازمندیها را تعریف کنید.
- محدوده (scope) را مشخص کنید.
- محدودیتها را توضیح دهید.
- تصمیم بگیرید که چگونه تغییر را تأیید کنید.
مهارت اصلی، پرامپتنویسی نیست؛ مهارت اصلی، شکل دادن به کار است.
هوش مصنوعی سرعت خروجی را افزایش میدهد، اما کیفیت تأیید را بالا نمیبرد. اگر تولید کد سریعتر شود، نیازمندیهای نامشخص هزینهبرتر میشوند و بازبینیهای (reviews) ضعیف، خطرناکتر خواهند بود.
هوش مصنوعی چرخه مهندسی فعلی شما را تقویت میکند.
اگر نیازمندی نامشخص باشد، هوش مصنوعی باز هم چیزی تولید میکند. اگر معماری آشفته باشد، هوش مصنوعی همان آشفتگی را کپی میکند. اگر نتوانید خروجی را بازبینی کنید، سرعت به یک ریسک تبدیل میشود.
مسئله این نیست که آیا هوش مصنوعی جایگزین مهندسان میشود یا خیر. مسئله این است: وقتی کد ارزان باشد، کدام بخشهای مهندسی اهمیت بیشتری پیدا میکنند؟
پاسخ من: تفکر شفاف پیش از پیادهسازی.
هوش مصنوعی توصیههای قدیمی را مهمتر میکند:
- دو بار فکر کنید، یک بار کد بزنید.
- پیش از درخواست از هوش مصنوعی برای ساختن، مسئله را تعریف کنید.
- پیش از پذیرفتن یک پاسخ، موازنه (tradeoffs) را بررسی کنید.
- پیش از ادغام (merging)، رفتار کد را تأیید کنید.
مهندسی در حال تغییر از «نوشتن کد» به «شکل دادن به تغییر درست» است.
با هوش مصنوعی مانند همکاری رفتار کنید که به ساختار نیاز دارد. یک چرخه خوب به این صورت است: نیازمندی ← شکافها ← برنامه ← تغییر کوچک ← بازبینی ← بررسیها ← یادداشتها.
مهندسی واقعی تولید کد نیست؛ بلکه تولید تغییرات قابل اعتماد است.
مزیت در تولید بیشترین مقدار کد نیست؛ مزیت در دانستن این است که چه چیزی بسازید و چگونه آن را با سیستم خود تطبیق دهید.
مهندسانی که پیروز میشوند، سریعترین پرامپتنویسها نخواهند بود؛ بلکه کسانی هستند که جریانهای کاری (workflows) بهتری حول این ابزار طراحی میکنند.
Source: https://dev.to/jeelvankhede/most-engineers-use-ai-few-engineer-with-it-3pd
Optional learning community: https://t.me/GyaanSetuAi