1. Anasayfa
  2. Yapay Zeka

Tabnine ile Yapay Zeka Destekli Kodlama

Tabnine ile Yapay Zeka Destekli Kodlama
Tabnine ile Yapay Zeka Destekli Kodlama
0

AI destekli kodlama, bir geliştirici olarak daha üretken olmanıza, daha hızlı kod yazmanıza, daha az hata yapmanıza ve diğer pencereler ile IDE’niz arasında daha az bağlam geçişi yapmanıza yardımcı olmayı amaçlamaktadır. Ama yapay zeka destekli kodlama gümüş bir kurşun mu, yılan yağı mı yoksa aradaki bir şey mi?

Bu makalede, yapay zeka destekli kodlamayı kullanmanın yararları kadar olası olumsuz yanlarına da bakacağız. Ayrıca JavaScript ve React’te bazı kodlar yazmamıza yardımcı olması için AI destekli kodlama çözümü Tabnine‘yi kullanmanın kısa bir demosunu göstereceğiz.

Yapay Zeka Destekli Kodlama Nedir ve Nasıl Çalışır?

Yapay zeka destekli kodlama, diğer kodlar üzerinde eğitilmiş bir makine öğrenimi modeli tarafından desteklenir. Bu modellerin en iyileri, dünya çapındaki saygın açık kaynak projelerinden alınan milyarlarca satır kod üzerinde eğitilmiştir. Bu eğitim sayesinde model, hangi karakterlerin ve kod satırlarının sıklıkla birbiri ardına geldiğini “öğrenir”. Ardından, kodunuzu yazarken, sizin için doğrudan IDE’nizde otomatik öneri sekmesi tamamlamaları sağlar.

Son derece basit bir örnek olarak, IDE’nize import React yazarsanız, otomatik tamamlama ‘tepki’ gibi bir şey sağlar; ifadenizi bitirmek için.

Ancak yapay zeka destekli kodlama bundan çok daha ileri gider; ayrıca yazdığınız koddan da öğrenir. Model, kodunuzu nasıl yazdığınızı ve tipik olarak hangi kalıpları takip ettiğinizi sürekli olarak inceler. Ayrıca, şirketinizin nasıl kod yazdığını daha iyi anlaması için ekibinizin kod depolarında daha karmaşık bir model eğitebilirsiniz, bu da ekip olarak daha tutarlı olmanıza yardımcı olur.

Faydaları Nelerdir?

Peki neden yapay zeka destekli bir kodlama asistanı kullanmayı tercih ettin? Belki de kendi beynine ve daha az gösterişli bir otomatik önerme özelliğine güvenmeyi tercih edersin.

Yeni başlayanlar için, AI destekli kodlama sizi IDE’nizde tutar ve bağlamın diğer pencerelere geçişini azaltır. Otomatik tamamlama size doğru sözdizimini sağlayabilirse, biraz paslanmış olduğunuz bir API’yi nasıl kullanacağınızı hatırlamak için artık hızlı bir Google araması yapmanız gerekmez. Daha az bağlam değiştirme, daha yüksek üretkenliğe yol açar.

Bu makine öğrenimi modelleri, eğitildikleri kod genellikle en iyi uygulamaları ve iyi bilinen tasarım modellerini takip ettiğinden, sizden daha iyi kod yazmanızı isteyebilir. Bu dürtüler, sizi daha iyi bir geliştirici yapmanıza yardımcı olacak bir öğretim fırsatı olabilir.

Potansiyel Olumsuzluklar Nelerdir?

Şimdi, neden yapay zeka destekli kodlamayı kullanmak istemiyorsunuz?

En büyük endişe gizliliktir. Makine öğrenimi modeli yalnızca genel kod üzerinde değil, yazdığınız kod üzerinde de eğitiliyorsa, bu, kodunuzun potansiyel olarak aynı makine öğrenimi modelini kullanan başkalarıyla paylaşıldığı anlamına gelir. Bu nedenle, AI destekli bir kodlama çözümünü kullanmadan önce, ürünün veri toplayıp toplamadığını veya nasıl paylaştığını anlamak için her zaman ürünün gizlilik bildirimine bakmalısınız.

İkinci endişe, modelin ne kadar iyi eğitildiğidir. Daha önce de belirtildiği gibi, çoğu model milyarlarca kod satırı üzerinde eğitilir. Ama ya bu kod depoları iyi değilse? Eski deyişi bilirsiniz: “Çöp içeri, çöp dışarı.” Model zayıf kod üzerinde eğitilmişse, aldığınız öneriler de aynı derecede zayıf olacaktır.

Demo Zamanı

Peki, yapay zeka destekli kodlama pratikte ne kadar faydalı? Bunu öğrenmek için 30’dan fazla programlama dilini ve 21 IDE’yi destekleyen popüler bir çözüm olan Tabnine ile bir test sürüşü yapmalısınız. Örneğin; VS Code uzantısı yaklaşık üç milyon indirmeye sahiptir.

Uzantıyı yüklemek, Yükle düğmesine tıklamak, modelin başlatılması için birkaç dakika beklemek ve ardından makinenizde VS Code‘u yeniden başlatmak kadar basittir. Tabnine, web sitesinde, modelin yalnızca makinenizde yerel olarak çalıştığını ve verilerinizin paylaşılmadığını belirten, belirgin bir şekilde öne çıkan bir gizlilik bildirimine sahiptir. Bu kurulumla ilgili harika olan şey, verileriniz başka kimseyle paylaşılmamasına rağmen, modelin hala kodunuz üzerinde (yerel olarak) eğitiliyor olmasıdır, bu nedenle, siz onu kullandıkça öneriler daha iyi hale gelir.

Tabnine‘i kurduktan ve kullanıma hazır hale getirdikten sonra kodlamaya başlayın. Bu demo için JavaScript ve React’te çok basit bir giriş formu yazarak başlayabilirsiniz. Form, kullanıcı adı ve şifre girişlerinin yanı sıra bir gönder düğmesi içersin. Bu kullanıcı arayüzü yeterince basit olsun.

Giriş Formunun Yapısını Oluşturma

Aşağıda, giriş formu için JSX yazarkenki kısa bir ekran kaydı örneği mevcut;

Demo Giriş Formu için JSX Örneği

Önerilerden bazılarının yararlı olduğunu, bazılarının ise yaramadığını fark edeceksiniz. Import ifadesi kusursuz çalışıyor ve LoginForm bileşen adının dosya adıyla eşleşmesi önerisi yardımcı oluyor.

İşlev bileşeni ve return ifadesi için ortak kod kodunu ayarlarken çok fazla yararlı öneri gözükmüyor.

Daha sonra iki girdi öğesini oluşturun ve işte sihir burada karşımıza çıkıyor. <label yazdıktan sonra, o satırın geri kalanı sizin için önerilecektir. Kullanıcı adı için bir etiket öğesi olduğunu ve daha sonra bir giriş öğesi oluşturduğumu bilen AI asistanı, metin girişi için kodun çoğunu oluşturuyor.

Aynı şey şifre girişi için de oluşuyor, bu mantıklı çünkü bir kullanıcı adı girişini genellikle bir şifre girişi takip ediyor. Ancak bu sefer giriş için AI asistanı bizim için bir id özelliği ekliyor. Öğreniyor!

Son olarak, etiketi her öğe kümesinin girişine bağlamak için htmlFor niteliğini ekleniyor. Her zamanki gibi, otomatik tamamlama, kullanıcı adının ilk kullanımında bizim için mücadele ediyor, ancak daha sonra şifre için eklendiğinde öneri tam isabetli geliyor. Muhteşem!

Formu Etkileşimli Hale Getirmek

Artık JSX’i yerleştirdiğimize göre, formun gönderme olayı ve iki girdinin değişiklik olayları için olay işleyicilerini eklemek için JavaScript‘in geri kalanını yazmamız gerekiyordu. Bunun nasıl olduğuna bir göz atalım:

Demo Giriş Formu için JSX Örneği 2

Bu videoda benzer bir desen fark edeceksiniz. Başlangıçta, öneriler pek yardımcı olmuyor. Ancak, daha fazla kod yazdıkça, model yaptığınız şeyi yakaladıkça öneriler gelişiyor.

Örnekte olduğu gibi; HandleSubmit işlevini oluştururken, Event nesnesi e’yi kendinizin sağlaması gerekiyor. Ancak e.pre yazdıktan sonra model, e.preventDefault(); öğesini çağırmak istediğimizi bilecektir. Ardından, bu olay işleyicisini formun onSubmit yöntemine eklememiz gerektiğinde, model tam olarak ne yapmak istediğimizi biliyor olacaktır.

İki değişiklik işleme işlevini oluştururken, useState kancasını kullanarak kullanıcı adı kurulumunun çoğunu kodu yazanın oluşturması gerekiyor. Ancak şifre için aynı kalıbı tekrar izlediğinde, yapay zeka asistanı tam yanında ve ihtiyacımız olan kodla beliriveriyor.

Bu eğilim tutarlı görünüyor: Bir kez kendi başınıza bir şeyler yapın ve model sessizce gözlemliyor ve öğreniyor. Aynı şeyi ikinci kez yapın ve model yardım etmeye hazır!

Bu öğrenme durumunu “Yapay Zeka ve Dijital Dönüşüm” kitabımda paylaşmıştım.

Yapay Zeka ve Dijital Dönüşüm

Sonuç Bağlamı

Yapay zeka destekli kodlama ilginç bir deneyimdi. Şimdiye kadar Tabnine ile oynamak için sadece birkaç saat harcarsanız, olumlu bir değer katacağını görebilirsiniz. Otomatik önerilerle çalışmaya alıştığınızda, üretkenliğinizin hızla artacağını söyleyebilirim.

Gerçek güç, aynı kod kalıplarını tekrar tekrar yazmanın sıkıcılığını otomatikleştirmede yatıyor gibi görünüyor. Neden bir AI asistanının bu konuda yardım etmesine izin vermiyorsunuz?

AI destekli kodlama çözümleri daha yaygın hale geliyor. Gizlilik endişeleri gerçektir, bu nedenle rahat edeceğiniz bir telemetri düzeyine sahip bir çözüm seçerken akıllı olun. Duruşunuz ne olursa olsun, üretkenliği konusunda ciddi olan herhangi bir geliştiricinin en azından AI destekli kodlama çözümlerini denemesi gerektiğini düşünüyorum.

Hasan YILDIZ, Girişimci. Doktora Öğrencisi. Yazmayan YAZILIMCI. Veri Şeysi. Eğitmen...

Yazarın Profili

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir