۲۹ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

اجتناب از خطرات کدهای تولید شده توسط هوش مصنوعی

هوش مصنوعی مولد قول می دهد که برای توسعه نرم افزار تحول آفرین باشد، اما تنها در صورتی که اطمینان حاصل کنیم که همه کدها تجزیه و تحلیل، آزمایش و بررسی می شوند.

هوش مصنوعی مولد قول می دهد که برای توسعه نرم افزار تحول آفرین باشد، اما تنها در صورتی که اطمینان حاصل کنیم که همه کدها تجزیه و تحلیل، آزمایش و بررسی می شوند.

۲۰۲۳ برای توسعه دهندگان و هوش مصنوعی مولد یک سال پرکار بوده است. GitHub Copilot از مرحله پیش‌نمایش فنی خود در ژوئن ۲۰۲۲ فارغ‌التحصیل شد و OpenAI ChatGPT را در نوامبر ۲۰۲۲ منتشر کرد. طبق نظرسنجی Sourcegraph، فقط ۱۸ ماه بعد، ۹۵٪ از توسعه دهندگان گزارش می دهند از هوش مصنوعی مولد برای کمک به آنها در نوشتن کد استفاده کنید. هوش مصنوعی مولد می‌تواند به توسعه‌دهندگان کمک کند تا کدهای بیشتری را در مدت زمان کوتاه‌تری بنویسند، اما باید در نظر داشته باشیم که این کار چقدر خوب است.

وقتی در مورد ابزارهای هوش مصنوعی برای توسعه نرم افزار صحبت می کنیم، در حال حاضر بیشتر به معنی ChatGPT و GitHub Copilot، اگرچه رقابتی از سوی Google Bard، Amazon CodeWhisperer، و Cody سورسگراف. توسعه دهندگان با استفاده از هوش مصنوعی مولد برای رفع مشکلات رایج، تکراری و کم پیچیدگی کدنویسی به موفقیت دست یافته اند. با این حال، این دستیارها در درک مبانی کد پیچیده، تشخیص الگوهای پیچیده، و تشخیص مسائل و آسیب‌پذیری‌های پیچیده کوتاهی می‌کنند.

براساس تحقیقات اولیه GitHub در مورد استفاده از Copilot، توسعه دهندگان به طور قابل اندازه گیری سریعتر کد می نویسند و خود را سازنده تر، کمتر ناامیدتر و رضایتمندتر می دانند. چه چیزی ممکن است اشتباه رخ دهد؟

کد ناامن ایجاد شده توسط هوش مصنوعی

یک مطالعه از استانفورد تقریباً در همان زمان نشان داد که شرکت‌کنندگانی که به دستیار هوش مصنوعی دسترسی داشتند احتمال بیشتری دارد که کد ناامن بنویسند و در مقایسه با گروه کنترل به احتمال بیشتری به پاسخ های خود به عنوان ایمن رتبه می دهند. در همین حال، یک بررسی توسط Sauce Labs نشان داد که ۶۱٪ از توسعه دهندگان اذعان می کنند که از آزمایش نشده استفاده می کنند. کد تولید شده توسط ChatGPT، با ۲۸٪ این کار به طور منظم.

Visual Studio Code API پوشش آزمایشی را نهایی می کند

بنابراین، توسعه‌دهندگان با کمک هوش مصنوعی مولد کد را سریع‌تر می‌نویسند و تعداد بیشتری از آن را تولید می‌کنند. اما آنها به احتمال زیاد کد ناامن می نویسند، در حالی که معتقدند امن است، و حتی آن را بدون آزمایش به تولید می رسانند. در سال ۲۰۲۴، به احتمال زیاد شاهد اولین آسیب پذیری های نرم افزاری بزرگ منتسب به کدهای تولید شده توسط هوش مصنوعی خواهیم بود. موفقیت استفاده از ابزارهای هوش مصنوعی برای ساختن نرم‌افزار منجر به اعتماد بیش از حد به نتایج و در نهایت نقضی می‌شود که خود هوش مصنوعی را مقصر می‌دانند.

برای جلوگیری از چنین تجربه‌ای، صنعت به‌طور کلی باید رویه‌های توسعه‌ای را دوچندان کند که تضمین می‌کند کد نوشته شده توسط توسعه‌دهندگان و هوش مصنوعی، تجزیه و تحلیل، آزمایش و مطابق با استانداردهای کیفیت و امنیتی است. مهم است که سازمان‌ها فرآیندهایی بسازند که از تجزیه و تحلیل، آزمایش و بازبینی کد اطمینان حاصل کنند تا بتوان به آن اعتماد کرد، صرف نظر از اینکه چگونه نوشته شده است.

این شیوه‌ها بافری را برای توسعه‌دهندگان ایجاد می‌کند تا از تولیدکنندگان کد هوش مصنوعی بدون خطر استفاده کنند – هم اکنون و هم در آینده. اکنون این مهم است زیرا ابزارهای هوش مصنوعی مولد جدید و نسبتاً ابتدایی هستند و برای هدایت آنها در مسیر درست به نظارت انسانی زیادی نیاز دارند. همچنین در آینده مهم است زیرا هوش مصنوعی مولد، و فناوری که از آن استفاده می کند، به سرعت در حال تکامل است. ما نمی دانیم که در آینده چگونه خواهد بود، اما می دانیم که بدون ابزارها و فرآیندهای کنترل کد، ممکن است متوجه نشویم که در حال استقرار چه چیزی هستیم.

تدوین پیش از زمان برای JVM پیشنهاد شده است

تمرکز بر روی کد پاک

با افزایش استفاده از ابزارهای هوش مصنوعی برای ایجاد کد، سازمان‌ها باید بررسی‌ها و توازن‌های مناسبی را برای اطمینان از پاک بودن کدی که می‌نویسند-قابل نگهداری، قابل اعتماد، باکیفیت و ایمن- انجام دهند. اگر رهبران می‌خواهند موفق شوند، باید کد پاک را در اولویت قرار دهند. .

کد پاک – کدی که سازگار، عمدی، قابل انطباق و مسئولیت پذیر است – نرم افزار با کیفیت بالا را در طول چرخه عمر خود تضمین می کند. با توجه به تعداد زیادی از توسعه دهندگان که به طور همزمان روی کد کار می کنند، ضروری است که نرم افزار نوشته شده توسط یک توسعه دهنده به راحتی توسط توسعه دهنده دیگری در هر مقطع زمانی قابل درک و تغییر باشد. با کد پاک، توسعه‌دهندگان می‌توانند بدون صرف زمان زیادی برای کشف زمینه یا تصحیح کد از اعضای تیم دیگر، سازنده‌تر باشند.

وقتی نوبت به تولید انبوه کد با کمک هوش مصنوعی می‌رسد، حفظ کد تمیز برای به حداقل رساندن ریسک‌ها و بدهی‌های فنی ضروری است. پیاده‌سازی رویکرد «پاک کردن به هنگام کدگذاری” با آزمایش و تجزیه و تحلیل مناسب بسیار مهم است. برای اطمینان از کیفیت کد، چه کد تولید شده توسط انسان باشد و چه توسط هوش مصنوعی.

در مورد انسان‌ها، من فکر نمی‌کنم توسعه‌دهندگان از بین بروند، اما روشی که آنها هر روز کار خود را انجام می‌دهند قطعا تغییر خواهد کرد. روشی که توسعه دهندگان از هوش مصنوعی استفاده می کنند به همان اندازه ساده و معمولی خواهد بود که جستجو در گوگل برای چیزی به عنوان یک میانبر. در مورد استفاده از هوش مصنوعی مدرن چیزهای زیادی وجود دارد که باید بررسی شود، و ما باید عنصر انسانی را در خط مقدم بررسی کنیم تا معایب هوش مصنوعی را بررسی کنیم.

بهترین شیوه‌ها برای قابلیت مشاهده

با حصول اطمینان از اینکه نرم‌افزار تولید شده توسط هوش مصنوعی حاوی کد پاک است، سازمان‌ها می‌توانند به خود کمک کنند تا قربانی معایب احتمالی هوش مصنوعی مانند اشکالات ظریف یا نقص‌های امنیتی نشوند و می‌توانند ارزش بیشتری را از نرم‌افزار خود به روشی قابل پیش‌بینی و پایدار دریافت کنند. زمانی که وضعیت و آینده توسعه نرم افزار به عنوان یک حرفه به طور پیچیده ای با ادغام هوش مصنوعی مرتبط باشد، این غیرقابل مذاکره است.

هوش مصنوعی پتانسیل تحول‌آفرینی برای توسعه نرم‌افزار دارد، اما ما نباید اجازه دهیم که بدون بررسی اجرا شود—مخصوصاً زمانی که امروزه کسب‌وکارهای دیجیتال به نرم‌افزاری که زیربنای آن است وابسته هستند.

Phil Nash یک مدافع توسعه دهنده برای Sonar است که به جوامع توسعه دهندگان در ملبورن و در سراسر جهان خدمت می کند. . او عاشق کار با جاوا اسکریپت یا روبی برای ساخت برنامه های کاربردی وب و ابزارهایی برای کمک به توسعه دهندگان است. او را می‌توان در جلسات و کنفرانس‌ها، بازی با فناوری‌ها و APIهای جدید یا نوشتن کد منبع باز پیدا کرد. قبل از کار در Sonar، او یک تبلیغ کننده اصلی توسعه دهنده در Twilio بود.

Generative AI Insights مکانی را برای رهبران فناوری – از جمله فروشندگان و سایر مشارکت‌کنندگان خارجی – فراهم می‌کند تا چالش‌ها و فرصت‌های هوش مصنوعی مولد را بررسی و بحث کنند. این انتخاب گسترده است، از غواصی عمیق فناوری گرفته تا مطالعات موردی گرفته تا نظرات متخصص، اما همچنین ذهنی است، بر اساس قضاوت ما در مورد اینکه کدام موضوعات و درمان‌ها به بهترین وجه به مخاطبان فنی پیشرفته InfoWorld خدمت می‌کنند. InfoWorld وثیقه بازاریابی را برای انتشار نمی پذیرد و حق ویرایش تمام محتوای ارائه شده را برای خود محفوظ می دارد. تماس با doug_dineley@foundryco.com.