Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, bir konuşmacının GitHub Copilot'un temel özelliklerini ve kullanımını adım adım anlattığı kapsamlı bir eğitim içeriğidir.
- Video, GitHub Copilot'un Mart 2024 durumunu ele alarak, VS Code üzerinden Azure Function projesi oluşturma, kod doğrulama, hata düzeltme, test yazma, workspace oluşturma, commit mesajı yazma, pull request oluşturma ve konsolda yardım alma gibi çeşitli kullanım alanlarını göstermektedir. Konuşmacı, Copilot'un GPT-4 modeli üzerine kurulu olduğunu, context aware olduğunu ve her seferinde aynı cevabı vermeyeceğini vurgulamaktadır.
- Videoda ayrıca Copilot'un C# kodları, PowerShell, ARM şablonları ve GitHub Actions gibi farklı dosya tiplerini nasıl anlayabildiği, statik analiz yerine güvenlik taraması için kullanılabileceği ve kurumsal kullanım için özel olarak tasarlanmış olduğu gibi önemli bilgiler de paylaşılmaktadır.
- 00:00GitHub Copilot Tanıtımı
- Video, Mart 2024'teki GitHub Copilot'un mevcut durumunu ve özelliklerini göstermek amacıyla hazırlanmıştır.
- Konuşmacı, Visual Studio Code (VSCode) kullanarak bir proje oluşturarak GitHub Copilot'un nasıl çalıştığını göstermektedir.
- GitHub Copilot, kodun içerisinde çalışan inline bir ekran olarak çalışır ve IDE'nin içindeki kodlara dikkat eder.
- 01:18GitHub Copilot'un Avantajları
- GitHub Copilot, kodunuzu başka bir platforma taşımak ve kontekst bilgilerini aktarmak zorunda kalmadan kod üretmenizi sağlar.
- Bu platformda redli miting yoktur, yani kullanıcılar istedikleri kadar kullanabilirler.
- Kurumsal olarak satın alınan GitHub Copilot, şirketin özel ve private kodlarının data training için kullanılmamasını garanti eder.
- 02:48GitHub Copilot'un Çalışma Prensibi
- GitHub Copilot, makinede çalışan bir uygulama değil, cloud'da çalışan bir modeldir ve şu anda GPT-4 kullanmaktadır.
- Prompt engineering (prompt mühendisliği) kavramı burada da geçerlidir, bu konu daha ayrıntılı olarak başka bir video ile ele alınmıştır.
- Kullanıcılar İngilizce veya Türkçe olarak prompt yazabilirler.
- 03:42GitHub Copilot Kullanımı
- Kullanıcılar prompt yazarak (örneğin "create project class with name") kod üretimi isteyebilirler.
- "Regenerate" düğmesi ile istenmeyen kod üretimi durumunda yeni bir kod üretimi istenebilir.
- Kullanıcılar feedback verme seçeneğine sahiptir.
- 05:42GitHub Copilot'un Kontekst Bilgisi
- GitHub Copilot, dosyanın içeriğine dikkat ederek (örneğin product class'ı) kod üretimi yapar.
- Kullanıcının belirtmediği bilgileri (örneğin HTTP API) kendisi anlayarak kod üretimi yapabilir.
- GitHub Copilot, prompt'ların sadece prompt olduğu değil, dosyanın içeriğindeki bilgileri de dikkate alarak çalıştığı için kullanıcıların her şeyi açıkça belirtmesine gerek kalmaz.
- 07:19GitHub Copilot'un Kullanım Dikkat Edilmesi
- GitHub Copilot'un ürettiği kodlar her zaman yüzde yüz doğru olmayabilir, bu nedenle kullanıcıların üretilen kodları kontrol etmesi gerekir.
- GitHub Copilot, bir copilot (otopilot) olduğu için sadece yardımcı olması amaçlı çalışır ve istatistiksel bir sonuç üretir.
- 08:10Kod Validasyonu ve Hata Ayıklama
- Konuşmacı, bir kod validasyonu örneği gösteriyor ve e-posta validasyonunda exception yakalama yönteminin tercih edilmediğini belirtiyor.
- Chatbot'a "name contain email" sorusu sorarak daha spesifik bir validasyon talebi yapıyor ve chatbot'un prompt'ların önemini kanıtladığını vurguluyor.
- Chatbot'un incontext (kontekst içi) kullanımını gösteriyor ve açık dosyaları otomatik olarak algılayıp kontekstini yakalayabildiğini açıklıyor.
- 11:14Kod Düzenleme ve Hata Ayıklama
- Bir taypo (yazım hatası) yaratarak, chatbot'un hata tespit ve düzelme yeteneğini test ediyor.
- Chatbot'un sadece kod dillerine değil, tamamen text prosesing yapabildiğini ve IDE entegrasyonu sayesinde açık dosyaları otomatik olarak algılayabildiğini gösteriyor.
- Chatbot'un kod bloklarını referans alarak ve kontekstini yakalayarak cevap verebildiğini vurguluyor.
- 13:14Test Kodu Oluşturma
- Chatbot'a test kodu yazma talebiyle, workspace'i kullanarak test kodu yazma özelliğini gösteriyor.
- Chatbot'un belirli bir library kullanarak test kodu yazabildiğini ve fiziksel dosyaları takip ederek test kodu oluşturabildiğini açıklıyor.
- Daha önce yazılan test kodlarını örnek göstererek aynı formasyonu kullanarak test kodu yazma imkanı olduğunu belirtiyor.
- 14:26Farklı Dosya Türleri İçin Kullanım
- PowerShell dosyası için, lokaldeki dosyaları bulup Azure'a yükleme kodu yazma talebiyle chatbot'un PowerShell scripti yazabildiğini gösteriyor.
- JSON dosyası için ARM template oluşturma talebiyle chatbot'un ARM template yaratma yeteneğini test ediyor.
- ARM template içindeki parametreleri anlatarak ve dışarı çekme talebiyle chatbot'un template içindeki bilgileri açıklama yeteneğini gösteriyor.
- 18:08Workspace Oluşturma
- Chat interface üzerinden yeni bir workspace yaratma talebiyle chatbot'un proje yapısı oluşturabildiğini gösteriyor.
- Var olan bir projeye chatbot eklemeyi deneyerek, chatbot'un workspace'den projeden bilgi alabildiğini açıklıyor.
- Var olan bir projede yeni bir API yazma talebiyle chatbot'un mevcut projeyi analiz etme ve yeni proje önerme yeteneğini test ediyor.
- 22:51GitHub Copilot ile Codebase İnceleme
- GitHub Copilot, tanımadığınız bir codebase'e geldiğinizde size rehberlik ederek hangi dosyalara gidip ne yapmanız gerektiğini gösteriyor.
- Copilot, projenin yapısını anlayıp size yönlendirmeler yaparak, bilmediğiniz bir kod tabanına girdiğinizde işinizi kolaylaştırıyor.
- 23:41GitHub Copilot ile Git İşlemleri
- GitHub Copilot, git deposunda branch yaratırken otomatik commit mesajı önerileri sunuyor.
- Pull request yaratırken de otomatik pull request summary oluşturabiliyor ve dosyaların içeriğinden özet çıkartabiliyor.
- Copilot'ın bu özellikleri pull request review sürecinde çok işe yarıyor.
- 25:44GitHub Copilot'ın Kullanım Alanları
- GitHub Copilot, sadece GitHub Enterprise'da kullanılabilir ve repo seçip o repo kontekstinde chat diyaloğu kurabilirsiniz.
- Repoları indeksleme seçeneği bulunuyor ve özellikle şirket içi repolar için avantajlı.
- GitHub Enterprise tarafında admin bu ayarları yapabiliyor, kullanıcıların kendilerinin ayarlaması gerekmeyebilir.
- 26:42GitHub Copilot CLI
- GitHub Copilot CLI beta aşamasında bulunuyor ve terminalde kod yazarken size yardımcı olabiliyor.
- Terminalde "github.copilot" komutuyla çalıştırılabiliyor ve git komutları veya shell komutları hakkında yardım isteyebilirsiniz.
- CLI versiyonu da beta olduğu için bazı komutlarda hatalı cevaplar verebiliyor.
- 28:24GitHub Copilot'ın Kısıtlamaları
- GitHub Copilot, güvenlik taraması için kullanılabilir ancak statik analiz yerine geçmiyor.
- Bu bir el elem olarak düşünülmeli ve diğer analiz araçlarıyla birlikte kullanılmalı.
- Copilot'ın şu anda API'si yok, ancak Azure OpenAI ile otomasyon yazılabiliyor.
- 31:12GitHub Copilot'ın Amacı
- GitHub Copilot sadece programlama ile ilgili sorulara cevap verebiliyor, genel bilgi sorularına cevap vermiyor.
- Copilot'ın amacı kod üretmek veya kodunuzu işlemek, bu bir NLP ortamı olarak düşünülmeli.
- Her amaçla kullanılmaması gerekiyor, sadece kod geliştirme süreçlerinde yardımcı olması amaçlanıyor.