13 puan yazan GN⁺ 2024-04-11 | 1 yorum | WhatsApp'ta paylaş
  • GPT-3.5/GPT-4 ile pair programming yaparken yerel git deposunda kayıtlı kodları düzenlemeyi sağlayan bir komut satırı aracı
  • aider, yerel kaynak dosyalardaki kodu doğrudan düzenler ve uygun commit mesajlarıyla değişiklikleri git commit olarak kaydeder
  • Yeni bir projeye başlayabilir veya mevcut bir git deposunda çalışabilirsiniz
  • aider'in benzersiz yanı, mevcut büyük kod tabanlarında değişiklik talep edebilmenizdir

Başlıca özellikler

  • Düzenlenecek kaynak dosyalarıyla birlikte komut satırından aider'i başlatarak kod hakkında GPT ile sohbet edebilirsiniz. aider üzerinden GPT bu dosyaların içeriğini görür ve düzenler
  • GPT; Python, JavaScript, TypeScript, PHP, HTML, CSS gibi en popüler dillerin çoğunda kod yazabilir ve düzenleyebilir
  • Kod için yeni özellikler, değişiklikler, iyileştirmeler veya hata düzeltmeleri isteyebilirsiniz. Yeni test senaryoları, güncellenmiş dokümantasyon veya kod refaktörü talep edebilirsiniz
  • aider, GPT'nin önerdiği düzeltmeleri doğrudan kaynak dosyalara uygular
  • aider, açıklamalı commit mesajlarıyla her değişiklik setini yerel git deposuna otomatik olarak commit eder. Bu sık otomatik commit'ler bir güvenlik ağı sağlar. Değişiklikleri kolayca geri alabilir veya standart git iş akışını kullanarak daha uzun değişiklik dizilerini yönetebilirsiniz
  • Birden fazla kaynak dosya aynı anda aider ile kullanılabilir; böylece GPT, tek bir değişiklik seti/commit içinde tüm dosyalara yayılan kod değişikliklerini koordine edebilir
  • aider, GPT-4'e tüm git deposunun bir haritasını sağlayabilir; bu da büyük kod tabanlarını anlamasına ve değiştirmesine yardımcı olur
  • aider ile sohbet ederken editörü kullanarak dosyaları manuel olarak da düzenleyebilirsiniz. aider bu bant dışı düzenlemeleri algılar ve GPT'yi dosyaların en güncel sürümüyle senkron tutar. Böylece aider sohbeti ile editör arasında gidip gelerek GPT ile iş birliği içinde kod yazabilirsiniz
  • OpenAI üzerinden doğrudan GPT-4 kullanıyorsanız görsel dosyalarını bağlama ekleyebilirsiniz; bu durumda otomatik olarak gpt-4-vision-preview modeline geçilir

Sohbet içi komutlar

  • aider, sohbet içinde / ile başlayan komutları destekler. En kullanışlı sohbet içi komutlardan bazıları:
    • /add : eşleşen dosyaları sohbet oturumuna ekler
    • /drop : eşleşen dosyaları sohbet oturumundan çıkarır
    • /undo: işlem aider tarafından yapıldıysa son git commit'ini geri alır
    • /diff: son aider commit'inin diff çıktısını gösterir
    • /run : shell komutu çalıştırır ve isteğe bağlı olarak çıktıyı sohbete ekler
    • /voice: kod değişikliklerini sesle istemek için aider ile konuşur
    • /help: tüm komutlar için yardım gösterir

İpuçları

  • Değişiklik yapmak için hangi dosyaların düzenlenmesi gerektiğini düşünün ve onları sohbete ekleyin. aider, GPT'nin düzenlemesi gereken dosyaları bir ölçüde kendi başına belirleyebilir, ancak en etkili yöntem gerekli dosyaları açıkça sizin eklemenizdir
  • Büyük değişiklikler, yaklaşımın ve genel tasarımın planlandığı dikkatli adımlar dizisiyle yapılmalıdır. GPT'yi sanki birlikte çalışan junior bir geliştiriciymiş gibi yönlendirin. Önce hazırlık için refaktör isteyin, ardından asıl değişikliği talep edin. Kod kalitesi/yapı iyileştirmeleri istemeye zaman ayırın
  • GPT faydalı bir yanıt üretmiyorsa Control-C kullanarak güvenle durdurabilirsiniz. Kısmi yanıt konuşmada kalır; böylece GPT'ye daha fazla bilgi veya yönlendirme ile cevap verirken buna başvurabilirsiniz
  • Testleri, linter'ları vb. çalıştırmak ve çıktıyı GPT'ye göstererek sorun çözmek için /run komutunu kullanabilirsiniz
  • Çok satırlı sohbet mesajları girmek için Meta-ENTER'ı (bazı ortamlarda Esc+ENTER) kullanabilirsiniz. Alternatif olarak ilk satıra yalnızca {, son satıra ise yalnızca } yazarak çok satırlı mesaj başlatıp bitirebilirsiniz
  • Kodda hata oluşursa /run kullanın veya hata çıktısını sohbete yapıştırarak GPT ile paylaşın. GPT'nin hatayı bulup düzeltmesini sağlayın
  • GPT birçok standart araç ve kütüphane hakkında bilgi sahibidir, ancak API'ler ve fonksiyon argümanlarıyla ilgili bazı ayrıntıları yanlış anlayabilir. Bu sorunları çözmek için dokümantasyon parçalarını sohbete yapıştırabilirsiniz
  • GPT yalnızca özellikle "sohbete eklediğiniz" dosyaların içeriğini görebilir. aider ayrıca tüm git deposunun haritasını da GPT-4'e gönderir. Bu nedenle GPT, isteğiniz için gerekli olduğuna karar verirse ek dosyaları görmek isteyebilir

GN⁺ görüşü

  • aider, büyük projelerde kod tabanı genelinde tutarlı değişiklikleri kolayca uygulamayı mümkün kılabilir. Özellikle GPT-4'ün yetenekleriyle birleştiğinde daha da güçlü görünüyor
  • Ancak GPT'nin önerdiği değişiklikleri koşulsuz kabul etmek yerine, geliştiricinin bunları bizzat gözden geçirip test etmesi gereken bir süreç var gibi görünüyor. GPT modelleri henüz kusursuz olmadığından hata oluşma ihtimali de bulunuyor
  • aider yalnızca kod için değil, dokümantasyon veya test senaryosu yazımı için de faydalı olabilir. GPT'nin doğal dil anlama yeteneğiyle daha yüksek kaliteli dokümanlar ve test kodları hızlıca üretilebilir
  • CLI tabanlı olması erişilebilirlik açısından iyi, ancak editör eklentileri gibi yollarla geliştirme ortamına daha sıkı entegre olursa geliştirici verimliliğine büyük katkı sağlayabilir
  • GitHub Copilot gibi benzer yapay zeka destekli pair programming araçlarına kıyasla ayırt edici avantajının, GPT-4 kullanımı ve git tabanlı iş akışı olduğu söylenebilir. Mevcut araçlarla artı ve eksi yönlerinin karşılaştırılması ilgi çekici olurdu

1 yorum

 
GN⁺ 2024-04-11
Hacker News görüşleri

Aşağıda Hacker News yorumlarının özeti yer alıyor:

  • AI araçları kullanılırken prompt yazımı ve sonuçların gözden geçirilmesi çok zaman alabildiğinden, doğrudan işi yapmaktan daha verimsiz olabilir. Yeni çözümler araştırılırken doğruluk açısından da sınırlı görünüyor.
  • Aider’a benzer işlevlere sahip, terminal tabanlı Plandex adlı bir proje var. Git tarzı bir CLI kullanıyor ve birden fazla dosyaya yayılan karmaşık işlere odaklanıyor.
  • Claude kullanarak duyarlı web sitesi tasarımı yapan birinin deneyimi paylaşılıyor. Uzun bağlamı korumada başarılı olduğu ve karışık HTML/CSS/JS kod tabanlarını iyi ele alabildiği belirtiliyor.
  • Go uygulamalarında AI araçları kullanılırken değişken kapsamı kuralları gibi konuları doğru anlayamadığı için hata üreten bir örnek paylaşılıyor. Bu da güvenilirlik konusunda soru işaretleri doğuruyor.
  • JetBrains gibi mevcut IDE’lerle entegrasyonun yetersiz olması eleştiriliyor. GitHub Copilot gibi mevcut araçlarla birlikte kullanım deneyimleri de paylaşılıyor.
  • Aider’ın LLM performans kıyaslama sonuçlarına ilgi var. GPT-4 Turbo with Vision modelinin önceki modellere göre daha düşük performans gösterdiği belirtiliyor.
  • AI araçlarının çıktı kalitesi hâlâ kusursuz değil; bu yüzden gerçek kullanımda sınırlamalar var. İnce hatalar hâlâ görülüyor.