AWS Türkçe Blog

Yeni Özelleştirme Kabiliyeti ile Amazon CodeWhisperer ile Artık Daha Verimli Öneriler Üretilebiliyor (Ön İzleme)

Orijinal Makale: Link (Donnie Prakoso)

Amazon CodeWhisperer gibi bir yapay zeka kodlama arkadaşı, geliştiricilerin hızlı ve güvenli bir şekilde kod yazmalarına yardımcı olarak üretkenliklerini artırmayı amaçlamaktadır. Bununla birlikte, belirli durumlarda, geliştiricilerin her gün yoğun olarak kullandıkları dahili kütüphanelerine ve API’lerine dayalı kod önerilerine ihtiyaçları vardır.

Mevcut yapay zeka kodlama yardımcı araçlarının çoğu yalnızca açık kaynak kod üzerinde eğitildiğinden, özel kod depolarını kullanarak kod önerilerini özelleştirme yeteneğinden yoksundurlar. Bu sınırlama, geliştiriciler için çeşitli zorluklar ortaya çıkarmaktadır. Geliştiriciler, dahili kütüphanelerin nasıl doğru kullanılacağını ve güvenlik sorunlarından nasıl kaçınılacağını öğrenmekte zorluk çekmektedir. Büyük kod tabanlarında, bir çalışmayı tamamlamak için hangi kodun yazılması gerektiğini anlamak için saatlerce dokümantasyon okumak gerekir.

Şimdi Ön İzlemede – Amazon CodeWhisperer Özelleştirme Kabiliyeti (Customization Capability)

Bugün, kuruluşların CodeWhisperer’ı özel kod depolarından belirli kod önerileri oluşturacak şekilde özelleştirmesine olanak tanıyan Amazon CodeWhisperer özelleştirme özelliğini (ön izleme aşamasında) duyurmaktan heyecan duyuyorum. Bu özellik sayesinde, Amazon CodeWhisperer Professional üyesi olan geliştiriciler artık kendi dahili kütüphanelerini, API’lerini, paketlerini, sınıflarını ve yöntemlerini içeren gerçek zamanlı kod önerileri alabilecekler.

Varsayalım ki AnyCompany adlı hayali bir yemek dağıtım şirketinde çalışan bir geliştiricisiniz. Size, sürücünün mevcut konumu çevresindeki atanmamışyemek teslimatlarının bir listesini işleme görevi verildi. Önceden, CodeWhisperer atanmamış gıda teslimatlarını işlemek veya sürücünün mevcut konumunu almak için doğru dahili API’leri bilemezdi, çünkü bu genel kullanıma açık bir bilgi değildir.

Artık özelleştirme özelliği sayesinde CodeWhisperer’dan şirketin dahili hizmetleriyle ilgili belirli kodları içeren öneriler sunmasını isteyebilirsiniz. Aşağıdaki ekran görüntüsü, CodeWhisperer’ın sadece bir dizi yorum yazarak dahili kod tabanına dayalı olarak nasıl kod ürettiğini göstermektedir.

CodeWhisperer, dahili kod tabanınızı kullanma özelliğiyle artık amaçlarınızı anlar, hangi dahili ve genel API’lerin görev için en uygun olduğunu belirler ve kod önerileri oluşturur.

Nasıl Çalışır
Yukarıdaki açıklama, CodeWhisperer özelleştirme özelliğini bir geliştirici olarak nasıl kullanabileceğinizi açıkladı. Şimdi, nasıl çalıştığını ve nasıl başlayabileceğinizi paylaşmama izin verin.

Bir customization (özelleştirme) oluşturmak için CodeWhisperer yöneticisi olarak aşağıdaki adımları tamamlamanız gerekir.

  1. Son kullanıcılarınızı CodeWhisperer yöneticisi olarak atayın.
  2. Mevcut kod depolarına bağlanın. AWS CodeStar Connections kullanarak GitHub, GitLab veya BitBucket hesabınızdaki bir veya daha fazla kod deposunu bağlayabilir veya tüm kodunuzu bir Amazon Simple Storage Service (Amazon S3) klasörüne manuel olarak yükleyebilirsiniz.
  3. Bir customization oluşturun. CodeWhisperer, modelini kod tabanınıza göre özelleştirecektir.
  4. Ekip üyeleriniz için özelleştirmeyi etkinleştirin. Özelleştirme oluşturulduktan sonra, ekip üyelerinizin IDE’lerinde otomatik olarak kullanılabilir hale getirmek için özelleştirmeyi inceleyebilir ve manuel olarak etkinleştirebilirsiniz.

Bu özellik iki ana avantaj sağlar: kuruluşlara özel gerçek zamanlı özelleştirilmiş kod önerileri sunmak ve değerli fikri mülkiyetin korunmasını sağlamak. Kuruluşlar artık mevcut kod depolarındaki kodlarını temel alarak kalite ve güvenlik standartlarını karşılayan kodların kullanımını teşvik edebilirler.

Ayrıca CodeWhisperer, AWS Key Management Service’teki (AWS KMS) müşteri tarafından yönetilen anahtarları kullanarak özelleştirme verilerinizi şifreleme seçeneği sunarak kodunuzun güvenliğini sağlamaya yardımcı olur. Bu özelleştirme verileri, özelleştirme işi tamamlandığında silinecektir.

Şimdi Başlayalım
CodeWhisperer özelleştirme özelliğini nasıl kullanabileceğinizi göstereyim.

Başlamak için bir özelleştirme oluşturmam gerekiyor. Amazon CodeWhisperer panosundaki Create customization sayfasına gitmek için yönetici erişimine sahip olmam gerekiyor.

Create customization sayfasında, CodeWhisperer’ın özelleştirmesini istediğim özel kod depolarını bağlayabilirim. Şu anda CodeWhisperer özelleştirme özelliği, AWS CodeStar Connections aracılığıyla GitHub, GitLab ve Bitbucket’a bağlantıyı desteklemektedir. Herhangi bir kod deposunda olmayan kodum varsa, kodumu manuel olarak bir S3 klasörüne yükleyebilir ve Amazon S3 URI’sini tanımlayabilirim.

Aşağıdaki ekran görüntüsü AWS CodeStar Connections kullanarak kod havuzlarımla mevcut bağlantılarım olduğunu gösteriyor. Create new connection (Yeni bağlantı oluştur) seçeneğini seçerek yeni bir bağlantı da oluşturabilirim.

Ardından, CodeWhisperer’ın bağlantıda bulunan kodu temel alarak modeli özelleştirmeye başlayabilmesi için Create Customization (Özelleştirme Oluştur) seçeneğini belirleyebilirim. Bu işlemin tamamlanma süresi kod depolarının boyutuna bağlıdır.

When the customization is ready, CodeWhisperer will not activate it automatically. This gives me the flexibility to activate the customizations just when I need them. But before I demonstrate that, I’d like to explain the evaluation score.

In short, the evaluation score helps me to measure the customization’s accuracy in predicting and providing code recommendations based on the code in my code repositories. It provides a score in one of three categories: 1) Very Good, with a score ranging from 7–10; 2) Fair, with a score ranging from 4–7; and 3) Poor, with a score ranging from 0–4. It’s recommended to activate the customization if the evaluation score is 6 or higher. If the evaluation score is less than desired, I need to make sure that I’m providing enough code for customization and provide a new code dataset that extensively contains references to internal APIs.

Here, I can see the Evaluation score for my customization is 8, and I’m happy with this result. Then, I can select Activate to start using this customization.

Özelleştirme hazır olduğunda, CodeWhisperer bunu otomatik olarak etkinleştirmeyecektir. Bu bana özelleştirmeleri tam ihtiyacım olduğunda etkinleştirme esnekliği sağlar. Ancak bunu göstermeden önce, evaluation score‘u (değerlendirme puanı) açıklamak istiyorum.

Kısacası, evaluation score, özelleştirmenin kod depolarımdaki koda dayalı olarak kod önerileri sağlama ve tahmin etme konusundaki doğruluğunu ölçmeme yardımcı oluyor. Üç kategoriden birinde bir puan sağlar: 1) 7-10 arasında değişen bir puanla Çok İyi; 2) 4-7 arasında değişen bir puanla Orta; ve 3) 0-4 arasında değişen bir puanla Zayıf. Değerlendirme puanı 6 veya daha yüksekse özelleştirmenin etkinleştirilmesi önerilir. Değerlendirme puanı istenenden düşükse, özelleştirme için yeterli kod sağladığımdan emin olmam ve dahili API’lere kapsamlı referanslar içeren yeni bir kod veri kümesi sağlamam gerekir.

Burada, özelleştirmem için Evaluation score‘un 8 olduğunu görebiliyorum ve bu sonuçtan memnunum. Ardından, bu özelleştirmeyi kullanmaya başlamak için Activate‘i seçebilirim.

Özelleştirmeleri etkinleştirdikten sonra, Add users (Kullanıcı ekle) seçeneğini belirleyerek seçilen özelleştirmelere erişimi tanımlayabilirim. Şimdi, Amazon CodeWhisperer Professional düzeyi için kullanıcı olarak eklenen seçili ekip üyeleri için özelleştirmelere erişim verebilirim. Bunu yapmak için, Administering end users sayfasındaki kılavuzu takip edebilirim.

Ardından, ekip üyelerim IDE’lerinde AWS Toolkit aracılığıyla oturum açtıklarında, mevcut özelleştirmeleri görecek ve bunları kullanmaya başlayabilecekler.

Amazon CodeWhisperer ile farklı kod depoları sağlayarak birden fazla özelleştirme oluşturabiliyorum. Bu özellik, belirli ekipler için kod önerileri için özelleştirmeler oluşturmak istediğimde kullanışlıdır.

Yönetici olarak, CodeWhisperer dashboard sayfasına giderek özelleştirmelerin her birinin performansını da izleyebiliyorum. Bu sayfa, kullanıcı etkinliği, CodeWhisperer tarafından kaç kod satırının önerildiği ve ekip üyelerim tarafından kabul edildiği ve IDE’lerden kaç güvenlik taramasının başarıyla yürütüldüğü gibi yararlı verileri özetlemektedir.

Şu anda CodeWhisperer önerilerini Java, JavaScript, TypeScript ve Python ile yazılmış kod tabanlarında özelleştirebilirsiniz. CodeWhisperer tarafından desteklenen diğer dillerde (C#, Go, Rust, PHP, Ruby, Kotlin, C, C++, Shell scripting, SQL ve Scala) yazılmış dosyalar, özelleştirme oluşturulurken veya dahili kod depolarınıza dayalı olarak IDE’de özelleştirilmiş öneriler sağlanırken kullanılmayacaktır.

Genel Ön İzlemeye Katılın
Amazon CodeWhisperer, müşterinin dahili kod tabanından güvenli bir şekilde yararlanarak, benzersiz gereksinimlerinize göre özelleştirilmiş yapay zeka destekli kodlamanın tüm potansiyelini ortaya çıkarır.

Şimdi genel ön izlemeye katılın ve Amazon CodeWhisperer Özelleştirme sayfasından nasıl başlayacağınız hakkında daha fazla bilgi edinin.

Mutlu kodlamalar!