ما هیجان زده هستیم که اعلام کنیم آمازون کد Whisperer، یک سرویس مبتنی بر یادگیری ماشین (ML) که با ارائه توصیههای کد بر اساس نظرات طبیعی و کد قبلی توسعهدهندگان به بهبود بهرهوری توسعهدهنده کمک میکند. با CodeWhisperer، توسعه دهندگان می توانند به سادگی یک نظر بنویسند که یک کار خاص را به زبان انگلیسی ساده مشخص می کند، مانند "آپلود یک فایل در S3". بر این اساس، CodeWhisperer به طور خودکار تعیین میکند که کدام سرویسهای ابری و کتابخانههای عمومی برای کار مشخصشده مناسبتر هستند، کد خاص را در لحظه ایجاد میکند، و قطعههای کد تولید شده را مستقیماً در IDE توصیه میکند.
اگرچه ابر با دادن دسترسی بر اساس تقاضا به محاسبات، ذخیره سازی، پایگاه داده، تجزیه و تحلیل و ML، توسعه برنامه های کاربردی را دموکراتیک کرده است، روند سنتی ساخت برنامه های نرم افزاری همچنان به توسعه دهندگان نیاز دارد که زمان زیادی را صرف نوشتن بخش هایی از کدهای دیگ بخار کنند. به طور مستقیم با مشکل اصلی که آنها سعی در حل آن دارند مرتبط است. حتی باتجربهترین توسعهدهندگان نیز به سختی میتوانند با چندین زبان برنامهنویسی، چارچوبها و کتابخانههای نرمافزاری همراه باشند، در حالی که اطمینان حاصل میکنند که از نحو برنامهنویسی صحیح و بهترین شیوههای کدنویسی پیروی میکنند. در نتیجه، توسعهدهندگان زمان قابل توجهی را صرف جستجو و سفارشیسازی قطعات کد از وب میکنند. با CodeWhisperer، توسعهدهندگان میتوانند در IDE متمرکز بمانند و از توصیههای متنی بلادرنگ، که قبلاً سفارشیسازی شده و آماده استفاده هستند، استفاده کنند. حواس پرتی کمتر از IDE و توصیه های آماده برای استفاده و زمان واقعی به شما کمک می کند کارهای کدنویسی خود را سریعتر به پایان برسانید و بهره وری را افزایش دهید.
در این پست، مزایای CodeWhisperer و نحوه شروع به کار را مورد بحث قرار می دهیم.
آوردن قدرت ML به نوک انگشتان توسعه دهنده
CodeWhisperer به عنوان بخشی از افزونه AWS Toolkit برای IDE های اصلی از جمله JetBrains، Visual Studio Code و AWS Cloud9است. در AWS لامبدا کنسول، CodeWhisperer به عنوان یک ویژگی پیشنهاد کد بومی در دسترس است. هنگام راهاندازی، میتوانید از CodeWhisperer برای ایجاد توصیههای کد برای پایتون، جاوا و جاوا اسکریپت استفاده کنید. با رفتن به صفحه افزونه یا افزونه IDE خود و جستجوی AWS Toolkit می توانید AWS Toolkit را نصب کنید.
پس از فعال شدن CodeWhisperer، همزمان با شروع نوشتن کد یا نظرات خود، به طور خودکار توصیه های کد را در IDE خود دریافت می کنید. با ملاقات با توسعه دهندگان در جایی که شما هستید، استفاده و آزمایش CodeWhisperer را آسان می کنیم. میتوانید در عرض چند دقیقه شروع کنید و فوراً از مزایای بهرهوری لذت ببرید.
خیلی بیشتر از تکمیل خودکار سنتی
ابزارهای تکمیل خودکار سنتی تکمیلهای تک کلمهای را ارائه میکنند، برای مثال، فهرستی از ویژگیها یا روشهای یک شی. CodeWhisperer با تولید کل توابع و بلوک های کد منطقی در یک زمان، بهره وری بسیار بهتری را افزایش می دهد. همچنین، CodeWhisperer قصد توسعه دهنده را همانطور که از طریق نظرات ساده انگلیسی بیان شده است، درک می کند. مثال زیر نشان میدهد که چگونه CodeWhisperer کل تابع را برای تبدیل یک فایل JSON به یک فایل CSV تولید میکند، در حالی که قصد توسعهدهنده در مورد استفاده از کلیدهای فایل JSON به عنوان سرفصلهای فایل CSV را در نظر میگیرد.
ساخت برنامههای کاربردی در AWS آسانتر شده است
CodeWhisperer با ارائه توصیه های کد برای رابط های برنامه نویسی برنامه AWS (API) در محبوب ترین سرویس ها، از جمله، استفاده از خدمات AWS را برای توسعه دهندگان آسان می کند. ابر محاسبه الاستیک آمازون (آمازون EC2)، لامبدا، و سرویس ذخیره سازی ساده آمازون (Amazon S3). همانطور که در IDE خود کد می نویسید، CodeWhisperer به طور خودکار نظر را تجزیه و تحلیل می کند، کد را با استفاده از سرویس های ابری مربوطه و کتابخانه های نرم افزار عمومی برای عملکرد مورد نظر جمع آوری می کند، و قطعات کد و حتی کل توابع را مستقیماً در IDE توصیه می کند که بهترین روش ها را برآورده می کنند. مثال زیر نشان می دهد که چگونه CodeWhisperer می تواند کل عملکرد را برای آپلود یک فایل در Amazon S3 با استفاده از رمزگذاری سمت سرور ایجاد کند.
استفاده مسئولانه از قدرت هوش مصنوعی
ما مدل CodeWhisperer را بر روی مقادیر زیادی کد در دسترس عموم آموزش دادهایم تا دقت توصیهها را بهبود ببخشیم. به عبارت ساده، دقت مدل با اندازه داده های آموزشی نسبت مستقیم دارد. و در حالی که این به ما در زمینه دقت کمک کرده است، این نوع مدل ها می توانند برخی از الگوهای ناخواسته را نیز بیاموزند. ما معتقدیم در حالی که هوش مصنوعی بدون شک می تواند بهره وری را افزایش دهد، باید از این قدرت به شیوه ای مسئولانه استفاده کنیم. چند قابلیت برجسته وجود دارد که CodeWhisperer را در این فضا منحصر به فرد می کند.
در AWS، ما دوست داریم بگوییم امنیت شغل صفر است. به همین دلیل است که CodeWhisperer همچنین امکان اجرای اسکن روی کد شما (تولید شده توسط CodeWhisperer و همچنین نوشته شده توسط شما) را برای شناسایی آسیب پذیری های امنیتی فراهم می کند. تصویر زیر عملکرد اسکن امنیتی CodeWhisperer را نشان می دهد. ما یک قطعه کد قرار داده ایم که ممکن است باعث نشت منبع شود. وقتی انتخاب کردی اسکن امنیتی را اجرا کنید، CodeWhisperer این آسیب پذیری را شناسایی کرده و مشکل را نمایش می دهد.
دوم، ما یک ردیاب مرجع ارائه می کنیم که می تواند تشخیص دهد که چه زمانی خروجی های تولید شده ممکن است شبیه به داده های آموزشی خاص باشد. اگرچه مدل یاد گرفته است که چگونه کد بنویسد و بر اساس یادگیری کد کاملاً جدیدی تولید می کند، در موارد بسیار نادر، یک توصیه کد تولید شده مستقل ممکن است شبیه یک قطعه کد منحصر به فرد در داده های آموزشی باشد. CodeWhisperer با اطلاع دادن به شما در صورت وقوع این اتفاق و ارائه اطلاعات مخزن و مجوز، تصمیم گیری در مورد استفاده از کد در پروژه خود را برای شما آسانتر میکند و منابع کد منبع مربوطه را به دلخواه خود تعیین میکند.
CodeWhisperer در زمان واقعی به شما می گوید که توصیه کد فعلی که مشاهده می کنید ممکن است شبیه یک کد مرجع با نمایش یک اعلان در پنجره بازشوی توصیه ها باشد. در تصویر زیر، کد تولید شده مشابه کد مرجعی است که تحت مجوز MIT است. اگر توسعهدهنده این توصیه را بپذیرد، CodeWhisperer اطلاعات پذیرش و مجوز مربوطه را ثبت میکند. سپس می توانید با انتخاب Open CodeWhisperer Reference Panel در زیر گره CodeWhisperer، گزارش مرجع را مشاهده کنید.
در نهایت، ما در حال اجرای تکنیکهایی برای تشخیص سوگیری بر اساس کلیشههای رایج هستیم. ما فیلترهایی را پیادهسازی کردهایم که سوگیری آشکار را در کد تولید شده تشخیص میدهند و توصیههای کدی را که ممکن است مغرضانه و غیرمنصفانه در نظر گرفته شوند حذف میکنند. به عنوان مثال، یک نرم افزار استخدام را تصور کنید که به استخدام مدیران با فهرست کوتاه نامزدها کمک می کند. در صورت تساوی، نرم افزار به منطق تساوی بستگی دارد. در حین ایجاد یک توصیه برای این سناریو، ممکن است یک مدل هوش مصنوعی کدی تولید کند که بر اساس پارامترهای نامناسب به نفع نامزدها باشد. CodeWhisperer میتواند سوگیری را در توصیههای خود تشخیص دهد و قبل از نمایش توصیههایی به توسعهدهنده، آن را فیلتر کند.
باز کردن قفل دستاوردهای بهره وری با CodeWhisperer
حواسپرتی یک چالش همیشگی در هنگام کدنویسی است، بهویژه زمانی که برای جستجوی نمونههای کد و اسناد در وب، نیاز به تغییر زمینه است. Amazon CodeWhisperer با ارائه خودکار پیشنهادات مفید درست در زمانی که به آنها نیاز دارم، مرا بر روی کد متمرکز می کند، بنابراین هرگز مجبور نیستم ویرایشگر خود را ترک کنم.
- رایان گرو، مهندس نرم افزار کارکنان در SmugMug.
ما از همکاری با AWS برای آوردن Amazon CodeWhisperer به پلتفرم IntelliJ هیجانزده هستیم. در JetBrains، هدف ما این است که توسعه نرم افزار را به تجربه ای روان و لذت بخش تبدیل کنیم. در دسترس بودن این افزونه برای ابزارهای ما به توسعه دهندگان کمک می کند تا بر روی IDE خود متمرکز بمانند و نیاز به جستجو و سفارشی سازی کدهای کد از وب را کاهش دهند. از امروز، کاربران IntelliJ IDEA، PyCharm، و WebStorm میتوانند با Amazon CodeWhisperer درست در IDE خود کار کنند و IDEهای بیشتری در آینده نزدیک پشتیبانی خواهند شد.
– مکس شفیروف، مدیر عامل JetBrains.
شروع شدن
در طول دوره پیش نمایش، CodeWhisperer برای همه توسعه دهندگان در سراسر جهان به صورت رایگان در دسترس است. برای دسترسی به این سرویس در پیش نمایش، به لیست انتظار بپیوندید ثبت نام. برای اطلاعات بیشتر در مورد خدمات، مراجعه کنید آمازون کد Whisperer.