Agentic Coding Nasıl Yapılır? Yapay Zeka Ajanlarıyla Yazılım Geliştirme
Yapay zeka ajanlarıyla kod geliştirmenin adımları: araç ve yetki sınırları, bağlam yönetimi, insan gözetimi, güvenlik ve sık yapılan hatalar.
Agentic coding nedir?
Agentic coding, yapay zeka modelinin yalnızca kod önermekle kalmayıp bir hedef doğrultusunda çok adımlı iş yaptığı geliştirme biçimidir. Ajan dosyaları okur, komut çalıştırır, testleri çalıştırıp sonucuna bakar, hatayı düzeltir ve yeniden dener. Siz hedefi ve sınırları verirsiniz; ajan araçları kullanarak bu hedefe doğru döngü içinde ilerler.
Bu, sohbet penceresinden kod parçası kopyalamaktan farklıdır. Orada her adımı siz uygularsınız. Ajan yaklaşımında model, geliştirme ortamındaki araçlara erişir ve eylemi kendisi yapar. Bu yüzden asıl beceri, "bir şey yazdırmak" değil; ajanı iyi tarif edilmiş bir görev, doğru bağlam, sınırlı yetki ve güçlü bir doğrulama yöntemiyle çalıştırmaktır.
Başlamadan önce hangi temeller gerekir?
Ajan işi hızlandırır ama yargıyı sizin yerinize vermez. Üretilen kodu değerlendirebilmek için şunlar gerekir:
- Kullandığınız dilde ve çerçevede yeterli okuma gücü: Ajanın yazdığı kodun ne yaptığını anlamadan kabul etmek riskli.
- Sürüm kontrolü (Git): Ajanın yaptığı değişiklikleri küçük parçalar halinde incelemek ve gerektiğinde geri almak için.
- Test alışkanlığı: Testler, ajan için de insan için de doğrulama aracıdır.
- Komut satırı ve geliştirme ortamı bilgisi.
Hiç kod bilmeden ajanla uygulama üretmek mümkün görünse de bakım, güvenlik ve hata ayıklama sorumluluğu bir insanda kalır. Başlangıçta küçük ve geri alınabilir görevlerle çalışmak en güvenli yoldur.
Adım adım: ajanla bir görevi yürütmek
Bir ajan görevi şu akışla ilerlediğinde çıktı kalitesi belirgin biçimde yükselir:
- Görevi tarif edin: Hedefi, kabul ölçütünü ve dokunulmaması gerekenleri yazın. "Giriş sayfasını düzelt" yerine, hangi davranışın hatalı olduğunu ve beklenen davranışı belirtin.
- Bağlamı verin: İlgili dosyaları, proje kurallarını ve kod standartlarını ajanın erişebileceği yerde tutun (örneğin proje talimat dosyası).
- Önce plan isteyin: Ajanın neyi değiştireceğini kodlamadan önce özetlemesini isteyin ve sapmaları erkenden düzeltin.
- Küçük adımlarla ilerleyin: Büyük işi parçalayın; her parça ayrı doğrulanabilsin.
- Doğrulamayı otomatikleştirin: Testleri ve tip denetimini ajanın kendisi çalıştırsın, sonucu görsün.
- İnceleyin ve birleştirin: Değişiklik farkını (diff) bir insan gözden geçirir, ancak ondan sonra kabul edilir.
Pratik bir ipucu: ajanın her tamamlanan adımdan sonra neyi değiştirdiğini ve neyi çalıştırdığını kısaca raporlamasını isteyin. Bu rapor, değişiklik farkını incelerken beklenti ile gerçeği karşılaştırmanızı sağlar; rapor ile fark uyuşmuyorsa ajan kapsamın dışına çıkmış demektir.
Araç tasarımı, yetki sınırları ve bağlam yönetimi
Ajanın gücü eriştiği araçlardan gelir: dosya okuma-yazma, komut çalıştırma, arama, dış hizmetlere istek. Her araç aynı zamanda risk yüzeyidir. Prensip en az yetkidir: ajan yalnızca görevi için gereken dizinlere ve komutlara erişebilmeli; silme, dağıtım, veritabanına yazma gibi geri dönüşü zor eylemler açık onay gerektirmelidir.
Bağlam yönetimi ikinci kritik konudur. Modelin tek seferde görebildiği bilgi sınırlıdır; uzun oturumlarda önemli kararlar ve kısıtlar unutulabilir. Çözüm olarak proje kurallarını kalıcı bir yönerge dosyasında tutmak, uzun görevleri ara özetlerle ilerletmek ve ilgisiz dosyaları bağlama sokmamak önerilir. Bellek mekanizmaları (oturumlar arası notlar) kullanırken bu notların da yanlış ya da eskimiş olabileceğini unutmayın.
İnsan gözetimi ve güvenlik
Ajanın ürettiği kod, gözden geçirilmemiş bir geliştirici katkısı gibi ele alınmalıdır. Özellikle şunlara dikkat edin:
- Gizli bilgiler: Anahtar, parola ve jetonların koda ya da kayıt dosyalarına yazılmasını engelleyin; ajana üretim erişimi vermeyin.
- Bağımlılıklar: Ajan var olmayan ya da güvensiz bir paketi önerebilir. Yeni bağımlılıkları kontrol edin.
- Girdi doğrulama ve yetkilendirme: Ajanlar mutlu yolu iyi yazar, kenar durumları ve güvenlik kontrollerini atlayabilir.
- Komut enjeksiyonu: Ajan okuduğu dosya ya da sayfadaki talimatları görev sanabilir. Güvenilmeyen içeriği işleyen ajanın yetkisini daraltın.
İnsan gözetimi her adımı onaylamak anlamına gelmez; riskle orantılı olmalıdır. Düşük riskli, geri alınabilir işlerde ajana özerklik verin, yüksek riskli eylemlerde onay isteyin.
Örnek senaryo: hata düzeltme görevi
Örneğin bir ekipte siparişlerin bazı koşullarda iki kez kaydedildiği bildirilmiş. Geliştirici ajana hatanın nasıl yeniden üretileceğini, hangi modülde aranacağını ve düzeltmenin mevcut testleri bozmaması gerektiğini yazar. Ajan önce hatayı yeniden üreten bir test yazar ve başarısız olduğunu gösterir. Sonra ilgili kodu inceler, kök nedeni bir yarış koşulunda bulur ve düzeltme önerir.
Ajan düzeltmeyi uygular, testleri çalıştırır ve geçtiğini görür. Geliştirici değişiklik farkını okur, çözümün kapsamını ve yan etkilerini değerlendirir, gerekirse kenar durum testi ekletir. Son olarak değişiklik normal gözden geçirme sürecinden geçer. Burada ajan zamanı kazandırır; sorumluluk ve son karar insanda kalır.
Aynı akış yeni bir özellik için de geçerlidir, ancak hata düzeltmeye göre karar noktası daha fazladır. Özellikte önce ajanla kabul ölçütlerini yazıp onaylamak, sonra arayüz, veri ve test katmanlarını ayrı küçük işler olarak vermek gerekir. Böylece her parça bağımsız incelenir ve yanlış bir varsayım erken yakalanır.
Sık yapılan hatalar
- Belirsiz görev vermek: Muğlak istek, ajanın varsayımla ilerlemesine ve kapsamı aşan değişikliğe yol açar.
- Doğrulamasız ilerlemek: Test ve tip denetimi olmadan ajanın "tamamladım" demesine güvenmek.
- Büyük değişiklikleri tek seferde kabul etmek: Geniş farkların incelenmesi zordur; hata gözden kaçar.
- Aşırı yetki vermek: Ajana üretim ortamı, geniş dosya sistemi ya da silme yetkisi açmak.
- Kodu anlamadan birleştirmek: Bakımı yapılamayan, sahibi anlamadığı bir kod tabanı birikir.
- Maliyeti izlememek: Uzun ve kontrolsüz ajan döngüleri hem zaman hem kullanım maliyeti üretir; hedef ve duruş koşulu belirleyin.
Mindset programlarında nerede çalışılır?
Mindset'in Yapay Zeka Ajanlarıyla Geliştirme Otomasyonu (Agentic Coding) programı şu modülleri içerir: Ajan Mimarisi ve Temel Kavramlar, Araç Tasarımı ve Yetki Sınırları, Bağlam ve Bellek Yönetimi, İnsan Gözetimi ve Güvenlik, Geliştirme İş Akışına Entegrasyon, Değerlendirme, Maliyet ve Proje Teslimi.
İlgili Mindset programı
Yapay Zeka Ajanlarıyla Geliştirme Otomasyonu (Agentic Coding)
Sık sorulan sorular
Agentic coding ile vibe coding aynı şey mi?
Birbirine yakın ama farklı vurgular taşır. Vibe coding, kodu çok az inceleyerek doğal dille uygulama üretmeyi anlatan gündelik bir ifadedir. Agentic coding ise ajanın araç kullanıp döngüde çalıştığı yapıyı ve insan gözetimi, test, yetki sınırı gibi mühendislik disiplinini vurgular.
Yapay zeka ajanı geliştiricinin yerini alır mı?
Mevcut kullanımda ajan, geliştiricinin kapsamı iyi tarif edilmiş işleri hızlandıran bir yardımcısıdır. Mimari karar, güvenlik değerlendirmesi, ürün bağlamı ve sorumluluk insanda kalır. Rol, kod yazmaktan yönlendirme ve gözden geçirmeye doğru kayar.
Ajana hangi işleri verebilirim?
Başlangıç için sınırları net ve doğrulanabilir işler uygundur: test yazma, küçük hata düzeltme, belgeleme, basit yeniden düzenleme. Mimari kararlar, güvenlik açısından hassas kod ve geri dönüşü zor eylemleri insan gözetiminde tutun.
Ajanın ürettiği kodun doğruluğunu nasıl denetlerim?
Üç katmanla: otomatik testler ve tip denetimi, değişiklik farkının insan tarafından satır satır incelenmesi ve gerçekçi bir ortamda çalıştırarak deneme. Ajanın kendi yazdığı testlerin yalnızca mutlu yolu sınayıp sınamadığına bakın; kenar durumlar ve hata senaryoları için ek test isteyin. Yeni bağımlılık ve güvenlikle ilgili değişikliklere ayrıca dikkat edin.